Module compute::linalg[][src]

Provides general linear algebra methods and matrix decompositions with a focus on low-dimensional data.

Modules

lu

Implements LU decomposition and system solving with the decomposition.

Functions

col_to_row_major

Convert a 1D matrix from column-major ordering into row-major ordering.

design

Create a design matrix from a given matrix.

diag

Extract the diagonal elements of a matrix.

dot

Calculates the dot product of two equal-length vectors. When the feature "blas" is enabled, uses ddot from BLAS. Otherwise, uses a length-8 unrolled loop.

inf_norm

Calculates the infinity norm of a matrix. That is, it sums the absolute values along each row, and then returns the largest of these values.

invert_matrix

Given an n by n matrix, invert it. The resulting matrix is returned as a flattened array.

is_matrix

Checks whether a 1D array is a valid matrix representation given the number of rows.

is_square

Checks whether a 1D array is a valid square matrix.

matmul

Multiply two matrices together, optionally transposing one or both of them.

matmul_blocked

Performs blocked matrix multiplication with block size bsize. See the API for the matmul.

norm

Calculates the norm of a vector.

row_to_col_major

Convert a 1D matrix from row-major ordering into column-major ordering.

solve

Solve the linear system Ax = b with LU decomposition.

solve_sys

Solves a system of linear scalar equations. a must represent a square matrix.

toeplitz

Given a vector of length n, creates n stacked duplicates, resulting in a square Toeplitz matrix. This function also assumes evenness. That is, x_i = x_{-i}.

transpose

Transpose a matrix.

vandermonde

Given some length m data x, create an nth order Vandermonde matrix.

xtx

Given a matrix X with k rows, return X transpose times X, which is a symmetric matrix.