dear Maxima users and experts,
currently I'm solving systems of linear equations in *matrix-form*, e.g.:
(%i1) A : matrix( [1,2], [4,5] );
(%i2) X : matrix( [x],[y] );
(%i3) B : matrix( [3],[6] );
(%i4) A.X=B;
The matrix equation (i4) shows the linear system in standard equationial form.
Because is it not (yet?) possible to write (as e.g. in MUPAD) ..
(%i5) solve( A.X=B );
.. I have written a small helper function for my students
to hide the call of lu_factor and lu_backsub:
(%i16) solveLS(A,B):=block([M], load("linearalgebra"),
M : lu_factor(A,generalring),
lu_backsub(M,B))$
Now this works (and is similar to (i5)):
(%i17) solveLS(A,B);
It is also possible to partial solve A.X=B via echelon:
(%i19) echelon(addcol(A,B));
Here are my questions:
(Q1) does anyone has implemented an 'gaussJordan' version of echelon,
doing also the backsubst part of gauss elimination?
(Q2) Is it somehow possible to realize a call like (%i5)?
(Q3) any comments to the routine solveLS?
HTH Wolfgang