Calculation of simultaneous equations

AI Thread Summary
Simultaneous equations can be calculated using various methods on a computer, primarily focusing on linear systems. Gaussian elimination is a common technique, though not the fastest for larger systems, and involves converting the matrix to a triangular form through elementary row operations. For non-linear equations, iterative methods are often employed, but there is no standard solution procedure as there is for linear systems. Cramer's rule is mentioned as an analytical method, but it is criticized for its inefficiency in larger problems. Implementing these methods in programming languages like Java can be challenging, particularly in encoding the necessary operations for matrix manipulation.
sid_galt
Messages
502
Reaction score
1
How are simultaneous equations calculated using a computer?
 
Mathematics news on Phys.org
By a solver of some type.
Be a bit more specific, please.
 
There are lots of different methods. For example, numerically. Here is an analytical method I wrote using Cramer's rule to invert the matrix. Delphi source code included.
http://www.geocities.com/peterbone3/LinearEquations.zip
I assume you're familiar with the matrix representation of a set of linear equations.

Peter Bone
 
I wouldn't disagree with there being a lot of methods, peterbone; we agree on that.
I was sort of thinking what kinds of simultaneous equations OP had in mind, in particular if I needed to go into the whole mucky business of solvers involving non-linear loop structures and so on..


At the end, of course, since we really only can solve systems of linear equations, one ought perhaps to focus on solutions techniques for linear systems, as you did.
 
Last edited:
Massive parallel processor supercomputers are typically used to effect simultaneous processing.
Of course, the hard part is encoding correctly.
 
sid_galt said:
How are simultaneous equations calculated using a computer?
As long as the equations are linear, you can solve them by using Gaussian elimination on the augmented matrix. It's not the fastest way to do it, especially for larger systems of equations, but it's the most intuitive technique, IMO, and pretty simple to code up. Are you looking to write something for yourself to help you learn more about linear algebra?

Or, as was stated earlier, if your systems of equations contain non-linear terms, things get a lot more complicated...
 
There are pretty efficient sparse solvers available in many codes (and the implementations aren't that many lines of code actually), when it gets bigger in many problems iterative solvers can produce a nice performance increase (and lessen e.g. storage requirements) ... lots of stuff available about this topic.
 
At the end, of course, since we really only can solve systems of linear equations

What do you mean by that?
 
peterbone said:
There are lots of different methods. For example, numerically. Here is an analytical method I wrote using Cramer's rule to invert the matrix.
I hope you know the evils of cramer's rule. It is bad news.
 
  • #10
Hurkyl said:
What do you mean by that?


Probably that most nonlinear systems are "solved" by linearizing over and over and solving the linear systems.
 
  • #12
Hurkyl said:
What do you mean by that?
As LeBrad mentioned, there aren't any standard, foolproof solution procedure for non-linear equations in general in the way there are for linear systems.

I'm not saying that various types of iteration processes are "wrong".
Most definitely, they are not.
 
  • #13
Thank you for all the replies.

Actually I am looking forward to implementing the vortex panel method in Java. Thing is, methods like Gaussian elimination are fine, only I am finding it difficult how to encode the appropriate elementary row operations to convert the matrix to a triangular one.
 
  • #14
sid_galt said:
Thank you for all the replies.

Actually I am looking forward to implementing the vortex panel method in Java. Thing is, methods like Gaussian elimination are fine, only I am finding it difficult how to encode the appropriate elementary row operations to convert the matrix to a triangular one.
You just need to think of about Gaussian elimination in a systematic way. That is for an arbitrary matrix at an arbitrary stage in reduction what should be done next. A few whiles and fors and it is done. Other things to think about are if you need to solve multiple systems having the same matrix you might consider using a LU decomposition. To help with round off you might consider full or partial pivoting, or conbining iterative and direct methods.
 

Similar threads

Replies
2
Views
1K
Replies
36
Views
3K
Replies
11
Views
3K
Replies
7
Views
2K
Replies
6
Views
1K
Replies
4
Views
2K
Back
Top