Substitution using Dictionary with Matrix as Value

i like this post (click again to cancel)
1
i dont like this post (click again to cancel)

As a newcomer to SAGE, trying to use it to do symbolic linear algebra, I am wondering why substitution of a variable using a dictionary doesn't work in this case:

sage: aMatrix = matrix(SR,1,1)
sage: var('aVariable')
aVariable
sage: aDict = {}
sage: aDict[aVariable] = aMatrix
sage: aDict[aVariable]
[0]

but:

sage: aVariable.subs(aDict)
....
/Applications/sage/local/lib/python2.7/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression.substitute (sage/symbolic/expression.cpp:16025)()

/Applications/sage/local/lib/python2.7/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression.coerce_in (sage/symbolic/expression.cpp:11265)()

/Applications/sage/local/lib/python2.7/site-packages/sage/structure/parent_old.so in sage.structure.parent_old.Parent._coerce_ (sage/structure/parent_old.c:3369)()

/Applications/sage/local/lib/python2.7/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.coerce (sage/structure/parent.c:8912)()

TypeError: no canonical coercion from Full MatrixSpace of 1 by 1 dense matrices over Symbolic Ring to Symbolic Ring

Functionality to substitute matrices for variables seems to be indispensable to doing symbolic linear algebra, so I am sure there is a proper way to do this.

asked Jun 14 '12

heatkernel gravatar image heatkernel
29 1 4

updated Jun 14 '12

i like this answer (click again to cancel)
1
i dont like this answer (click again to cancel) heatkernel has selected this answer as correct

Symbolic expressions do not support working with Sage matrices. There are different approaches to do "linear algebra" in this context though.

  • Indexed expressions

    This is GiNaC's solution. Our symbolics library pynac is based on GiNaC, so we just inherit this functionality. Although it hasn't been wrapped for easy use from Python.

    There is an experimental patch at #11576, but the GiNaC tutorial is the best reference.

  • SymbolicMatrixAlgebra as Nicolas Thiery implemented in this thread.

Any help to get these things in a polished state so they can be included in Sage is welcome.

link

posted Jun 16 '12

burcin gravatar image burcin
1058 10 31
http://erocal.org/burcin

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[hide preview]

Question tools

2 followers

Tags:

Stats:

Asked: Jun 14 '12

Seen: 71 times

Last updated: Jun 16 '12

powered by ASKBOT version 0.7.22
Copyright Sage, 2010. Some rights reserved under creative commons license.