Matrices

GeoGebra supports real matrices, which are represented as a list of lists that contain the rows of the matrix.

In GeoGebra, {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} represents the 3x3 matrix \(\begin{pmatrix}1&2&3\\ 4&5&6\\ 7&8&9 \end{pmatrix}\)

To display a matrix using LaTeX formatting in the Menu view graphics.svg Graphics View, use the FormulaText command or drag and drop the matrix definition from Algebra View to Graphics View.

In the Input Bar type FormulaText[{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}] to display the matrix using LaTeX formatting.

Accessing Elements of Matrices

To access particular elements of a matrix you can use the Element Command or the simplified syntax shown in the example below:

Let matrix={{1, 2}, {3, 4}}, then:

  • matrix(1, 1) returns the first element in the first line: 1

  • matrix(2, 2), matrix(-1,2), matrix(2,-1) and matrix(-1,-1) all return the second element of the second line: 4.

  • In general, matrix(i, j) , where i and j are integers, returns the element of the matrix that occupies the i-th row and the j-th column.

Matrix Operations

Matrix operations are operations with lists, so the following syntaxes produce the described results.

Some syntaxes can represent operations which are not defined in the same way in the matrices set.

Addition and subtraction

  • Matrix1 + Matrix2: adds the corresponding elements of two compatible matrices.

  • Matrix1 – Matrix2: subtracts the corresponding elements of two compatible matrices.

Multiplication and division

  • Matrix * Number: multiplies each element of Matrix by the given Number.

  • Matrix1 * Matrix2: uses matrix multiplication to calculate the resulting matrix.

{{1, 2}, {3, 4}, {5, 6}} * {{1, 2, 3}, {4, 5, 6}} yields the matrix {{9, 12, 15}, {19, 26, 33}, {29, 40, 51}}.

The rows of the first and columns of the second matrix need to have the same number of elements.

  • 2x2 Matrix * Point (or Vector): multiplies the Matrix by the given Point / Vector and yields a point.

{{1, 2}, {3, 4}} * (3, 4) yields the point A = (11, 25).

  • 3x3 Matrix * Point (or Vector): multiplies the Matrix by the given Point / Vector and yields a point.

{{1, 2, 3}, {4, 5, 6}, {0, 0, 1}} * (1, 2) gives you the point A = (8, 20).

This is a special case for affine transformations where homogeneous coordinates are used: (x, y, 1) for a point and (x, y, 0) for a vector. This example is therefore equivalent to: {{1, 2, 3}, {4, 5, 6}, {0, 0, 1}} * {1, 2, 1}.

  • Matrix1 / Matrix2: Divides each element of Matrix1 by the corresponding element in Matrix2.

However, GeoGebra supports the syntax Matrix1 * Matrix2 ^(-1) .

Other operations

The section Matrix Commands contains the list of all available commands related to matrices, such as:

  • Determinant[Matrix]: calculates the determinant for the given matrix.

  • Invert[Matrix]: inverts the given matrix

  • Transpose[Matrix]: transposes the given matrix

  • ApplyMatrix[Matrix,Object]: apply affine transform given by matrix on object.

  • ReducedRowEchelonForm[Matrix]: converts the matrix to a reduced row-echelon form