`XXXMatrix operator + (const XXXMatrix& left, const XXXMatrix& right)`

Example: `A = B + C;`Return a new matrix which is the sum of the first two. The left and right source matrices must have the same dimensions.

`XXXMatrix operator + (const xxx& scalar, const XXXMatrix& matrix)`

Example: `A = 5 + B;`Return a new matrix that has entries of the source matrix added to a scalar value.

`XXXMatrix operator + (const XXXMatrix& matrix, const xxx& scalar)`

Example: `A = B + 5;`Return a new matrix that has entries of the source matrix added to a scalar value. (This is the same as the previous operator but with the scalar on the right.)

`XXXMatrix operator - (const XXXMatrix& left, const XXXMatrix& right)`

Example: `A = B - C;`

Return a new matrix which is the difference of the first two. The left and right source matrices must have the same dimensions.

`XXXMatrix operator - (const xxx& scalar, const XXXMatrix& matrix)`

Example: `A = 5 - B;`

Return a new matrix that has the negative of the entries of the source matrix added to a scalar value.

`XXXMatrix operator - (const XXXMatrix& matrix, const xxx& scalar)`

Example: `A = B - 5;`Return a new matrix such that each entry is the corresponding entry of the source matrix minus the scalar value.

`XXXMatrix operator * (const XXXMatrix& left, const XXXMatrix& right)`

Example: `A = B * C;`Return a new matrix which is the matrix product of the first two. The left and right source matrices must have compatible dimensions, i.e.,

`XXXMatrix operator * (const xxx& scalar, const XXXMatrix& matrix)`

Example: `A = 5 * B;`Return a new matrix that has entries of the source matrix multiplied by a scalar value.

`XXXMatrix operator * (const XXXMatrix& matrix, const xxx& scalar)`

Example: `A = B * 5;`Return a new matrix that has entries of the source matrix multiplied by a scalar value. (This is the same as the previous operator but with the scalar on the right.)