Software for multiplication of matrices

Click For Summary
SUMMARY

The discussion centers on software options for performing matrix multiplications, particularly in the context of computing Jarlskog invariants. Users recommend MATLAB for its powerful matrix manipulation capabilities, although it requires a separate symbolic toolbox for symbolic calculations. Alternatives like Julia, Maxima, and Mathematica are also suggested, with Julia noted for its speed and open-source nature. The conversation emphasizes the importance of selecting the right tool based on the complexity of the matrices and the need for symbolic versus numerical calculations.

PREREQUISITES
  • Understanding of matrix multiplication concepts
  • Familiarity with symbolic computation tools
  • Basic knowledge of MATLAB and its toolboxes
  • Experience with programming languages like Python or Julia
NEXT STEPS
  • Explore MATLAB's symbolic toolbox for matrix operations
  • Learn Julia for efficient matrix computations
  • Investigate Maxima as a free alternative for symbolic calculations
  • Research Mathematica's capabilities for symbolic and numerical matrix manipulations
USEFUL FOR

Researchers, mathematicians, and engineers involved in computational tasks requiring matrix multiplications, particularly those needing symbolic computation capabilities.

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.
 
mr. bean said:
MATLAB seems complicated, since I'm using functions and letters.
Do you mean that your calculations are symbolical?
 
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:
  • Like
Likes   Reactions: S.G. Janssens
Nidum said:
Do you have personal experience with this? I would be curious to hear how it compares with the established CAS, in your opinion.
 
  • #10
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:
  • #11
Thank you all for the suggestions. I will try again with Maple and Mathematica.
 
  • #12
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/
 
  • #13
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.
 
  • #14
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

Similar threads

  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
882
Replies
5
Views
3K
  • · Replies 2 ·
Replies
2
Views
6K
  • · Replies 15 ·
Replies
15
Views
2K
  • · Replies 15 ·
Replies
15
Views
9K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
7K