MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

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?





  • Prev by Date: RE: RE: Options
  • Next by Date: RE: RE: Why do parentheses spuriously appear when I type in a formula?
  • Previous by thread: Re: Solving an equation
  • Next by thread: Re: Re: Solving an equation