稀疏实现:CSR(行) + CSC(列) 双副本。 正规方程 A·Θ·Aᵀ 稀疏装配后优先走稀疏 LDLᵀ, fill-in 超阈值或分解失败时自动降级为雅可比预条件 PCG(零 fill-in,无 OOM 风险)。
SparseLpMatrix
01 Syntax
Microsoft.VisualBasic.Math.LinearAlgebra.LinearProgramming.IPMCrossover.SparseLpMatrix
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| .ctor | 1 | 直接从 CSR 三分量构造(避免中间对象) |
| NormalMatrix | 1 | A·Θ·Aᵀ(按 θ 引用缓存) |
| DisableChol | 1 | 把"改用 PCG"的决定回写到矩阵对象(后续迭代不再尝试 LDLᵀ) |
| Mv | 1 | |
| Mtv | 1 | |
| Column | 1 | |
| FactorNormal | 1 | |
| NormalDiag | 1 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| MaxCholNnz | 1 | 稀疏 LDLᵀ 的 fill-in 上限(条目数),超过则永久降级为 PCG |
| CholRowLimit | 1 | 规模小于该行数时优先尝试稀疏 LDLᵀ |
| Rows | 1 | |
| Columns | 1 | |
| NonZeros | 1 | |
| UsingIterative | 1 |
04 Members
#ctor(
Int32, Int32, Int32(), Int32(), Double())直接从 CSR 三分量构造(避免中间对象)
NormalMatrix(
Double())A·Θ·Aᵀ(按 θ 引用缓存)
DisableChol
把"改用 PCG"的决定回写到矩阵对象(后续迭代不再尝试 LDLᵀ)
MaxCholNnz
稀疏 LDLᵀ 的 fill-in 上限(条目数),超过则永久降级为 PCG
CholRowLimit
规模小于该行数时优先尝试稀疏 LDLᵀ
Rows
Columns
NonZeros
UsingIterative
Mv(
Double())Mtv(
Double())Column(
Int32)FactorNormal(
Double(), Double)NormalDiag(
Double())