C/C++ Implementing Gaussian Elimination in C++ with Scaled Partial Pivoting

  • Thread starter Thread starter Isma
  • Start date Start date
  • Tags Tags
    C++ Elimination
AI Thread Summary
The discussion centers around troubleshooting a programming challenge related to implementing Gaussian elimination in C++. The main advice emphasizes the importance of clearly defining the problem in plain English and creating pseudo-code to clarify the logic before coding. Key steps include implementing matrices using 2D arrays and developing basic matrix operations such as row swapping and row factoring. The conversation suggests using scaled partial pivoting to enhance the algorithm's efficiency by selecting the best pivot row based on the largest relative element. Additionally, it discusses the LU decomposition method for solving linear equations, where the matrix M is split into lower (L) and upper (U) triangular matrices. This approach allows for forward and backward substitution to solve for the variable vector X, offering improved performance when only the vector B changes.
Isma
Messages
27
Reaction score
0
i m having serious problem regarding this program...i m not asking u 2 make it for me...just help me with logic because i can't get gist of it...pleasezz i need help...i ve working on it like 3 hours nd its like my mind has gone blank:(
 
Technology news on Phys.org
write out in plain english what it is you need to do. then work out a psudo-code for it. after that it should be easy to get it down in C++.
 
But not just any old plain english -- it ought to be clear and precise. I like to say that a young kid should be able to follow your directions to get the right answer!
 
Will you use scaled partial pivoting? You should start by implementing your matrices and basic matrix operations. You can use 2D arrays for your matrices. You'll need basic functions like swapRows(R1, R2) and factorRow(PivotRow, RowToFactor, Multiplier) and printMatrix() for testing.
Then you should create a function that finds the best pivot row, if yu're using Scaled partial pivoting, then you select the row whose first non-zero element is the biggest relative to all the elements in its row.
Finally get down to Gaussian elimination, using the functions you have created.

What technique will you use for solving? Are you going to decompose the matrix into upper and lower triangular matrices?
If you want to solve for X in MX = B where M is a matrix and B is a vector, then you can split M into LU where L is lower triangular and U is upper triangular. Then you'd solve LY=B for Y with forward substitution and finally solve UX=Y for x, with backwards substitution. If you have to do things this way then it's a little more complicated, but you get better performance because your LU matrices are reusable whenever only B changes and M stays the same.
 
Last edited:
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...

Similar threads

Replies
2
Views
4K
Replies
4
Views
5K
Replies
1
Views
4K
Replies
4
Views
27K
Replies
21
Views
4K
Replies
29
Views
10K
Back
Top