Mathematica Solving Systems of Equations with Mathematica5.0: Limits

  • Thread starter Thread starter Nickolas
  • Start date Start date
  • Tags Tags
    Mathematica
AI Thread Summary
Mathematica 5.0 can solve systems of equations with a significant number of variables and equations, potentially up to a million linear equations with a million unknowns, depending on system complexity and available memory. The ability to solve these systems is influenced by whether they are sparse or dense, with different computational complexities associated with each type. Sparse symmetric systems can be solved efficiently using methods like Gaussian elimination or LU decomposition, while dense systems may require more resources. Iterative methods can further optimize solving, especially for larger systems, provided they are preconditioned correctly. Users can generate equations in Mathematica using specific commands, although clarity on these commands may be needed for effective implementation. Overall, while Mathematica has robust capabilities, performance will vary based on the system's structure and the computational resources available.
Nickolas
Messages
19
Reaction score
0
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 :blushing:
 
Physics news on Phys.org
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.
 
Yeah, you can get Mathematica on 64 bit Unix platforms which are pretty capable of doing some heavy duty equation solving work.
 
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:
Nickolas said:
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 :blushing:

I believe I heard it was a million equations (linear) in a million unknowns.
 
Thaks very much
Also i want to ask
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:
Nickolas said:
Thaks very much
Also i want to ask
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...

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?
 

Similar threads

Replies
1
Views
2K
Replies
2
Views
2K
Replies
5
Views
3K
Replies
1
Views
1K
Back
Top