Fork me on GitHub

Sizing and Access Methods

resize(rows, cols)

Resize the matrix to include at least the specified number of rows and columns.
Resizing the matrix never causes the matrix to shrink. If you need a subset of
the matrix, use get_block instead.

fill(rows, cols, value)

Fill the matrix with a single value. if sizes are provided, fill to those
sizes, growing the matrix if needed. Elements outside the specified area are
unaffected. Calling fill never causes the matrix to shrink.

item = item_at(row, col)

Return a single PMC entry from the specified coordinates

Transposition Methods

transpose()

Transposes the matrix lazily. This operation is O(1). Some operations, such as
mathematical operations do not work on a matrix which has been lazily
transposed, so those operations will force the matrix memory to be eagerly
transposed.

mem_transpose()

Transposes the actual data storage of the matrix. More expensive O(n) up-front
than the transpose() method, but the resulting memory structure is more suitable
for use in certain mathematical operations.

Iteration Methods()

iterate_function_inplace(func, args...)

Calls a function for every element in the matrix, replacing the current
value with the return value of the called function.

matrix = iterate_function_external(func, args...)

Calls a function for every element in the matrix, creating a new matrix with
the returned values of the called function.

Initialization Methods

initialize_from_array(rows, cols, ary)

Initialize the matrix using a list of values from an array.

initialize_from_args(rows, cols, args...)

Initialize the matrix using values from a variadic (slurpy) argument list.

Block Access Methods

matrix = get_block(rows, cols, rows_size, cols_size)

Get a specified sub-block of the matrix. If the bounds of the sub-block are
outside the bounds of the matrix, an OUT_OF_BOUNDS exception is thrown.

set_block(rows, cols, matrix)

Set a block in the matrix, growing it if needed.

Converstion Methods

matrix = convert_to_number_matrix()

Get a NumMatrix2D from the current matrix. If the matrix is already a
NumMatrix2D, return a clone.

matrix = convert_to_complex_matrix()

Get a ComplexMatrix2D from the current matrix. If the matrix is already a
ComplexMatrix2D, return a clone.

matrix = convert_to_pmc_matrix()

Get a PMCMatrix2D from the current matrix. If the matrix is already a
PMCMatrix2D, return a clone.