id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
12075,Create callable matrices in function notation,kcrisman,burcin,"In [http://groups.google.com/group/sage-support/browse_thread/thread/6c11a5fed4fb39b5 this sage-support post], the poster wants the following notation to work.
{{{
R_theta(theta)=matrix(SR,[[cos(theta),sin(theta),0],[-sin(theta),cos(theta),0],[0,0,1]])
}}}
This is sort of #1722 on steroids.
In the thread above, there are a number of good ideas. The final one is
{{{
I think this would be a good project for a person wanting to learn more
about how to do Sage development. The modifications to
symbolic_expression should be easy (check for a nested list/tuple
structure). Then you would need to make a new function() method, in
$SAGE_ROOT/devel/sage/sage/matrix/matrix2.pyx probably, that would
create a corresponding matrix over the CallableSymbolicRing. You can
see an example for vectors in
$SAGE_ROOT/devel/sage/sage/modules/free_module.pyx (look for ""def
function"" in that file).
Then if you are ambitious, create a new matrix subclass for callable
symbolic expressions that mirrors what
$SAGE_ROOT/devel/sage/sage/modules/vector_callable_symbolic_dense.py
does for vectors (i.e., changes the printing).
}}}[[Image()]]",enhancement,needs_work,major,sage-6.4,symbolics,,sd35.5,jason,,Geoffrey Ehrman,,N/A,,,,,