time-to-botec/squiggle/node_modules/jstat/doc/md/linear-algebra.md
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00

3.9 KiB

Linear Algebra

Instance Functionality

add( arg )

Adds value to all entries.

jStat([[1,2,3]]).add( 2 ) === [[3,4,5]];

subtract( arg )

Subtracts all entries by value.

jStat([[4,5,6]]).subtract( 2 ) === [[2,3,4]];

divide( arg )

Divides all entries by value.

jStat([[2,4,6]]).divide( 2 ) === [[1,2,3]];

multiply( arg )

Multiplies all entries by value.

jStat([[1,2,3]]).multiply( 2 ) === [[2,4,6]];

dot( arg )

Takes dot product.

pow( arg )

Raises all entries by value.

jStat([[1,2,3]]).pow( 2 ) === [[1,4,9]];

exp()

Exponentiates all entries.

jStat([[0,1]]).exp() === [[1, 2.718281828459045]]

log()

Returns the natural logarithm of all entries.

jStat([[1, 2.718281828459045]]).log() === [[0,1]];

abs()

Returns the absolute values of all entries.

jStat([[1,-2,-3]]).abs() === [[1,2,3]];

norm()

Computes the norm of a vector. Note that if a matrix is passed, then the first row of the matrix will be used as a vector for norm().

angle( arg )

Computes the angle between two vectors. Note that if a matrix is passed, then the first row of the matrix will be used as the vector for angle().

Static Functionality

add( arr, arg )

Adds arg to all entries of arr array.

subtract( arr, arg )

Subtracts all entries of the arr array by arg.

divide( arr, arg )

Divides all entries of the arr array by arg.

multiply( arr, arg )

Multiplies all entries of the arr array by arg.

dot( arr1, arr2 )

Takes the dot product of the arr1 and arr2 arrays.

outer( A, B )

Takes the outer product of the A and B arrays.

outer([1,2,3],[4,5,6]) === [[4,5,6],[8,10,12],[12,15,18]]

pow( arr, arg )

Raises all entries of the arr array to the power of arg.

exp( arr )

Exponentiates all entries in the arr array.

log( arr )

Returns the natural logarithm of all entries in the arr array

abs( arr )

Returns the absolute values of all entries in the arr array

norm( arr )

Computes the norm of the arr vector.

angle( arr1, arr2 )

Computes the angle between the arr1 and arr2 vectors.

aug( A, B )

Augments matrix A by matrix B. Note that this method returns a plain matrix, not a jStat object.

det( A )

Calculates the determinant of matrix A.

inv( A )

Returns the inverse of the matrix A.

gauss_elimination( A, B )

Performs Gaussian Elimination on matrix A augmented by matrix B.

gauss_jordan( A, B )

Performs Gauss-Jordan Elimination on matrix A augmented by matrix B.

lu( A )

Perform the LU decomposition on matrix A.

A -> [L,U]

st.

A = LU

L is lower triangular matrix.

U is upper triangular matrix.

cholesky( A )

Performs the Cholesky decomposition on matrix A.

A -> T

st.

A = TT'

T is lower triangular matrix.

gauss_jacobi( A, b, x, r )

Solves the linear system Ax = b using the Gauss-Jacobi method with an initial guess of r.

gauss_seidel( A, b, x, r )

Solves the linear system Ax = b using the Gauss-Seidel method with an initial guess of r.

SOR( A, b, x, r, w )

Solves the linear system Ax = b using the sucessive over-relaxation method with an initial guess of r and parameter w (omega).

householder( A )

Performs the householder transformation on the matrix A.

QR( A )

Performs the Cholesky decomposition on matrix A.

A -> [Q,R]

Q is the orthogonal matrix.

R is the upper triangular.

lstsq( A, b )

Solves least squard problem for Ax=b as QR decomposition way.

If b is of the [[b1], [b2], [b3]] form, the method will return an array of the [[x1], [x2], [x3]] form solution.

Otherwise, if b is of the [b1, b2, b3] form, the method will return an array of the [x1,x2,x3] form solution.

jacobi()

rungekutta()

romberg()

richardson()

simpson()

hermite()

lagrange()

cubic_spline()

gauss_quadrature()

PCA()