Solve
- To: mathgroup at smc.vnet.net
- Subject: [mg2060] Solve
- From: FERRUCCIO Renzoni <renzoni at fexphds04.tu-graz.ac.at>
- Date: Sat, 23 Sep 1995 20:33:50 -0400
Dear wizards,
I have to solve the sistem a.x = v where v= {1,0,0,0,0,0,0,0,0} and a is
a 9x9 symbolic matrix. If I use LinearSolve[a,v] I get an enormous
expession, so I think should be possible invert the system "step by
step", for exemple using:
x = {x1,x2,x3,x4,x5,x6,x7,x8,x9};
Do[ eqn[i] = { a[[i]].x == v[[i]]} ,{i,1,9}]
a = Solve[ eqn[1],x1][[1]];
b = Solve[ Simplify[eqn[2] /.a],x2][[1]];
c = Solve[ Simplify[eqn[3] /.a/.b],x3][[1]];
d = Solve[ eqn[4] /.a/.b/.c,x4][[1]];
e = Solve[ eqn[5] /.a/.b/.c/.d,x5][[1]];
f = Solve[ eqn[6] /.a/.b/.c/.d/.e,x6][[1]];
l = Solve[ eqn[7] /.a/.b/.c/.d/.e/.f,x7][[1]];
m = Solve[ eqn[8] /.a/.b/.c/.d/.e/.f/.l,x8][[1]];
n = Solve[ eqn[9] /.a/.b/.c/.d/.e/.f/.l/.m,x9][[1]];
m = Solve[ eqn[8] /.n,x8][[1]]
l = Solve[ eqn[7] /.n/.m,x7][[1]]
f = Solve[ eqn[6] /.n/.m/.l,x6][[1]]
e = Solve[ eqn[5] /.n/.m/.l/.f,x5][[1]]
d = Solve[ eqn[4] /.n/.m/.l/.f/.e,x4][[1]]
c = Solve[ eqn[3] /.n/.m/.l/.f/.e/.d,x3][[1]]
b = Solve[ eqn[2] /.n/.m/.l/.f/.e/.d/.c,x2][[1]]
a = Solve[ eqn[1] /.n/.m/.l/.f/.e/.d/.c/.b,x1][[1]]
sol = x/.a/.b/.c/.d/.e/.f/.l/.m/.n
In this way I obige Mathematica to simplify step by step the expression,
avoiding the generation of too many terms. The problem is: it takes
several days! Maybe someone of you know how to solve a simbolic system
in efficient way, without generating enormous expressions?
Thanks in advance
F. Renzoni
renzoni at fexphds04.tu-graz.ac.at