Docs/Linear Algebra (Eigen)

Linear Algebra (Eigen)

Eigen linear algebra library for matrix operations.

eigen.core.configureEigen
Configure the Eigen WASM module loader.
eigen.core.configureEigen(config)
eigen.core.getEigenModule
Get the loaded Eigen WASM module.
eigen.core.getEigenModule()
eigen.core.isEigenLoaded
Check if the Eigen WASM module has been loaded.
eigen.core.isEigenLoaded()
eigen.core.loadEigenModule
Load and initialize the Eigen WASM module.
eigen.core.loadEigenModule()
eigen.core.resetEigenModule
Reset the Eigen WASM module state.
eigen.core.resetEigenModule()
eigen.core.allocateFloat64Array
Eigen WASM Memory Management Utilities
eigen.core.allocateFloat64Array(size)
eigen.core.allocateInt32Array
Allocate memory for an Int32Array on the WASM heap.
eigen.core.allocateInt32Array(size)
eigen.core.allocatePointer
Allocate memory for a pointer (used for output parameters).
eigen.core.allocatePointer()
eigen.core.columnMajorToRowMajor
Convert a column-major Float64Array to 2D row-major array.
eigen.core.columnMajorToRowMajor(data, rows, cols)
eigen.core.copyFromWasm
Copy data from WASM heap memory to a new Float64Array.
eigen.core.copyFromWasm(ptr, size)
eigen.core.copyInt32FromWasm
Copy Int32 data from WASM heap memory to a new Int32Array.
eigen.core.copyInt32FromWasm(ptr, size)
eigen.core.copyInt32ToWasm
Copy Int32 data to WASM heap memory.
eigen.core.copyInt32ToWasm(data)
eigen.core.copyToWasm
Copy a JavaScript array to WASM heap memory.
eigen.core.copyToWasm(data)
eigen.core.freeMemory
Free memory on the WASM heap.
eigen.core.freeMemory(ptr)
eigen.core.readPointer
Read a pointer value from WASM memory.
eigen.core.readPointer(ptrPtr)
eigen.core.rowMajorToColumnMajor
Convert a 2D row-major array to column-major Float64Array.
eigen.core.rowMajorToColumnMajor(arr2d)
eigen.core.viewWasmMemory
Create a view into WASM heap memory without copying.
eigen.core.viewWasmMemory(ptr, size)
eigen.core.getEigenWrappers
Get type-safe wrapped functions for all Eigen WASM operations.
eigen.core.getEigenWrappers()
eigen.core.resetWrappers
Reset the cached wrappers.
eigen.core.resetWrappers()
eigen.decompositions.cholesky
Compute Cholesky decomposition: A = LL^T
eigen.decompositions.cholesky(A)
eigen.decompositions.isPositiveDefinite
Check if a matrix is positive-definite by attempting Cholesky decomposition.
eigen.decompositions.isPositiveDefinite(A)
eigen.decompositions.isSymmetric
Check if a matrix is symmetric within a tolerance.
eigen.decompositions.isSymmetric(A, tol?)
eigen.decompositions.eig
Compute eigenvalue decomposition for general (non-symmetric) matrices.
eigen.decompositions.eig(A)
eigen.decompositions.eigSymmetric
Compute eigenvalue decomposition for symmetric matrices: A = V * D * V^T
eigen.decompositions.eigSymmetric(A)
eigen.decompositions.eigvals
Compute eigenvalues only for general matrices.
eigen.decompositions.eigvals(A)
eigen.decompositions.eigvalsSymmetric
Compute eigenvalues only for symmetric matrices.
eigen.decompositions.eigvalsSymmetric(A)
eigen.decompositions.hasNegativeEigenvalues
Check if all eigenvalues have negative real parts.
eigen.decompositions.hasNegativeEigenvalues(A)
eigen.decompositions.hasPositiveEigenvalues
Check if all eigenvalues have positive real parts.
eigen.decompositions.hasPositiveEigenvalues(A)
eigen.decompositions.hasRealEigenvalues
Check if all eigenvalues are real (within tolerance).
eigen.decompositions.hasRealEigenvalues(A, tol?)
eigen.decompositions.spectralRadius
Compute the spectral radius of a matrix.
eigen.decompositions.spectralRadius(A)
eigen.decompositions.isSingular
Check if a matrix is singular (has zero or near-zero determinant).
eigen.decompositions.isSingular(A, tol?)
eigen.decompositions.lu
Compute LU decomposition with partial pivoting: PA = LU
eigen.decompositions.lu(A)
eigen.decompositions.qr
Compute QR decomposition: A = QR
eigen.decompositions.qr(A)
eigen.decompositions.rankQR
Compute the numerical rank of a matrix using QR decomposition.
eigen.decompositions.rankQR(A, tol?)
eigen.decompositions.condSVD
Compute the condition number of a matrix using SVD.
eigen.decompositions.condSVD(A)
eigen.decompositions.pinv
Compute the Moore-Penrose pseudoinverse using SVD.
eigen.decompositions.pinv(A, tol?)
eigen.decompositions.rankSVD
Compute the numerical rank of a matrix using SVD.
eigen.decompositions.rankSVD(A, tol?)
eigen.decompositions.svd
Compute the Singular Value Decomposition: A = U * diag(S) * V^T
eigen.decompositions.svd(A)
eigen.decompositions.svdvals
Compute only the singular values of a matrix.
eigen.decompositions.svdvals(A)
eigen.dense.cols
Get the number of columns in a matrix.
eigen.dense.cols(A)
eigen.dense.dataPtr
Get the raw data pointer for a matrix.
eigen.dense.dataPtr(A)
eigen.dense.destroy
Free the memory associated with a matrix.
eigen.dense.destroy(A)
eigen.dense.get
Get a single element from a matrix.
eigen.dense.get(A, i, j)
eigen.dense.getCol
Get a column from a matrix as a Float64Array.
eigen.dense.getCol(A, j)
eigen.dense.getDiag
Get the diagonal of a matrix as a Float64Array.
eigen.dense.getDiag(A, k?)
eigen.dense.getRow
Get a row from a matrix as a Float64Array.
eigen.dense.getRow(A, i)
eigen.dense.rows
Get the number of rows in a matrix.
eigen.dense.rows(A)
eigen.dense.set
Set a single element in a matrix.
eigen.dense.set(A, i, j, value)
eigen.dense.shape
Get the shape of a matrix as [rows, cols].
eigen.dense.shape(A)
eigen.dense.size
Get the total number of elements in a matrix.
eigen.dense.size(A)
eigen.dense.toArray
Convert a matrix to a Float64Array (column-major order).
eigen.dense.toArray(A)
eigen.dense.toArray2D
Convert a matrix to a 2D JavaScript array (row-major order).
eigen.dense.toArray2D(A)
eigen.dense.abs
Eigenwasm - High-level TypeScript API for Eigen Linear Algebra Library
eigen.dense.abs(A)
eigen.dense.add
Add two matrices: C = A + B
eigen.dense.add(A, B)
eigen.dense.addScalar
Add a scalar to all elements: C = A + scalar
eigen.dense.addScalar(A, scalar)
eigen.dense.divScalar
Divide all elements by a scalar: C = A / scalar
eigen.dense.divScalar(A, scalar)
eigen.dense.elementDiv
Element-wise division: C = A ./ B
eigen.dense.elementDiv(A, B)
eigen.dense.elementMul
Element-wise multiplication: C = A .* B
eigen.dense.elementMul(A, B)
eigen.dense.elementPow
Compute the power of each element: C = A .^ p
eigen.dense.elementPow(A, p)
eigen.dense.mul
Multiply two matrices: C = A * B
eigen.dense.mul(A, B)
eigen.dense.neg
Negate a matrix: C = -A
eigen.dense.neg(A)
eigen.dense.scale
Multiply a matrix by a scalar: C = A * scalar
eigen.dense.scale(A, scalar)
eigen.dense.sqrt
Compute element-wise square root: C = sqrt(A)
eigen.dense.sqrt(A)
eigen.dense.sub
Subtract two matrices: C = A - B
eigen.dense.sub(A, B)
eigen.dense.subScalar
Subtract a scalar from all elements: C = A - scalar
eigen.dense.subScalar(A, scalar)
eigen.dense.clone
Create a deep copy of a matrix.
eigen.dense.clone(A)
eigen.dense.diag
Create a diagonal matrix from a vector of diagonal values.
eigen.dense.diag(values)
eigen.dense.eye
Create an identity matrix.
eigen.dense.eye(n)
eigen.dense.fromArray2D
Create a matrix from a 2D JavaScript array (row-major order).
eigen.dense.fromArray2D(arr2d)
eigen.dense.full
Create a matrix filled with a constant value.
eigen.dense.full(rows, cols, value)
eigen.dense.linspace
Create a matrix with linearly spaced values.
eigen.dense.linspace(start, end, n)
eigen.dense.matrix
Create a matrix from a Float64Array (column-major order).
eigen.dense.matrix(data, rows, cols)
eigen.dense.ones
Create a matrix filled with ones.
eigen.dense.ones(rows, cols)
eigen.dense.random
Create a matrix with random values in the range [-1, 1].
eigen.dense.random(rows, cols)
eigen.dense.zeros
Create a matrix filled with zeros.
eigen.dense.zeros(rows, cols)
eigen.dense.allFinite
Check if all matrix elements are finite (not NaN or Infinity).
eigen.dense.allFinite(A)
eigen.dense.det
Compute the determinant of a square matrix.
eigen.dense.det(A)
eigen.dense.hasInf
Check if a matrix contains any infinite values.
eigen.dense.hasInf(A)
eigen.dense.hasNaN
Check if a matrix contains any NaN values.
eigen.dense.hasNaN(A)
eigen.dense.max
Find the maximum element in a matrix.
eigen.dense.max(A)
eigen.dense.mean
Compute the mean of all elements in a matrix.
eigen.dense.mean(A)
eigen.dense.min
Find the minimum element in a matrix.
eigen.dense.min(A)
eigen.dense.norm
Compute the Frobenius norm of a matrix: ||A||_F = sqrt(sum(a_ij^2))
eigen.dense.norm(A)
eigen.dense.norm1
Compute the 1-norm (maximum absolute column sum).
eigen.dense.norm1(A)
eigen.dense.normInf
Compute the infinity-norm (maximum absolute row sum).
eigen.dense.normInf(A)
eigen.dense.normMax
Compute the max norm (maximum absolute element).
eigen.dense.normMax(A)
eigen.dense.normSquared
Compute the squared Frobenius norm: ||A||_F^2 = sum(a_ij^2)
eigen.dense.normSquared(A)
eigen.dense.prod
Compute the product of all elements in a matrix.
eigen.dense.prod(A)
eigen.dense.std
Compute the standard deviation of all elements in a matrix.
eigen.dense.std(A, ddof?)
eigen.dense.sum
Compute the sum of all elements in a matrix.
eigen.dense.sum(A)
eigen.dense.trace
Compute the trace of a matrix (sum of diagonal elements).
eigen.dense.trace(A)
eigen.dense.variance
Compute the variance of all elements in a matrix.
eigen.dense.variance(A, ddof?)
eigen.dense.adjoint
Compute the adjoint (conjugate transpose) of a matrix: B = A^H
eigen.dense.adjoint(A)
eigen.dense.conjugate
Compute the complex conjugate of a matrix.
eigen.dense.conjugate(A)
eigen.dense.inverse
Compute the inverse of a square matrix: B = A^(-1)
eigen.dense.inverse(A)
eigen.dense.normalize
Compute the normalized matrix (divide by Frobenius norm).
eigen.dense.normalize(A)
eigen.dense.normalizeInPlace
Normalize a matrix in-place (divide by Frobenius norm).
eigen.dense.normalizeInPlace(A)
eigen.dense.setIdentity
Set a matrix to identity in-place.
eigen.dense.setIdentity(A)
eigen.dense.setOnes
Set all matrix elements to one in-place.
eigen.dense.setOnes(A)
eigen.dense.setRandom
Set all matrix elements to random values in [-1, 1] in-place.
eigen.dense.setRandom(A)
eigen.dense.setZero
Set all matrix elements to zero in-place.
eigen.dense.setZero(A)
eigen.dense.transpose
Compute the transpose of a matrix: B = A^T
eigen.dense.transpose(A)
eigen.dense.Matrix.zeros
Create a matrix filled with zeros.
eigen.dense.Matrix.zeros(rows, cols)
eigen.dense.Matrix.ones
Create a matrix filled with ones.
eigen.dense.Matrix.ones(rows, cols)
eigen.dense.Matrix.eye
Create an identity matrix.
eigen.dense.Matrix.eye(n)
eigen.dense.Matrix.random
Create a matrix with random values in [-1, 1].
eigen.dense.Matrix.random(rows, cols)
eigen.dense.Matrix.from
Create a matrix from a 2D array.
eigen.dense.Matrix.from(arr2d)
eigen.dense.Matrix.fromData
Create a matrix from a Float64Array (column-major).
eigen.dense.Matrix.fromData(data, rows, cols)
eigen.dense.Matrix.diag
Create a diagonal matrix.
eigen.dense.Matrix.diag(values)
eigen.dense.Matrix.full
Create a matrix filled with a constant value.
eigen.dense.Matrix.full(rows, cols, value)
eigen.operators.addOp
Add two linear operators: (A + B) * x = A * x + B * x
eigen.operators.addOp(A, B)
eigen.operators.affineOp
Create an operator that applies A and then adds a constant vector.
eigen.operators.affineOp(A, b)
eigen.operators.blockDiagonalOp
Create a block diagonal operator from multiple operators.
eigen.operators.blockDiagonalOp(operators, inputDims, outputDims)
eigen.operators.cacheOp
Wrap an operator to cache its result for repeated calls with the same input.
eigen.operators.cacheOp(A)
eigen.operators.composeOp
Compose two linear operators: (A * B) * x = A(B(x))
eigen.operators.composeOp(A, B)
eigen.operators.linearCombinationOp
Create a linear combination of operators: (alpha*A + beta*B) * x
eigen.operators.linearCombinationOp(alpha, A, beta, B)
eigen.operators.negOp
Negate a linear operator: (-A) * x = -(A * x)
eigen.operators.negOp(A)
eigen.operators.scaleOp
Scale a linear operator: (alpha * A) * x = alpha * (A * x)
eigen.operators.scaleOp(A, alpha)
eigen.operators.stackOp
Create an operator that applies multiple operators and returns the concatenated result.
eigen.operators.stackOp(operators)
eigen.operators.subOp
Subtract two linear operators: (A - B) * x = A * x - B * x
eigen.operators.subOp(A, B)
eigen.operators.transposeOp
Create the transpose operator: A^T where A^T(y) = A^*(y) in the dual sense.
eigen.operators.transposeOp(_A, transposeOperator)
eigen.operators.denseMatvec
Create a matrix-vector multiplication operator from a dense matrix.
eigen.operators.denseMatvec(A)
eigen.operators.denseMatvecTranspose
Create a transpose matrix-vector operator: x -> A^T * x
eigen.operators.denseMatvecTranspose(A)
eigen.operators.diagMatvec
Create a diagonal matrix-vector operator from a vector of diagonal elements.
eigen.operators.diagMatvec(d)
eigen.operators.identityOp
Create an identity operator: x -> x (copy)
eigen.operators.identityOp(n)
eigen.operators.sparseMatvec
Create a matrix-vector multiplication operator from a sparse matrix.
eigen.operators.sparseMatvec(S)
eigen.operators.symmetricMatvec
Create a symmetric matrix-vector operator with only lower triangular storage.
eigen.operators.symmetricMatvec(A)
eigen.operators.zeroOp
Create a zero operator: x -> 0
eigen.operators.zeroOp(m, n?)
eigen.solvers.solveCholesky
Solve the linear system Ax = b using Cholesky decomposition.
eigen.solvers.solveCholesky(A, b)
eigen.solvers.solveNormalEquations
Solve the normal equations A^T A x = A^T b using Cholesky decomposition.
eigen.solvers.solveNormalEquations(A, b)
eigen.solvers.lstsq
Solve the least squares problem: minimize ||Ax - b||_2
eigen.solvers.lstsq(A, b)
eigen.solvers.lstsqFull
Solve least squares with full diagnostic output.
eigen.solvers.lstsqFull(A, b, rcond?)
eigen.solvers.lstsqWeighted
Solve weighted least squares: minimize ||W^(1/2)(Ax - b)||_2
eigen.solvers.lstsqWeighted(A, b, weights)
eigen.solvers.inverseLU
Compute the inverse of a matrix using LU decomposition.
eigen.solvers.inverseLU(A)
eigen.solvers.solveLU
Solve the linear system Ax = b using LU decomposition.
eigen.solvers.solveLU(A, b)
eigen.solvers.leastSquaresQR
Solve a least squares problem: minimize ||Ax - b||_2
eigen.solvers.leastSquaresQR(A, b)
eigen.solvers.solveQR
Solve the linear system Ax = b using QR decomposition.
eigen.solvers.solveQR(A, b)
eigen.solvers.solve
Solve the linear system Ax = b.
eigen.solvers.solve(A, b)
eigen.solvers.solveMultiple
Solve multiple linear systems with the same coefficient matrix.
eigen.solvers.solveMultiple(A, B)
eigen.sparse.destroySparse
Destroy a sparse matrix and free its memory.
eigen.sparse.destroySparse(S)
eigen.sparse.sparse
Create an empty sparse matrix with given dimensions.
eigen.sparse.sparse(rows, cols)
eigen.sparse.sparseDiag
Create a sparse diagonal matrix.
eigen.sparse.sparseDiag(diagonal)
eigen.sparse.sparseEye
Create a sparse identity matrix.
eigen.sparse.sparseEye(n)
eigen.sparse.sparseFromCOO
Create a sparse matrix from COO (Coordinate) format arrays.
eigen.sparse.sparseFromCOO(rows, cols, rowIndices, colIndices, values)
eigen.sparse.sparseFromDense
Create a sparse matrix from a dense matrix, keeping only non-zero elements.
eigen.sparse.sparseFromDense(denseHandle, tol?)
eigen.sparse.sparseFromTriplets
Create a sparse matrix from a list of triplets (COO format).
eigen.sparse.sparseFromTriplets(rows, cols, triplets)
eigen.sparse.createMatvec
Create a sparse matrix-vector product function (closure).
eigen.sparse.createMatvec(S)
eigen.sparse.density
Get the density of a sparse matrix (nnz / total elements).
eigen.sparse.density(S, rows, cols)
eigen.sparse.isEmpty
Check if a sparse matrix is empty (has no non-zeros).
eigen.sparse.isEmpty(S)
eigen.sparse.nnz
Get the number of non-zero elements in a sparse matrix.
eigen.sparse.nnz(S)
eigen.sparse.sparseMV
Compute sparse matrix-vector product: y = S * x
eigen.sparse.sparseMV(S, x)
eigen.sparse.sparseSolve
Solve sparse linear system with automatic method selection.
eigen.sparse.sparseSolve(S, b, method?)
eigen.sparse.sparseSolveBiCGSTAB
Solve sparse linear system Ax = b using BiCGSTAB method.
eigen.sparse.sparseSolveBiCGSTAB(S, b, _options?)
eigen.sparse.sparseSolveCG
Solve sparse linear system Ax = b using Conjugate Gradient method.
eigen.sparse.sparseSolveCG(S, b, _options?)
eigen.sparse.sparseSolveLU
Solve sparse linear system Ax = b using SparseLU (direct method).
eigen.sparse.sparseSolveLU(S, b)
eigen.sparse.SparseMatrix.create
Create an empty sparse matrix with given dimensions.
eigen.sparse.SparseMatrix.create(rows, cols)
eigen.sparse.SparseMatrix.fromTriplets
Create a sparse matrix from triplets (COO format).
eigen.sparse.SparseMatrix.fromTriplets(rows, cols, triplets)
eigen.sparse.SparseMatrix.fromCOO
Create a sparse matrix from separate COO arrays.
eigen.sparse.SparseMatrix.fromCOO(rows, cols, rowIndices, colIndices, values)
eigen.sparse.SparseMatrix.fromDense
Create a sparse matrix from a dense 2D array.
eigen.sparse.SparseMatrix.fromDense(data, tolerance?)
eigen.sparse.SparseMatrix.eye
Create a sparse identity matrix.
eigen.sparse.SparseMatrix.eye(n)
eigen.sparse.SparseMatrix.diag
Create a sparse diagonal matrix.
eigen.sparse.SparseMatrix.diag(diagonal)
eigen.sparse.SparseMatrix.tridiag
Create a sparse tridiagonal matrix.
eigen.sparse.SparseMatrix.tridiag(n, lower, main, upper)
eigen.sparse.SparseMatrix.banded
Create a sparse matrix from a banded structure.
eigen.sparse.SparseMatrix.banded(n, bands)
eigen.utilities.block
Extract a submatrix (block) from a matrix.
eigen.utilities.block(A, startRow, startCol, numRows, numCols)
eigen.utilities.blockDiag
Create a block diagonal matrix from multiple matrices.
eigen.utilities.blockDiag(matrices)
eigen.utilities.col
Extract a column from a matrix as a vector.
eigen.utilities.col(A, j)
eigen.utilities.diagonal
Extract the diagonal of a matrix as a vector.
eigen.utilities.diagonal(A, k?)
eigen.utilities.flatten
Flatten a matrix to a vector.
eigen.utilities.flatten(A, order?)
eigen.utilities.hstack
Horizontally concatenate matrices: [A, B, C, ...]
eigen.utilities.hstack(matrices)
eigen.utilities.reshape
Reshape a matrix to new dimensions.
eigen.utilities.reshape(A, newRows, newCols)
eigen.utilities.row
Extract a row from a matrix as a vector.
eigen.utilities.row(A, i)
eigen.utilities.selectCols
Extract columns from a matrix.
eigen.utilities.selectCols(A, indices)
eigen.utilities.selectRows
Extract rows from a matrix.
eigen.utilities.selectRows(A, indices)
eigen.utilities.setBlock
Set a block of a matrix to values from another matrix.
eigen.utilities.setBlock(A, startRow, startCol, B)
eigen.utilities.setCol
Set a column of a matrix from a vector.
eigen.utilities.setCol(A, j, v)
eigen.utilities.setDiagonal
Set the diagonal of a matrix from a vector.
eigen.utilities.setDiagonal(A, v, k?)
eigen.utilities.setRow
Set a row of a matrix from a vector.
eigen.utilities.setRow(A, i, v)
eigen.utilities.vstack
Vertically concatenate matrices: [A; B; C; ...]
eigen.utilities.vstack(matrices)
eigen.utilities.cond
Compute the condition number of a matrix using SVD.
eigen.utilities.cond(A)
eigen.utilities.frobeniusNorm
Compute the Frobenius norm of a matrix.
eigen.utilities.frobeniusNorm(A)
eigen.utilities.nuclearNorm
Compute the nuclear norm (trace norm) of a matrix.
eigen.utilities.nuclearNorm(A)
eigen.utilities.nullspace
Compute an orthonormal basis for the null space of A.
eigen.utilities.nullspace(A, tolerance?)
eigen.utilities.numericalRank
Compute the numerical rank using a tolerance.
eigen.utilities.numericalRank(A, tolerance?)
eigen.utilities.pinv
Compute the Moore-Penrose pseudoinverse of a matrix.
eigen.utilities.pinv(A, tolerance?)
eigen.utilities.range
Compute an orthonormal basis for the column space (range) of A.
eigen.utilities.range(A, tolerance?)
eigen.utilities.rank
Compute the matrix rank using SVD.
eigen.utilities.rank(A, tolerance?)
eigen.utilities.spectralNorm
Compute the spectral norm (2-norm) of a matrix.
eigen.utilities.spectralNorm(A)
eigen.utilities.isDiagonal
Check if a matrix is diagonal.
eigen.utilities.isDiagonal(A, tolerance?)
eigen.utilities.isEqual
Check if two matrices are equal within a tolerance.
eigen.utilities.isEqual(A, B, tolerance?)
eigen.utilities.isIdentity
Check if a matrix is the identity matrix.
eigen.utilities.isIdentity(A, tolerance?)
eigen.utilities.isInvertible
Check if a matrix is invertible (non-singular).
eigen.utilities.isInvertible(A, tolerance?)
eigen.utilities.isLowerTriangular
Check if a matrix is lower triangular.
eigen.utilities.isLowerTriangular(A, tolerance?)
eigen.utilities.isOrthogonal
Check if a matrix is orthogonal (A^T * A = I).
eigen.utilities.isOrthogonal(A, tolerance?)
eigen.utilities.isPositiveDefinite
Check if a matrix is positive definite.
eigen.utilities.isPositiveDefinite(A)
eigen.utilities.isPositiveSemiDefinite
Check if a matrix is positive semi-definite.
eigen.utilities.isPositiveSemiDefinite(A, tolerance?)
eigen.utilities.isSingular
Check if a matrix is singular (determinant is zero).
eigen.utilities.isSingular(A, tolerance?)
eigen.utilities.isSquare
Check if a matrix is square (rows == cols).
eigen.utilities.isSquare(A)
eigen.utilities.isSymmetric
Check if a matrix is symmetric (A == A^T) within a tolerance.
eigen.utilities.isSymmetric(A, tolerance?)
eigen.utilities.isUpperTriangular
Check if a matrix is upper triangular.
eigen.utilities.isUpperTriangular(A, tolerance?)
eigen.utilities.isZero
Check if a matrix is the zero matrix.
eigen.utilities.isZero(A, tolerance?)
eigen.vector.dataPtrVec
Get the raw data pointer for a vector.
eigen.vector.dataPtrVec(v)
eigen.vector.destroyVec
Free the memory associated with a vector.
eigen.vector.destroyVec(v)
eigen.vector.firstVec
Get the first element of a vector.
eigen.vector.firstVec(v)
eigen.vector.getVec
Get a single element from a vector.
eigen.vector.getVec(v, i)
eigen.vector.lastVec
Get the last element of a vector.
eigen.vector.lastVec(v)
eigen.vector.setVec
Set a single element in a vector.
eigen.vector.setVec(v, i, value)
eigen.vector.sizeVec
Get the size (length) of a vector.
eigen.vector.sizeVec(v)
eigen.vector.sliceVec
Get a slice of a vector as a new Float64Array.
eigen.vector.sliceVec(v, start, end)
eigen.vector.toArrayVec
Convert a vector to a Float64Array.
eigen.vector.toArrayVec(v)
eigen.vector.toJSArrayVec
Convert a vector to a JavaScript array.
eigen.vector.toJSArrayVec(v)
eigen.vector.arangeVec
Create a vector with values from start to end with given step.
eigen.vector.arangeVec(start, end, step?)
eigen.vector.basisVec
Create a standard basis vector (one-hot vector).
eigen.vector.basisVec(n, i)
eigen.vector.cloneVec
Create a copy of a vector.
eigen.vector.cloneVec(v)
eigen.vector.fullVec
Create a vector filled with a constant value.
eigen.vector.fullVec(n, value)
eigen.vector.linspaceVec
Create a vector with linearly spaced values.
eigen.vector.linspaceVec(start, end, n)
eigen.vector.onesVec
Create a vector filled with ones.
eigen.vector.onesVec(n)
eigen.vector.randomVec
Create a vector with random values in [-1, 1].
eigen.vector.randomVec(n)
eigen.vector.vector
Create a vector from a Float64Array.
eigen.vector.vector(data)
eigen.vector.vectorFromArray
Create a vector from a JavaScript array.
eigen.vector.vectorFromArray(arr)
eigen.vector.zerosVec
Create a vector filled with zeros.
eigen.vector.zerosVec(n)
eigen.vector.addVec
Add two vectors: w = u + v
eigen.vector.addVec(u, v)
eigen.vector.angleVec
Compute the angle between two vectors in radians.
eigen.vector.angleVec(u, v)
eigen.vector.cross
Compute the cross product of two 3D vectors: u × v
eigen.vector.cross(u, v)
eigen.vector.distanceVec
Compute the distance between two vectors: ||u - v||_2
eigen.vector.distanceVec(u, v)
eigen.vector.dot
Compute the dot product of two vectors: u · v
eigen.vector.dot(u, v)
eigen.vector.elementMulVec
Compute element-wise product: w_i = u_i * v_i
eigen.vector.elementMulVec(u, v)
eigen.vector.maxVec
Find the maximum element.
eigen.vector.maxVec(v)
eigen.vector.meanVec
Compute the mean of all elements.
eigen.vector.meanVec(v)
eigen.vector.minVec
Find the minimum element.
eigen.vector.minVec(v)
eigen.vector.negVec
Negate a vector: w = -v
eigen.vector.negVec(v)
eigen.vector.norm1Vec
Compute the L1 norm (Manhattan norm): ||v||_1 = sum(|v_i|)
eigen.vector.norm1Vec(v)
eigen.vector.normalizeVec
Return a normalized copy of a vector.
eigen.vector.normalizeVec(v)
eigen.vector.normalizeVecInPlace
Normalize a vector in-place (divide by its norm).
eigen.vector.normalizeVecInPlace(v)
eigen.vector.normInfVec
Compute the infinity norm (max norm): ||v||_∞ = max(|v_i|)
eigen.vector.normInfVec(v)
eigen.vector.normSquaredVec
Compute the squared Euclidean norm: ||v||_2^2 = sum(v_i^2)
eigen.vector.normSquaredVec(v)
eigen.vector.normVec
Compute the Euclidean (L2) norm of a vector: ||v||_2 = sqrt(sum(v_i^2))
eigen.vector.normVec(v)
eigen.vector.scaleVec
Scale a vector: w = scalar * v
eigen.vector.scaleVec(v, scalar)
eigen.vector.subVec
Subtract two vectors: w = u - v
eigen.vector.subVec(u, v)
eigen.vector.sumVec
Compute the sum of all elements.
eigen.vector.sumVec(v)
eigen.vector.Vector.zeros
Create a vector filled with zeros.
eigen.vector.Vector.zeros(n)
eigen.vector.Vector.ones
Create a vector filled with ones.
eigen.vector.Vector.ones(n)
eigen.vector.Vector.random
Create a vector with random values in [-1, 1].
eigen.vector.Vector.random(n)
eigen.vector.Vector.from
Create a vector from a JavaScript array.
eigen.vector.Vector.from(arr)
eigen.vector.Vector.fromData
Create a vector from a Float64Array.
eigen.vector.Vector.fromData(data)
eigen.vector.Vector.full
Create a vector filled with a constant value.
eigen.vector.Vector.full(n, value)
eigen.vector.Vector.basis
Create a standard basis vector (one-hot).
eigen.vector.Vector.basis(n, i)
eigen.vector.Vector.linspace
Create a vector with linearly spaced values.
eigen.vector.Vector.linspace(start, end, n)