This is an old revision of the document!
Matrix
The object Matrix defines matrices, i.e. tables of tables, and defines the standard lua math operations (+,-,*,/,^) among other functionalities on them. When creating a table-table object in Lua one has to tell the language that this is supposed to be a matrix. This is done by setting the metatable MatrixMeta.
- Example.Quanty
--This creates a table of tables A = {{1, 14 }, {33, 4.7}} B = {{3, 1.6 }, {5, 7}} --This defines functionalities like addition or multiplication on M setmetatable(A, MatrixMeta) setmetatable(B, MatrixMeta) print("") print("A + B") print(A + B) print("") print("A - B") print(A - B) print("") print("A * B") print(A * B) --This is equivalent to A * Matrix.Inverse(B) print("") print("A / B") print(A / B) --This is equivalent to Matrix.Inverse(A) print("") print("1 / A") print(1 / A) print("") print("A^2") print(A^2)
A + B
{ { 4 , 15.6 } ,
{ 38 , 11.7 } }
A - B
{ { -2 , 12.4 } ,
{ 28 , -2.3 } }
A * B
{ { 73 , 99.6 } ,
{ 122.5 , 85.7 } }
A / B
{ { -4.8461538461538 , 3.1076923076923 } ,
{ 15.961538461538 , -2.9769230769231 } }
1 / A
{ { -0.010277717034769 , 0.030614476273781 } ,
{ 0.072162694073912 , -0.0021867483052701 } }
A^2
{ { 463 , 79.8 } ,
{ 188.1 , 484.09 } }