Software for multiplication of matrices

Click For Summary

Discussion Overview

The discussion revolves around software options for performing matrix multiplications, particularly in the context of computing Jarlskog invariants. Participants explore various computational tools suitable for handling both numerical and symbolic matrix operations, with a focus on their capabilities and limitations.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant inquires about software for matrix multiplication, specifically mentioning challenges faced with Maple and expressing interest in alternatives like Mathematica and MATLAB.
  • Another participant clarifies that LaTeX is primarily for rendering matrices rather than performing calculations.
  • MATLAB is noted for its powerful matrix manipulation capabilities, though some participants find it complicated due to its use of functions and letters.
  • Julia is suggested as an alternative to MATLAB, being open-source and potentially faster, with a recommendation to use the Anaconda distribution for easy access to Python and Julia.
  • Several participants mention SciPy and NumPy as tools available in the Anaconda distribution, though there is uncertainty about their effectiveness for symbolic calculations.
  • A participant confirms their calculations are symbolic, leading to a discussion about the suitability of MATLAB and other systems for symbolic computation.
  • MAPLE is mentioned as a suitable tool for heavy symbolic linear algebra, with Mathematica suggested as having similar capabilities.
  • SymPy is proposed as a potential option, with a request for personal experiences regarding its comparison to established computer algebra systems (CAS).
  • Maxima is recommended for small order matrices, noted for being free and relatively easy to learn.
  • There is a debate about MATLAB's capabilities for symbolic matrix multiplication, with some participants asserting it requires a separate toolbox while others argue it can be simple for lighter tasks.

Areas of Agreement / Disagreement

Participants express a range of opinions on the effectiveness of different software tools for matrix multiplication, particularly regarding symbolic calculations. There is no consensus on the best option, as various tools are suggested with differing levels of support for symbolic operations.

Contextual Notes

Some participants highlight the need for specific toolboxes in MATLAB for symbolic calculations, while others point out that certain software may not be suitable for demanding numerical linear algebra problems. The discussion reflects a variety of experiences and preferences among participants.

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
915
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