> > So how do you propose Cadabra would work with SymPy or CSymPy? Would > there be some core in Cadabra, that works well with SymPy, that people can > use to > build useful things upon it, or just use it for calculations?
The way this will work is that there are 'cadabra.Ex' objects which represent cadabra tensor expressions. These can be manipulated with cadabra algorithms. For example, from cadabra import * Indices( Ex('{m,n,p,q,a,b}') ) ex =Ex( 'A_{m n} ( C^{n p} + D^{n p} )' ) rule=Ex( 'C^{a b} -> M_{m} D^{m a b}' ) substitute(ex, rule) print(ex) would give A_{m n} ( M_{q} D^{q n p} + D^{n p} ) You can then assign scalar expressions to the components of tensors in tensor expressions (again using a cadabra notation as above). And then you can extract components of tensors as sympy expressions. To expand on the above, Symbol( 'x, y' ) assign:=Ex(' A_{0 1} = 3 x, A_{0 2} = y**2, D^{0 1 2} = x y, ...' ) Extract( ex, assign, 'm=1, p=2' ) would give you a Sympy expression for the m=1, p=2 component of the composite tensor defined earlier (the notation in this last bit is not yet set in stone, I am experimenting with different options). So essentially all tensor computation happens within Cadabra, with its own symbolic tree for tensor expressions which is independent of Sympy), and if you want to do component computations you have a way to extract components from tensors in the form of Sympy expressions. Hope that makes it a little bit more clear. Cheers, Kasper -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/1e9dd4a8-d2c6-4b86-982c-b7fe32f86252%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.