# AI – Matrices

A matrix is set of Numbers.

A matrix is an Rectangular Array.

A matrix is arranged in Rows and Columns.

## Matrix Dimensions

This Matrix has 1 row and 3 columns:

The Dimension of the matrix is (1x3).

This matrix has 2 rows and 3 columns:

The dimension of the matrix is (2x3).

## Square Matrices

Square Matrix is a matrix with the same number of rows and columns.

An n-by-n matrix is known as a square matrix of order n.

2-by-2 matrix (Square matrix of order 2):

4-by-4 matrix (Square matrix of order 4):

## Diagonal Matrices

Diagonal Matrix has values on the diagonal entries, and zero on the rest:

## Scalar Matrices

Scalar Matrix has equal diagonal entries and zero on the rest:

## The Identity Matrix

The Identity Matrix has 1 on the diagonal and 0 on the rest.

This is the matrix equivalent of 1. The symbol is I.

If you multiply any matrix with the identity matrix, the result equals the original.

## The Zero Matrix

The Zero Matrix (Null Matrix) has only zeros.

## Equal Matrices

Matrices are Equal if each element correspond:

## Negative Matrices

The Negative of a matrix is easy to understand:

## Linear Algebra in JavaScript

In linear algebra, the most simple math object is the Scalar:

const scalar = 1;

Another simple math object is the Array:

const array = [ 1, 2, 3 ];

Matrices are 2-dimensional Arrays:

const matrix = [ [1,2],[3,4],[5,6] ];

Vectors can be written as Matrices with only one column:

const vector = [ ,, ];

Vectors can also be written as Arrays:

const vector = [ 1, 2, 3 ];

## JavaScript Matrix Operations

Programming matrix operations in JavaScript, can easily become a spaghetti of loops.

Using a JavScript library will save you a lot of headache.

One of the most common libraries to use for matrix operations is called math.js.

It can be added to your web page with one line of code:

### Using math.js

If two matrices have the same dimension, we can add them:

### Example

const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);
const mB = math.matrix([[1,-1], [2,-2], [3,-3]]);

// Result [ [2, 1], [5, 2], [8, 3] ]

Try it Yourself »

## Subtracting Matrices

If two matrices have the same dimension, we can subtract them:

### Example

const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);
const mB = math.matrix([[1,-1], [2,-2], [3,-3]]);

// Matrix Subtraction
const matrixSub = math.subtract(mA, mB);

// Result [ [0, 3], [1, 6], [2, 9] ]

Try it Yourself »

To add or subtract matrices, they must have the same dimension.

## Scalar Multiplication

While numbers in rows and columns are called Matrices, single numbers are called Scalars.

It is easy to multiply a matrix with a scalar. Just multiply each number in the matrix with the scalar:

### Example

const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);

// Matrix Multiplication
const matrixMult = math.multiply(2, mA);

// Result [ [2, 4], [6, 8], [10, 12] ]

Try it Yourself »

### Example

const mA = math.matrix([[0, 2], [4, 6], [8, 10]]);

// Matrix Division
const matrixDiv = math.divide(mA, 2);

// Result [ [0, 1], [2, 3], [4, 5] ]

Try it Yourself »

## Transpose a Matrix

To transpose a matrix, means to replace rows with columns.

When you swap rows and columns, you rotate the matrix around it’s diagonal.

## Multiplying Matrices

Multiplying matrices is more difficult.

We can only multiply two matrices if the number of rows in matrix A is the same as the number of columns in matrix B.

Then, we need to compile a “dot product”:

We need to multiply the numbers in each row of A with the numbers in each column of B, and then add the products:

### Example

const mA = math.matrix([[1, 2, 3]]);
const mB = math.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]]);

// Matrix Multiplication
const matrixMult = math.multiply(mA, mB);

// Result [ [6, 12, 18] ]

Try it Yourself »

### Explained:

If you know how to multiply matrices, you can solve many complex equations.

## Example

You sell roses.

• Red roses are \$3 each
• White roses are \$4 each
• Yellow roses are \$2 each
• Monday you sold 260 roses
• Tuesday you sold 200 roses
• Wednesday you sold 120 roses

What was the value of all the sales?

### Example

const mA = math.matrix([[3, 4, 2]]);
const mB = math.matrix([[120, 90, 60], [80, 70, 40], [60, 40, 20]);

// Matrix Multiplication
const matrixMult = math.multiply(mA, mB);

// Result [ [800, 630, 380] ]

Try it Yourself »

## Matrix Factorization

With AI, you need to know how to factorize a matrix.

Matrix factorization is a key tool in linear algebra, especially in Linear Least Squares.