A review of the matrix and its operations
A matrix is used for operations that require storing more than three or four values, as in a vector, such as a rotation of a vector or a perspective change for all objects in a scene.
The matrix data type consists of rows and columns, creating a 2D collection of elements. All elements of the matrix must have the same data type.
Let’s start with the mathematical representation to get an understanding of what a matrix is.
Matrix representation
A matrix is written as a grid of elements, and the elements are identified by the indices for the row (first index) and the column (second index) of their position. The dimensions of a matrix are given as rows x columns, so a 2 x 3 matrix has 2 rows and 3 columns.
These two matrices, A and B, have the dimensions 2 x 2 and 3 x 3:
![<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mrow><mi>A</mi><mo>=</mo><mfenced open="[" close="]"><mtable columnspacing="0.8000em" columnwidth="auto auto" columnalign="center center" rowspacing="1.0000ex" rowalign="baseline baseline"><mtr><mtd><msub><mi>a</mi><mn>11</mn></msub></mtd><mtd><msub><mi>a</mi><mn>12</mn></msub></mtd></mtr><mtr><mtd><msub><mi>a</mi><mn>21</mn></msub></mtd><mtd><msub><mi>a</mi><mn>22</mn></msub></mtd></mtr></mtable></mfenced><mi>B</mi><mo>=</mo><mfenced open="[" close="]"><mtable columnspacing="0.8000em 0.8000em" columnwidth="auto auto auto" columnalign="center center center" rowspacing="1.0000ex 1.0000ex" rowalign="baseline baseline baseline"><mtr><mtd><msub><mi>b</mi><mn>11</mn></msub></mtd><mtd><msub><mi>b</mi><mn>12</mn></msub></mtd><mtd><msub><mi>b</mi><mn>13</mn></msub></mtd></mtr><mtr><mtd><msub><mi>b</mi><mn>21</mn></msub></mtd><mtd><msub><mi>b</mi><mn>22</mn></msub></mtd><mtd><msub><mi>b</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>b</mi><mn>31</mn></msub></mtd><mtd><msub><mi>b</mi><mn>32</mn></msub></mtd><mtd><msub><mi>b</mi><mn>33</mn></msub></mtd></mtr></mtable></mfenced></mrow></mrow></math>](https://static.packt-cdn.com/products/9781803246529/graphics/image/18.png)
Null matrix and identity matrix
As with vectors, matrices also have two types with special meanings:
- The identity matrix is one of the most...