koblas

F64SparseLuFactorization

Sparse LU factorization P·B·Q = L·U of an m × m matrix with Markowitz threshold pivoting. The factors are held in both orientations, indexed by pivot position.

Types

Link copied to clipboard
object Companion

Entry points for factorizing.

Properties

failedAt

open override val failedAt: Int(source)

Always NOT_SINGULAR: a F64SparseLuFactorization only exists for a matrix that factored completely.

n

open override val n: Int(source)

The dimension of the factored matrix.

nnz

open override val nnz: Int(source)

Nonzeros in L and U including the diagonal, the factorization's fill.

rcond

open override val rcond: Double(source)

A cheap pivot-quality estimate: min(abs(U(k, k))) / max(abs(U(k, k))). A small value warns that the factorization may be inaccurate; it is not a reciprocal condition-number estimate.

Link copied to clipboard
open val singular: Boolean

Whether the factorization failed for want of a numerically acceptable pivot. Solving against one throws com.eignex.koblas.SingularMatrix rather than answering with infinities.

Functions

solveInto

open override fun solveInto(b: DoubleArray, out: DoubleArray, transpose: Boolean = false, workspace: Workspace? = null): DoubleArray(source)

Solve B x = b, or Bᵀ x = b when transpose, into out. b is indexed by original row and the result by original column.

Link copied to clipboard
open fun solve(b: DoubleArray, transpose: Boolean = false): DoubleArray

Solve B x = b, or Bᵀ x = b when transpose, into a fresh result.