deepbox/linalg
Decompositions
Classical and advanced decompositions including eigensolvers, Schur, Hessenberg, polar, and SVD.
Factorizations
type EigOptions
export type EigOptions = { readonly maxIter?: number; readonly tol?: number; };
Compute eigenvalues and eigenvectors of a square matrix.
cholesky
export declare function cholesky(a: Tensor): Tensor;
Cholesky decomposition.
eig
export declare function eig(a: Tensor, options?: EigOptions): [Tensor, Tensor];
eig is exported by deepbox/linalg.
eigh
export declare function eigh(a: Tensor): [Tensor, Tensor];
Compute eigenvalues and eigenvectors of a symmetric/Hermitian matrix.
eigvals
export declare function eigvals(a: Tensor, options?: EigOptions): Tensor;
Compute eigenvalues only (faster than eig).
eigvalsh
export declare function eigvalsh(a: Tensor): Tensor;
Compute eigenvalues only of symmetric matrix (faster than eigh).
hessenberg
export declare function hessenberg(a: Tensor): [Tensor, Tensor];
Upper Hessenberg decomposition of a square matrix.
lu
export declare function lu(a: Tensor): [Tensor, Tensor, Tensor];
LU decomposition with partial pivoting.
polar
export declare function polar(a: Tensor, side?: "right" | "left"): [Tensor, Tensor];
Polar decomposition of a matrix.
qr
export declare function qr(a: Tensor, mode?: "reduced" | "complete"): [Tensor, Tensor];
QR decomposition.
schur
export declare function schur(a: Tensor): [Tensor, Tensor];
Real Schur decomposition of a square matrix.
svd
export declare function svd(a: Tensor, fullMatrices?: boolean): [Tensor, Tensor, Tensor];
svd is exported by deepbox/linalg.
svdvals
export declare function svdvals(a: Tensor): Tensor;
Singular values of `a` only (no U/V).
linalg-decompositions.ts
import { eig, hessenberg, polar, qr, schur, svd } from "deepbox/linalg";import { tensor } from "deepbox/ndarray";const a = tensor([ [4, 1], [2, 3],]);console.log(qr(a));console.log(svd(a));console.log(eig(a));console.log(schur(a));console.log(hessenberg(a));console.log(polar(a));