Solution to System with Unknown Variables n > 4

  • Thread starter Thread starter uwowizard
  • Start date Start date
  • Tags Tags
    System
uwowizard
Messages
14
Reaction score
0
I'm looking for a general-case method to find at
least one solution to a system such as

a_0 = a_1*x_1 + ... + a_n*x_n
b_0 = b_1*x_1 + ... + b_n*x_n
x_1 + ... + x_n = 1
0<= x_1, ... , x_n <= 1

where a_i, b_i are known real numbers, x_i are unknown and n > 4

Thank you in advance.
 
Physics news on Phys.org
If I understand, you can write your system this way:
\left(\begin{array}{cccc}<br /> a_1&amp;a_2&amp;\cdots&amp;a_n\\<br /> b_1&amp;b_2&amp;\cdots&amp;b_n\\<br /> 1&amp;1&amp;\cdots&amp;1\\<br /> 0&amp;0&amp;\cdots&amp;0\\<br /> \vdots&amp;\vdots&amp;\ddots&amp;\vdots\\<br /> 0&amp;0&amp;\cdots&amp;0<br /> \end{array}\right)\cdot<br /> \left[<br /> \begin{array}{c}x_1\\x_2\\\vdots\\x_n\end{array}<br /> \right]=\left[<br /> \begin{array}{c}<br /> a_0\\b_0\\1\\0\\\vdots\\0<br /> \end{array}\right]

If you put:

\mathbf{x}=\left[<br /> \begin{array}{c}x_1\\x_2\\\vdots\\x_n\end{array}<br /> \right]

\mathbf{b}=\left[<br /> \begin{array}{c}<br /> a_0\\b_0\\1\\0\\\vdots\\0<br /> \end{array}\right]

A=\left(\begin{array}{cccc}<br /> a_1&amp;a_2&amp;\cdots&amp;a_n\\<br /> b_1&amp;b_2&amp;\cdots&amp;b_n\\<br /> 1&amp;1&amp;\cdots&amp;1\\<br /> 0&amp;0&amp;\cdots&amp;0\\<br /> \vdots&amp;\vdots&amp;\ddots&amp;\vdots\\<br /> 0&amp;0&amp;\cdots&amp;0<br /> \end{array}\right)

it can be written for short as A\cdot\mathbf{x}=\mathbf{b}

You can use http://en.wikipedia.org/wiki/Gaussian_elimination" (I think :D )

Or probably I have not understood the problem :P
 
Last edited by a moderator:
Thanks for the reply. However, the system

a_0 = a_1*x_1 + ... + a_n*x_n
b_0 = b_1*x_1 + ... + b_n*x_n
x_1 + ... + x_n = 1

will have an infinite amount of solutions, and the problem is how to select at least one that satisfy the inequality.

0<= x_1, ... , x_n <= 1
 
Sorry, I didn't focus on that condition :D
 
uwowizard said:
have an infinite amount of solutions, and the problem is how to select at least one that satisfy the inequality.

0<= x_1, ... , x_n <= 1

That's the big problem here. A lot of the numerical techniques that solve systems of equations either have a square matrix (Gauss-Seidel) or have more equations than unknowns (least-squares).

Whenever you have the case of more unknowns than equations, you have a certain degree of freedom. In this case, you're free to choose whatever values you want for most of the variables (choose simple values between 0 and 1). The real question though is that when you solve for the remaining variables, will you get something between 0 and 1? I would try this, but I can't think of any other method, unless you're willing to do brute force and obtain an approximation answer.
 
Back
Top