This is trivial from the GiNaC tutorial: I suppose you know about evalm() Javier On Wed, 2010-06-23 at 13:19 +0200, Felipe Bordeu wrote:
any ideas ?
Thanks.
On 18/06/2010 15:06, Felipe Bordeu wrote:
Hello,
I have a little problem, I'm dealing functions made of matrix products.
My question is, how can "force" ginac to convert automatically all the 1by1 matrices to scalars?. or do I have to do it manually??
Here is a simple example.
void main2(){ ex m1=symbolic_matrix(1, 3, "x"); ex m2=symbolic_matrix(3, 1, "y");
cout << m1 << std::endl; cout << m2 << std::endl; ex m3 = (m1*m2).evalm(); cout << m3 << std::endl; cout << ex_to<matrix>(m3)(0,0)<< std::endl;; ex m4 = m3-ex_to<matrix>(m3)(0,0); cout << m4 << std::endl; }; the output :
[[x0,x1,x2]] [[y0],[y1],[y2]] [[y1*x1+y2*x2+y0*x0]] y1*x1+y2*x2+y0*x0 -y1*x1+[[y1*x1+y2*x2+y0*x0]]-y2*x2-y0*x0
the last line "should" be zero ?--
thanks
Felipe
_______________________________________________ GiNaC-list mailing list GiNaC-list@ginac.de https://www.cebix.net/mailman/listinfo/ginac-list