time-to-botec/squiggle/node_modules/jstat/doc/md/linear-algebra.md

222 lines
3.9 KiB
Markdown
Raw Normal View History

## 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()