One assumption A must be the square matrix your proof to be valid but it is not implied from A^{T}A nor AA^{T} A can be nonsquare and both A^{T}A and AA^{T} can be square You should add assumption or split you proof to cases
Whether A is square or non-square, both A^T A and A A^T will always result in square matrices. In the case that the original matrix A is non-square, after the multiplication A^TA is an n x n matrix , which is the matrix of the determinant of interest, therfore it will always be square. This is the same thing for AA^T but yields an m x m matrix. Even in the case A is square it wouldn’t matter because the resulting matrix that contains our determinant of interest is always square
@@holyshit922 The notation det(AᵀA) and det(AAᵀ) already tells us we're working with square matrices, since determinants are only defined for square matrices. Just as we don't need to explicitly state "square matrix" when writing tr(M) - because trace only exists for square matrices - we don't need to specify it for determinants either. If the matrices weren't square, we wouldn't be able to take their determinant in the first place.
@@austincarter2177 AᵀA and AAᵀ are square matrices whenever A is square or not so problem is valid also for non-square matrices A but his proof is invalid for non-square matrix A I don't know what you don't understand
@@holyshit922 The proof is valid because the very notation det() implies we're working with square matrices - there's no other possibility to consider. You’re the one missing the point
Speaking of determinants, one time I was asking if you had any advice on efficient determinant algorithms that don't lend themselves to rounding errors. You'll be pleased to know that today I learned of the Bareiss Algorithm, and it's incredibly easy to program, it's fast, and it even guarantees integer results if all terms are integers. On top of all that, it's a little faster than Gaussian elimination. Let's say I have a matrix like so: a b c d e f g h i First thing I have to do is make sure "a" doesn't equal 0. If it does, I swap that first row with one of its successors, and then I make a note somewhere that I will have to multiply the final result by -1. Now I can get to work. This is the first pass, and so I am not going to do any arithmetic on the first row or the first column. But the values in the second/third rows and second/third columns, I will do math on. In particular, I will replace e with e*a - b*d, f with f*a - c*d, h with h*a - b*g, and i with i*a - c*g. Then, on the next pass ... well, first let me re-label all the elements of the matrix now that they have new values: A B C D E F G H I Okay, so on the next pass, first thing I do is make sure E isn't 0, and if it is I swap the row with a successor, and I make a note to multiply the final result by -1. Now that that's done, I ignore the first and second rows, and also the first and second columns. That leaves only I, and I will replace it with (I*E - F*H) / A. Note how there's a division there, and the value to divide by will move along the diagonal with each pass. But in this example, there are no more passes; we can just look at what's in the lower right cell, and that is our determinant. It will be (I*E - F*H) / A, times any -1 factors we noted along the way.
Wow! I am actually looking into rounding errors now and your comment is timely. I will take some time to go through this algorithm probably show this to some friends. Thank you.
@@PrimeNewtonsNeat! I don't know that anyone teaches this algorithm to students, but I bet you could turn the algorithm into an easy process to do on paper, like Sarrus and those arrows. I took a stab at it myself - drawing boxes around cells that interest us in a given iteration, that kind of thing - but I bet you can come up with a much smoother approach.
@@PrimeNewtons For what it's worth, I wrote a few different algorithms for calculating determinants in PHP: one that uses Laplace expansion, one that figures out all the permutations of rows and columns, and one that uses Bareiss. I used each to calculate the determinant of a 10x10 matrix that consisted of integers from 0 to 9. Here is the timing on the three: Laplace expansion: 1.9 seconds Permutations: 10.8 seconds Bareiss: 0.004 seconds Great Caesar's ghost!
One assumption A must be the square matrix your proof to be valid
but it is not implied from A^{T}A nor AA^{T}
A can be nonsquare and both A^{T}A and AA^{T} can be square
You should add assumption or split you proof to cases
Whether A is square or non-square, both A^T A and A A^T will always result in square matrices. In the case that the original matrix A is non-square, after the multiplication A^TA is an n x n matrix , which is the matrix of the determinant of interest, therfore it will always be square. This is the same thing for AA^T but yields an m x m matrix. Even in the case A is square it wouldn’t matter because the resulting matrix that contains our determinant of interest is always square
@@austincarter2177 but you cannot split it into product of determinants
and my comment points out that his proof for non-square matrices is incorrect
@@holyshit922 The notation det(AᵀA) and det(AAᵀ) already tells us we're working with square matrices, since determinants are only defined for square matrices. Just as we don't need to explicitly state "square matrix" when writing tr(M) - because trace only exists for square matrices - we don't need to specify it for determinants either. If the matrices weren't square, we wouldn't be able to take their determinant in the first place.
@@austincarter2177 AᵀA and AAᵀ are square matrices whenever A is square or not so problem is valid also for non-square matrices A but his proof is invalid for non-square matrix A I don't know what you don't understand
@@holyshit922 The proof is valid because the very notation det() implies we're working with square matrices - there's no other possibility to consider. You’re the one missing the point
Prime Newtons is the channel to watch! 🎉😊
Speaking of determinants, one time I was asking if you had any advice on efficient determinant algorithms that don't lend themselves to rounding errors. You'll be pleased to know that today I learned of the Bareiss Algorithm, and it's incredibly easy to program, it's fast, and it even guarantees integer results if all terms are integers. On top of all that, it's a little faster than Gaussian elimination.
Let's say I have a matrix like so:
a b c
d e f
g h i
First thing I have to do is make sure "a" doesn't equal 0. If it does, I swap that first row with one of its successors, and then I make a note somewhere that I will have to multiply the final result by -1.
Now I can get to work. This is the first pass, and so I am not going to do any arithmetic on the first row or the first column. But the values in the second/third rows and second/third columns, I will do math on. In particular, I will replace e with e*a - b*d, f with f*a - c*d, h with h*a - b*g, and i with i*a - c*g.
Then, on the next pass ... well, first let me re-label all the elements of the matrix now that they have new values:
A B C
D E F
G H I
Okay, so on the next pass, first thing I do is make sure E isn't 0, and if it is I swap the row with a successor, and I make a note to multiply the final result by -1. Now that that's done, I ignore the first and second rows, and also the first and second columns. That leaves only I, and I will replace it with (I*E - F*H) / A. Note how there's a division there, and the value to divide by will move along the diagonal with each pass.
But in this example, there are no more passes; we can just look at what's in the lower right cell, and that is our determinant. It will be (I*E - F*H) / A, times any -1 factors we noted along the way.
Wow! I am actually looking into rounding errors now and your comment is timely. I will take some time to go through this algorithm probably show this to some friends. Thank you.
@@PrimeNewtonsNeat! I don't know that anyone teaches this algorithm to students, but I bet you could turn the algorithm into an easy process to do on paper, like Sarrus and those arrows. I took a stab at it myself - drawing boxes around cells that interest us in a given iteration, that kind of thing - but I bet you can come up with a much smoother approach.
@@PrimeNewtons For what it's worth, I wrote a few different algorithms for calculating determinants in PHP: one that uses Laplace expansion, one that figures out all the permutations of rows and columns, and one that uses Bareiss. I used each to calculate the determinant of a 10x10 matrix that consisted of integers from 0 to 9. Here is the timing on the three:
Laplace expansion: 1.9 seconds
Permutations: 10.8 seconds
Bareiss: 0.004 seconds
Great Caesar's ghost!
❤🎉
Could you possible to show (AB)T=BTAT