• Welcome to Valhalla Legends Archive.
 

Matrix formulas

Started by Ban, February 18, 2004, 05:50 PM

Previous topic - Next topic

Ban

Is there a formula for the determinate of any matrix? If so, what is it?

Otherwise, how do you find the totals of the rows (Let use a 3x3 matrix) to determine it?

Adron

The way I first learnt it, you make all possible products where no two factors are from the same row or the same column. Then you sum them all up, adding or subtracting them depending on whether you're walking up or down the matrix.

I'm sure Yoni will give you a nice formula.

Yoni

Here is how I learned the (recursive) definition of a matrix's determinant:

1. The determinant of a matrix A, usually denoted |A| or det(A), is defined for square matrices only. Note: Despite the absolute-value-like notation |A|, the determinant may be negative. Don't let this confuse you.
2. For a 1 x 1 matrix that contains a single value, the determinant is defined as the value inside the matrix.
3. For an n x n matrix: (Assume by recursiveness/induction that you've already defined the determinant for (n-1) x (n-1).)

Define M(i,j), pronounced "Minor i, j", as the determinant of the (n-1) x (n-1) square matrix that is obtained by deleting the i'th row and the j'th column from A.
I will use the notation A(i,j) for the number inside the matrix A in row i, column j.

Now, you may do an expansion by rows or by columns.

Expansion by rows:
Pick any row, call it the i'th row. Then:
|A| = (-1)^(i+1) * A(i, 1) * M(i, 1) + (-1)^(i+2) * A(i, 2) * M(i, 2) + ... + (-1)^(i+n) * A(i, n) * M(i, n)
In other words:
|A| = Sum [j = 1 to n] ((-1)^(i+j) * A(i, j) * M(i, j))
(Note the sum is done with a constant i and with an index j.)

Expansion by columns:
Pick any column, call it the j'th column. Then:
|A| = (-1)^(1+j) * A(1, j) * M(1, j) + (-1)^(2+j) * A(2, j) * M(2, j) + ... + (-1)^(n+j) * A(n, j) * M(n, j)
In other words:
|A| = Sum [i = 1 to n] ((-1)^(i+j) * A(i, j) * M(i, j))
(Note the sum is done with an index i and with a constant j.)

The above methods are generally called a Minor Expansion.

An important theorem in Linear Algebra states that you'll always get the same result, i.e. the definition of a determinant by row/column expansion is unique.

More here:
http://mathworld.wolfram.com/DeterminantExpansionbyMinors.html

That is the basic "formula" for determinants.
If you work with specific matrices, you can use all sorts of tricks to make the determinant easier to compute.
(For example, zero out all the elements except one in some row or column, then use the Minor Expansion on that row or column to get one smaller determinant, and not the sum of several smaller determinants.)

Much more here:
http://mathworld.wolfram.com/Determinant.html

Slaughter

As I told you last night Ban, for a 3x3 matrix (you know the setup I told you) the formula is [(a * e * i) + (b * f * g) + (c * d * h)] - [(g * e * c) + ( h * f * a) + (i * d * b)] = j ; j is the determinate.
So if your equation was
| a b c |
| d e f |
|g h i  |
The above would be the formula to solve.
(Please excuse my rough drawing)
Yoni, correct me if I'm wrong.

cipher

#4
I dunno, the way I learned was pretty simple...
in physics, we use this method for doing cross products... (this is of course for finding components--and later finding magnitude/direction; but it's all the same)
|x, y, z |
|1, 2, 3|
|2, 3, 4|

(rows are horizontal, columns are vertical, just want to get that out of the way first =P)
so, first you start by covering the row X, Y Z, and column X, 1, 2
so you're left with:
|2, 3|   So now you just do (2 * 4) - (3 * 3)  <--- basically cross multiply sort of
|3, 4|

So now you have your first piece, next:
cover X, Y, Z and the column Y, 2, 3, you're left with:
|1, 3|
|2, 4|  So now just cross em... (1 * 4) - (2 * 4)
But... every time you do another one of these, you have to switch the sign... so like, your running total is so far
[(2 * 4) - (3 * 3)] - [(1 * 4) - (2 * 4)] and it'll keep going + to - to + to -, etc...
next:
cover the row X, Y, Z and Z, 3, 4...
you're left with:
|1, 2|
|2, 3| So just (1 * 3) - (2 * 2)
so, now you've done all of them, just put it together....
[(2 * 4) - (3 * 3)] - [(1 * 4) - (2 * 4)]  + [(1 * 3) - (2 * 2)]
And that should be it... I _think_ I did this right, haven't done cross prducts in a little while ;)

I used to use my finger to physically cover the numbers up, but I've grown out of that ;)