Software for multiplication of matrices

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
13 replies · 3K views
mr. bean
Messages
4
Reaction score
0
Software for multiplication of matrices

I'm going to do a lot of matrix multiplications, since I'm computing Jarlskog invariants. I would like to know if there is a great program for doing a lot of matrix multiplications? I tried with Maple but at some point it gives up. My matrices are not very large: 3x3 or 2x2, but the elements get quite complicated, since I do matrix multiplication of 8 matrices.

I do not have access to Mathematica, but would that be a possibility?

MATLAB seems complicated, since I'm using functions and letters.

I think someone talked about that Latex could do computations?

What are your suggestions? :)
 
Physics news on Phys.org
Latex is typically used to rende4 matrices for your manuscript not for doing calculations.

Matlab is quite a powerful tool which specializes in matrix manipulation. Many engineers and scientists use it in daily life. It's pricey if you're not a student though. It comes with many optional toolkits for more specialized work.

http://www.mathworks.com/examples/matlab

An alternative to mat lab would be Julia, an open source language with syntax very similar to mat lab but perhaps faster execution speeds.

If you get the anaconda distribution of Julia and Python you'll have a couple of options to consider for your work.

You should check around your dept to see what others are using. They can tell you xperiences better and you'll have someone to go to right there. Also you could check with Jarlskog to see what math tools were used in her research. You might be able to contact her at the perimeter institute and it would be a great way to setup a connection for the future.
 
Krylov said:
Do you mean that your calculations are symbolical?
Yes I do.
 
mr. bean said:
Yes I do.
Then I don't think MATLAB is helpful. It has an optional symbolical toolbox, but you would be better advised to use a system capable of symbolical calculations directly. I think that
Nidum said:
may not be useful either for symbolical calculation, but that poster can perhaps say more about this.

Like you, I use MAPLE myself. It suits my needs, even for quite heavy symbolical (multi)linear algebra, such as the calculation of normal forms for local bifurcations in ODE. Mathematica should have more or less the same capabilities. Both packages cost money. Both packages have student licenses.

An allegedly powerful package that may be worth checking out is Magma. Also see this comparison, which includes free as well as non-free packages.
 
Last edited:
Wiki has a good summary of sympy capabilities especially nice is the final conversion to latex for rendering.

https://en.m.wikipedia.org/wiki/SymPy

http://docs.sympy.org/latest/modules/physics/unitsystems/examples.html

Mathematica would be another option although it's pricey but perhaps not so much for students and it also has a cloud based version i.e. you'lll need a web browser to work with the online version.

http://www.wolfram.com/mathematica
 
Last edited:
Thank you all for the suggestions. I will try again with Maple and Mathematica.
 
For small order matrices you mention the free and pretty darn good Maxima would likely suffice. A bit of a learning curve, but not worse than Maple/Mathematica.
http://maxima.sourceforge.net/
 
Krylov said:
Then I don't think MATLAB is helpful. It has an optional symbolical toolbox, but you would be better advised to use a system capable of symbolical calculations directly. I think that ...

Matlab is capable of doing symbolic matrix multiplication, and is actually really simple (just trying to expel any fears of the OP). MATLAB is an option for symbolic multiplication.
 
perplexabot said:
Matlab is capable of doing symbolic matrix multiplication, and is actually really simple (just trying to expel any fears of the OP). MATLAB is an option for symbolic multiplication.
In my quote I didn't say that MATLAB is not capable of symbolic manipulation.

However, you need to purchase a separate toolbox for symbolic mathematics in MATLAB (the symbolic "mtimes" function is part of that toolbox). Also, I do not think that for demanding symbolic tasks it can compete with CAS. For lighter tasks it may be convenient, because one can do everything in one environment.

Everybody is at liberty to try, of course.

Similarly, I do not think that CAS are the weapon of choice for demanding numerical linear algebra problems. For this, I would use MATLAB or (when things get out of hand) Fortran. Others in this thread would probably opt for Python, Julia or C++.
 
  • Like
Likes   Reactions: perplexabot