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 } }