[GiNaC-list] GiNaC::marix::solve(..) problem
Jens Vollinga
jensv at nikhef.nl
Tue Jun 2 19:35:08 CEST 2009
Hi,
Lisa Maletzki schrieb:
> I have a smallish problem with the method mentioned above
> (matrix::solve(..)). I have two nxn numeric matrices A and b (from the
> equation Ax=b) and of course want the matrix x in the end but I keep on
> getting the error that the first argument must be a matrix of symbols.
> Now my question how can I do that? I tried it with ex
> symbolic_matrix(..) but I couldn't get it to work since it is of the
> type ex and not matrix.
take the following example as a guide:
matrix A(2,2);
A = 1, 2, 3, 4;
symbol x1("x1"), x2("x2");
matrix x(2,1);
x = x1, x2;
matrix b(2,1);
b = 5, 6;
cout << A.solve(x, b) << endl;
As the manual warns, you will get an exception thrown if the system is
overdetermined. A more robust version is shown in the following example
using no matrices:
symbol x1("x1"), x2("x2");
lst equations;
equations.append(1*x1 + 2*x2 == 5);
equations.append(3*x1 + 4*x2 == 6);
cout << lsolve(equations, lst(x1,x2)) << endl;
Regards,
Jens
More information about the GiNaC-list
mailing list