MAXScript Language Reference > Values > Basic Data Values >

# BigMatrix Values, BigMatrixRowArray Values

Value > Basic Data Values > BigMatrix Values, BigMatrixRowArray Values

| Values and Collections - Quick Navigation

The BigMatrix class implements an MxN matrix for situations and calculations where the usual 4x3 Matrix3 class is not adequate.

The BigMatrixRowArray class implements an N element vector.

Each row in a BigMatrix value is a BigMatrixRowArray value.

Only Float values can be stored in the elements of a BigMatrixRowArray.

Constructors

    BigMatrix <rows> <columns>

Constructs a BigMatrix value with the given number of rows and columns.

All elements will be initially filled with 0.0 values.

Properties

    <BigMatrix>.rows: Integer, read-only
    <BigMatrix>.columns: Integer, read-only

Get the number of rows and number of columns in the BigMatrix value.

Operators

    <BigMatrix> + <BigMatrix>

Adds the two BigMatrix values together.

Both BigMatrix values must have same size

    <BigMatrix>[<int_row>]

Returns BigMatrixRowArray value of the indexed row.

    <BigMatrixRowArray>[<int_column>]

Returns the float value of indexed column stored in the BigMatrixRowArray value.

    <BigMatrixRowArray>[<int_column>]= <float_value>

Sets the value in the indexed column in the BigMatrixRowArray value.

Because accessors are themselves operands, these definitions are recursive, which means that you can string accessors together:

    <BigMatrix>[<int_row>][<int_column>]

Returns the float value of the indexed row and column.

    <BigMatrix>[<int_row>][<int_column>]= <float_value>

Sets the float value of the indexed row and column in the matrix.

Methods

    invert <BigMatrix>

Inverts the matrix in place, i.e., the input BigMatrix itself is modified.

The return value is also the inverted matrix.

Note that this method only works if this matrix is "square", i.e. if m = n.

    transpose <BigMatrix>

Returns the transpose of <BigMatrix> , i.e. result BigMatrix[i][j] = BigMatrix[j][i] .

    clear <BigMatrix>

Frees all the elements and sets the matrix size to be 0x0

    setSize <BigMatrix> <rows> <columns>

Deletes the current elements and sets the size of the matrix to <rows> x <columns>.

    identity <BigMatrix> -- mapped function

If the number of rows and columns are not equal, this method does nothing.

If the number of rows and columns are equal, this method sets the matrix to the identity (diagonal elements = 1, all other elements = 0).

If the parameter is an array of matrices, this function returns the value OK .

In both cases, the input BigMatrix value(s) are set to the identity.

Note

A BigMatrix object is a compound object, similar to an array of arrays. All of the BigMatrix methods operate directly on the components of the input BigMatrix. As described in Reference Assignment, this can cause complications to occur if a BigMatrix object referenced by more than one variable. If you assign a new value to an element of the matrix, or use any of the BigMatrix methods, the same object is still referenced by the variables.

This can be seen in the following example:

SCRIPT:
    bm1=bigmatrix 2 2
    for i=1 to 2 do for j=1 to 2 do bm1[i][j]=random 0 10
    bm2=bm1
    invert bm1
    bm2
OUTPUT:
    #BigMatrix( --result of line 1, contents of bm1
    [0.00,0.00],
    [0.00,0.00]
    )
    OK -- result of line 2
    #BigMatrix( --result of line 3, contents of bm2
    [4.00,6.00],
    [4.00,9.00]
    )
    #BigMatrix( --result of line 4, contents of bm1
    [0.75,-0.50],
    [-0.33,0.33]
    )
    #BigMatrix( --result of line 5, contents of bm2
    [0.75,-0.50],
    [-0.33,0.33]
    )

#### See Also

- AngleAxis Values

- EulerAngles Values

- Quat Values

- Matrix3 Values