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.