0
$\begingroup$

Given a solution to the matrix equation $A\vec{x} = \vec{b}$ on the form $\vec{x}(t)$, how can I choose the parameter t such that all entries in $\vec{x}$ are squeezed between 0 and 1? That is, for any entry $x_n$:

$0\leq x_n \leq 1$.

I intend to implement this restriction in an algorithm, and I want to avoid having to iterate through values of the parameter $t$. Additionally, how would I check if such there really is a value $t$ where all entries in $\vec{x}(t)$ is squeezed between 0 and 1?

$\endgroup$
5
  • $\begingroup$ Do you have an explicit form for $x(t)$? If so, normalize the vector as follows: $x \mapsto \frac{x}{\|x\|}$. $\endgroup$ Aug 4, 2015 at 21:03
  • $\begingroup$ In the case where no value of t will give a solution $x(t)$ where all entries are between 0 or 1, then I will 'normalize' by dividing each entry with max{x}. In any case where there is a value of t in which $x(t)$ satisfies my restriction, I would like to efficiently find that value of t. $\endgroup$
    – Tom V M
    Aug 4, 2015 at 21:09
  • $\begingroup$ @KevinSheng In general the vector $x/\|x\|$ isn't a solution of $Ax = b$ if $x$ is a solution... $\endgroup$
    – A.P.
    Aug 4, 2015 at 21:10
  • $\begingroup$ I see, I think I have misunderstood your question @TomVM. Could I have a bit more context? $\endgroup$ Aug 4, 2015 at 21:11
  • $\begingroup$ A solid body in space has thrusters placed on it, able to accelerate the body in certain directions. These thrusters all have a maximum amount of thrust, given by their entries in A, hence the restriction. The vector $x$ represent the percentage of power needed for each thruster to acheive an acceleration $\vec{b}$. In the case where there are an infinite number of solution, I want to find the solution $x(t)$ where the percentages are all below 1 and above 0. (If it exists) $\endgroup$
    – Tom V M
    Aug 4, 2015 at 21:19

1 Answer 1

1
$\begingroup$

In general it is very difficult to just "inspect" your equation $Ax = b$ by hand and tell if there is a solution that will have all entries in $x$ that satisfy certain inequalities. What you CAN do, in this case, is formulate a linear programming feasibility problem:

$$Ax = b, \,\,\,\,\, 0 \leq x_i \leq 1, \,\,\,\, \forall i$$.

And this is possible because all the inequalities on the $x_i$ are linear combinations of the $x_i$ set to be less than or equal or greater than or equal to (or strictly equal to) some constant. There is a lot of free software available online to find a feasible solution to a linear programming problem, and you can even find an "optimal" feasible solution that maximizes $c \cdot x$ for any vector $c$ that you want.

If your vector $x$ is parametrized by an argument $t$ that defines a curve, then the problem is basically impossible to decide without explicitly knowing and being able to work with the form of $x(t)$ as a function of $t$. Just imagine the feasibility region: You can define infinitely many curves $x(t)$ that pass through the feasibility region and infinitely many curves that don't. And they can basically look like anything. How are you going to decide whether an arbitrary given curve $x(t)$ intersects the feasibility region?

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .