GithubHelp home page GithubHelp logo

Comments (7)

certik avatar certik commented on May 18, 2024
**Owner:** ---  

Original comment: http://code.google.com/p/sympy/issues/detail?id=15#c1

Original author: https://code.google.com/u/104039945248245758823/

from sympy.

certik avatar certik commented on May 18, 2024
Working on this. As an application, I chose calculations of matrix elements in the
quantum field theory.

**Status:** Started  
**Owner:** ondrej.certik  

Original comment: http://code.google.com/p/sympy/issues/detail?id=15#c2

Original author: https://code.google.com/u/104039945248245758823/

from sympy.

certik avatar certik commented on May 18, 2024
The symbolic matrices are quite a special kind of objects, because they are not
immutable, contrary to all other sympy classes. We want them to be used as:

a = Matrix( [ [1,0], [0,1] ])
a[0,1] = x**2

So I think Matrix shouldn't be a subclass of Basic. If the user wants to calculate
with symbols of matrices, he can use the NCSymbol class. And if he wants to
substitute the actual matrix for the symbol, he can just some method of Matrix, or
subs(). 

The thing is, I think there is no need of storing matrices in an expression. It seems
to me, it is sufficient to always convert the whole expression with matrices to a
single matrix, which can be achieved by overloading *,+, etc for the Matrix class.

**Labels:** Milestone-Release0.3  

Original comment: http://code.google.com/p/sympy/issues/detail?id=15#c3

Original author: https://code.google.com/u/104039945248245758823/

from sympy.

certik avatar certik commented on May 18, 2024
The basic matrices work. 

The linear algebra (determinants, Gaussian elimination, eigenvalues) still needs to
be implemented though, but I am leaving this for later, when we need this
functionality in some other algorithm.

**Status:** Accepted  
**Owner:** ---  
**Labels:** -Milestone-Release0.3  

Original comment: http://code.google.com/p/sympy/issues/detail?id=15#c4

Original author: https://code.google.com/u/104039945248245758823/

from sympy.

certik avatar certik commented on May 18, 2024
**Summary:** Linear algebra (determinants, eigenvalues, elimination)  

Original comment: http://code.google.com/p/sympy/issues/detail?id=15#c5

Original author: https://code.google.com/u/104039945248245758823/

from sympy.

certik avatar certik commented on May 18, 2024
BTW, for creating a 'pure symbolic' matrix, this syntax would be nice
(idea from maple):

> > > A = Matrix(2,2, symbol='x')
> > > A
> > >     [ x_1_1   x_1_2 ]
> > >     [ x_2_1   x_2_2 ]

It's only syntactic sugar. The above would be equivalent to:

> > > A = Matrix([[0,1],[1,0]])
> > > for i in range(2):
> > > ...    for j in range(2):
> > > ...        A[i, j] = Symbol('x_%s_%s' % (i, j))

But it comes handy when you create matrices that mostly have symbols
inside. I
just remembered that when I used maple, this was a time-saving way of
creating matrices that mostly store symbolic unknown values.

It comes handy when you want to calculate with the
matrix elements symbolically, but you don't know anything more about
them. Right, I agree, I'll put that into the issues.

Original comment: http://code.google.com/p/sympy/issues/detail?id=15#c6

Original author: https://code.google.com/u/104039945248245758823/

from sympy.

certik avatar certik commented on May 18, 2024
Implemented.

**Status:** Fixed  

Original comment: http://code.google.com/p/sympy/issues/detail?id=15#c7

Original author: https://code.google.com/u/104039945248245758823/

from sympy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.