# Mathematica limited

1. Apr 3, 2005

### Nickolas

I am trying to slove systems of equations by Mathematica5.0
i need to Know how many equations & variables in ones systems can Mathematica5.0 solve??
i mean what is limit Mahematica??

is my question clear?? forgive my poor language

2. Apr 3, 2005

### Triss

I would suspect that there is no real limit other than memory and that like on your computer -- atleast if we are talking about linear equations.

3. Apr 3, 2005

### PerennialII

Yeah, you can get Mathematica on 64 bit Unix platforms which are pretty capable of doing some heavy duty equation solving work.

4. Apr 3, 2005

It depends on the type of system you're trying to solve. Is it sparse, is it dense, is it structured? There are two limiting factors: how much memory you have to store the system, and how many operations are required to perform the solve.

For a sparse symmetric system, plain old Gaussian elimination or LU decomposition can solve the system in O(n) complexity, for just sparse I think you can get as low as O(n^1.2), and for a dense system they have complexity O(n^3) and require memory storage of O(n^2), where n is the size of the system.

There are much better iterative methods that can solve sparse symmetric in O(kn), sparse in O(k^2 n), and dense systems in O(k n^2) complexity and O(k n^2) memory required straight out of the box. Here k is the number of iterations. If you precondition the system properly k << n and the k is negligable, and in the worst case scenario k = n.

However, there are ways to cheat and get down to O(nlogn) for complexitiy and memory.

You should be able to solve a system of a few hundred equations almost instantaneously. As long as you have enough memory to store the procedure, it will just start to take longer and longer as the system grows. For a dense system of size 100,000 you better use an iterative method with a good preconditioner. And once you get to size one million, which is too large to store in memory, there are other tricks to get around that if your system comes from some structured layout and doesn't need to be stored all at once.

I don't know about mathematica, but in matlab I think the default method is GE. If you specify a sparse matrix, it may use the sparse methods. Beyond that I think you need to use your own program for the other methods.

Last edited: Apr 3, 2005
5. Apr 3, 2005

### saltydog

I believe I heard it was a million equations (linear) in a million unknowns.

6. Apr 5, 2005

### Nickolas

Thaks very much
if i have these linear equations:
ax+by=c
dx+fy=e
in Mathematica,are there commands to gernerate equations??as matrix or random command...

Last edited: Apr 5, 2005
7. Apr 5, 2005

### saltydog

Sorry but that's confusing to at least me anyway. Can you be more specific? The most complicated thing I've done with Mathematica involving simultaneous equations is about 1000 in 1000 unknowns in regards to finite-difference approximations to "simple" PDEs in a nice square grid. Got more than a 1000?