Message Boards Message Boards

How to track row swap in Gaussian elimination?

Posted 11 years ago

How can I track which rows were swapped in the Gaussian elimination using RowReduce?

I am doing metabolic control analysis on a mathematical model of the energy metabolism I have in Mathematica.

I need to do several matrix operations including a Gaussian elimination. For my control analysis I need to know which rows were swapped and where they are after the elimination.

Is there a way to let Mathematica also give me the final position of the original rows after the elimination?

Thank you very much,

Anne-Claire

2 Replies

Row swaps are performed for purposes of finding pivots. The strategy used will depend on the nature of the matrix (exact or machine doubles or...).

As for finding the "original position", see remarks in same thread on MSE.

As for why neither post references the other, I've no idea.

POSTED BY: Daniel Lichtblau

Row Reduce doesn't swap rows. From the documentation:

RowReduce performs a version of Gaussian elimination, adding multiples of rows together so as to produce zero elements when possible. The final matrix is in reduced row echelon form.

Do you need to keep track of which rows were added together? There are different ways that the reduction can be done as demonstrated by the "Method" option for the function.

It's possible you might be looking for a specific matrix decomposition instead:

http://en.wikipedia.org/wiki/Orthogonal_matrix#Decompositions

POSTED BY: Sean Clarke
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract