1
Other Calculators / The Biggest Resultant Matrix
« on: January 27, 2013, 02:58:55 pm »
Hello all! It's been a while, hasn't it?
A couple of days ago, one of my professors (I'm in college now) posed the slightly rhetorical question of, "How large of a matrix can your calculators make from the multiplication of two matrices?" I of course took it literally. Thus, after talking to her after class and deciding to come up with the best answer I possibly could, I now have what you see below. So sit back, and enjoy reading about just how big matrices on the TI-83/83+(SE) calcs can get:
As discussed on Friday, I think I've figured out the biggest matrix that can be made on a TI-83/84+(SE) series of graphing calculators; it's simply limited by the amount of RAM on the calculator. These calculators have 24389 bytes of RAM when completely empty; however, anything else, even items in archive take up RAM because of the inner workings of their operating systems. A single matrix takes up RAM according to the following equation:
RAM = 11 + 9 * (Number of elements) bytes
Thus, a 3x1 matrix would take up 47 bytes. Consequently, the largest single matrix that can be made is around a 52x52 matrix (24347 bytes).
This being said, your question was on how large the product of the multiplication of two matrices could be, which is much smaller. Not only must all three matrices must be able to fit in RAM at the same time, but due to the inner workings of the calculator, the resulting matrix must be able to fit into RAM twice. Assuming that we are using two vector matrices to maximize the resulting matrix, the matrices to be multiplied will be in the form 1xN and Nx1. This allows the following equation to give the size of the largest matrix that can be multiplied on the TI-83/84+(SE) series of calculators:
RAM = (11 + 9 * N) + (11 + 9 * M) + 2*(11 + 9 * N * M) bytes
For the ease of calculations, I'm going to assume the resulting matrix will be square, leading to this formula:
RAM = 2*(11 + 9 * N) + 2*(11 + 9 * N * N) bytes
RAM = 18N^2 + 18N + 44 bytes
When solved, this gives a maximum matrix size of 36x36 (totaling to 24020 bytes). However, this was assuming that the two matrices being multiplied were both vectors. If the two matrices are both square, then the size drops dramatically:
RAM = 4*(11 + 9 * N^2) bytes
Here, the largest resultant matrix is 25x25 (totaling to 22544 bytes). It's worth noting that by the equations given it seems possible to multiply two 26x26 matrices. However, though by my equations they total to 24380 bytes (9 shy of the RAM limit), there are actually a few more things that go into RAM - such as typing the equation to multiply the two matrices on the homescreen of the calculator - that makes the 26x26s slightly too large to be multiplied.
Thus, on an empty TI-83/83+(SE) calculator it's possible to multiply matrices as large as 25x25, but the result can be as large as 36x36 if the two initial matrices are vectors.
A couple of days ago, one of my professors (I'm in college now) posed the slightly rhetorical question of, "How large of a matrix can your calculators make from the multiplication of two matrices?" I of course took it literally. Thus, after talking to her after class and deciding to come up with the best answer I possibly could, I now have what you see below. So sit back, and enjoy reading about just how big matrices on the TI-83/83+(SE) calcs can get:
As discussed on Friday, I think I've figured out the biggest matrix that can be made on a TI-83/84+(SE) series of graphing calculators; it's simply limited by the amount of RAM on the calculator. These calculators have 24389 bytes of RAM when completely empty; however, anything else, even items in archive take up RAM because of the inner workings of their operating systems. A single matrix takes up RAM according to the following equation:
RAM = 11 + 9 * (Number of elements) bytes
Thus, a 3x1 matrix would take up 47 bytes. Consequently, the largest single matrix that can be made is around a 52x52 matrix (24347 bytes).
This being said, your question was on how large the product of the multiplication of two matrices could be, which is much smaller. Not only must all three matrices must be able to fit in RAM at the same time, but due to the inner workings of the calculator, the resulting matrix must be able to fit into RAM twice. Assuming that we are using two vector matrices to maximize the resulting matrix, the matrices to be multiplied will be in the form 1xN and Nx1. This allows the following equation to give the size of the largest matrix that can be multiplied on the TI-83/84+(SE) series of calculators:
RAM = (11 + 9 * N) + (11 + 9 * M) + 2*(11 + 9 * N * M) bytes
For the ease of calculations, I'm going to assume the resulting matrix will be square, leading to this formula:
RAM = 2*(11 + 9 * N) + 2*(11 + 9 * N * N) bytes
RAM = 18N^2 + 18N + 44 bytes
When solved, this gives a maximum matrix size of 36x36 (totaling to 24020 bytes). However, this was assuming that the two matrices being multiplied were both vectors. If the two matrices are both square, then the size drops dramatically:
RAM = 4*(11 + 9 * N^2) bytes
Here, the largest resultant matrix is 25x25 (totaling to 22544 bytes). It's worth noting that by the equations given it seems possible to multiply two 26x26 matrices. However, though by my equations they total to 24380 bytes (9 shy of the RAM limit), there are actually a few more things that go into RAM - such as typing the equation to multiply the two matrices on the homescreen of the calculator - that makes the 26x26s slightly too large to be multiplied.
Thus, on an empty TI-83/83+(SE) calculator it's possible to multiply matrices as large as 25x25, but the result can be as large as 36x36 if the two initial matrices are vectors.