On 02/20/2012 10:00 PM, Aaron Meurer wrote:
I updated the section on that page about ground types to be a little
clearer about what we want there.  Many things will actually involve
improvements to Poly() to get things to work (for example, the
addition of a Frac() class).

Aaron Meurer

On Mon, Feb 20, 2012 at 7:40 PM, Aaron Meurer<[email protected]>  wrote:
On Mon, Feb 20, 2012 at 2:19 PM, Matthew Rocklin<[email protected]>  wrote:
Hi Everyone,

I would like to create a general tensor/linear algebra framework for SymPy.
I'd like to hear ideas from the community about this.

We already have a few linear algebraic projects within SymPy
(i.e. Matrices, SparseMatrices, MatExprs, Indexed/IndexedBase code
generation, Physics stuff, Geometric Algebra (sort of)) but they don't
communicate well. It would be nice to create a general and abstract
framework off of which these projects and others could hang and interact
more naturally.

I'm writing the community about this for two reasons.
Reason one: I'd like feedback as to whether or not this sort of undertaking
is a good idea. If it is I'd welcome some thoughts on how it should be done
and how it could be useful for future work.
Definitely.  One problem right now is that a lot of modules duplicate
work, because we don't really have a good centrailzed module for
things.  For example, over GCI, a student merged together three
independent KroneckerDelta implementations (one in
sympy/physics/quantum, one in sympy/physics/secondquant, and one in
sympy/functions/special/tensor_functions.py).  No doubt there are
other things still duplicated.

That's also why even if we are implementing some of these things to
help with physics, we should try to separate mathematical concepts
from physical concepts in the implementation.

Reason two: I think I can separate this work into a few pieces, each of
which would make for a good GSoC project for this year or next. Is this
endeavor something into which the community would want to invest resources?
I think so. Some projects may depend on others (e.g., we're limited in
what we can do with slow matrices).  But feel free to do this and add
the ideas to the GSoC ideas page.  That page needs more ideas that
have more descriptions on them (like the ones at the bottom).  Not
only will this help potential students, but it will help us a lot when
we apply.

Aaron Meurer

Here are some projects that interest me

Framework design - we need a sufficiently general framework (this is hard
and probably has to be half completed before GSoC time)
Abstract Vector Spaces
Tensor Math - Krastanov was talking about this and I think it's a great
idea. There is a lot of good multilinear algebra out there that SymPy
doesn't currently touch at all.
General storage - Efficient NDArray classes (dense, mutable, sparse,
functional, numpy, external programs) - views of NDArrays (transpose,
slices).
Theorem proving type system for
tensors/matrices 
http://scicomp.stackexchange.com/questions/74/symbolic-software-packagbasic 
es-for-matrix-expressions

I've dumped some thoughts on the following wiki page
https://github.com/sympy/sympy/wiki/Linear-Algebra-Vision

Comments or questions are welcome.

-Matt

--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sympy?hl=en.
I am rewriting the geometric algebra module using noncommuting symbols to represent base vectors and base multivectors and let general multivectors be linear combinations of the base multivectors and let sympy do the heavy lifting with regard to simplification and other operations. The current GA module was written before I understood what sympy could do and is a real mess from the point of view of being an extensible module.

Someone should employ all the inherent abilities of sympy to write a module for Tensors using Penrose's abstract index http://en.wikipedia.org/wiki/Abstract_index_notation notation especially allowing for simplifications using tensor symmetries and also allow for symbolic differentiation.


--
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to