222 lines
3.9 KiB
Markdown
222 lines
3.9 KiB
Markdown
## 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()
|