RE: Re: Solving an equation
- To: mathgroup at smc.vnet.net
- Subject: [mg34548] RE: [mg34495] Re: Solving an equation
- From: "DrBob" <majort at cox-internet.com>
- Date: Mon, 27 May 2002 01:16:47 -0400 (EDT)
- Reply-to: <drbob at bigfoot.com>
- Sender: owner-wri-mathgroup at wolfram.com
I count TEN unknowns (x, y, b1, b2, b3, b4, c1, c2, c3, and c4) and EIGHT equations, as each of the following resolves to four: eqn1 = Flatten[Thread /@ Thread[ a*x + b*y == c]] eqn2 = Flatten[Thread /@ Thread[b.c == c.b]] Still... there are two more unknowns than equations, so it isn't surprising that Solve gives three solutions. If the equations were linear in all ten variables (but they're not) the general solution would be a linear combination of these three. Solve[Join[eqn1, eqn2], {x, y, b1, b2, b3, b4, c1, c2, c3, c4}] {{x -> -((b4*c3)/b3) + c4, c1 -> (b1*c3 - b4*c3 + b3*c4)/b3, y -> c3/b3, c2 -> (b2*c3)/b3}, {x -> c4 - b4*y, c1 -> c4 + b1*y - b4*y, c2 -> 0, c3 -> 0, b2 -> 0, b3 -> 0}, {x -> -((b4*c2)/b2) + c4, c1 -> (b1*c2 - b4*c2 + b2*c4)/b2, y -> c2/b2, c3 -> 0, b3 -> 0}} All solutions put various constraints on b and c. For instance, the second solution makes b and c diagonal. The third makes them both upper-diagonal. Bobby Treat -----Original Message----- From: Jens-Peer Kuska [mailto:kuska at informatik.uni-leipzig.de] To: mathgroup at smc.vnet.net Subject: [mg34548] [mg34495] Re: Solving an equation Hi, four equations and two unknows ? It can't have a general solution a = {{1, 0}, {0, 1}}; b = {{b1, b2}, {b3, b4}}; c = {{c1, c2}, {c3, c4}}; eqn = Flatten[Thread /@ Thread[ a*x + b*y == c]] s1 = Solve[Take[eqn, 2], {x, y}] s2 = Solve[Take[eqn, -2], {x, y}] s3 = Solve[Take[RotateRight[eqn], 2], {x, y}] for every solution the remaining two equations are conditions (eqn /. Join[s1, s2, s3] // Simplify ) /. True -> Sequence[] {(b3*c2)/b2 == c3, (b2*c1 - b1*c2 + b4*c2)/b2 == c4}, {(b1*c3 - b4*c3 + b3*c4)/b3 == c1, (b2*c3)/b3 == c2}, {(b2*(c1 - c4))/(b1 - b4) == c2, (b3*(c1 - c4))/(b1 - b4) == c3}} Regards Jens PSi wrote: > > I want to solve the following equation with Mathematica 4.1: > a*x+b*y=c > where x, y are the unknown scalars, > a={{1,0},{0,1}}, > b={{b1,b2},{b3,b4}}, > c={{c1,c2},{c3,c4}}, > the matrices b, c commute, and the matrix b is not a scalar multiple of the unit > matrix a. > Could anybody help?