稠密线性求解器 使用带部分主元选择的LU分解
DenseLinearSolver
01 Syntax
Microsoft.VisualBasic.Math.Sundials.CVODE.DenseLinearSolver
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| .ctor | 1 | 创建指定大小的线性求解器 |
| Factorize | 1 | 对矩阵进行LU分解(带部分主元选择) 分解后 A = P * L * U,其中P为置换矩阵 |
| EstimateConditionNumber | 1 | 估计矩阵条件数(使用1-范数) |
| Solve | 2 | 求解线性方程组 A*x = b 必须先调用Factorize进行LU分解 |
| MatrixVectorMultiply | 1 | 计算矩阵-向量乘法:y = A * x 使用原始矩阵(分解前) |
| Reset | 1 | 重置求解器状态 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| Dimension | 1 | 获取矩阵维度 |
| IsFactored | 1 | 获取是否已进行LU分解 |
| ConditionNumber | 1 | 获取条件数估计 |
04 Members
#ctor(
Int32)创建指定大小的线性求解器
Parameters
| Name | Type | Description |
|---|---|---|
n | Int32 | 矩阵维度 |
Factorize(DenseMatrix)
对矩阵进行LU分解(带部分主元选择) 分解后 A = P L U,其中P为置换矩阵
Parameters
| Name | Type | Description |
|---|---|---|
A | DenseMatrix | 待分解的矩阵(将被覆盖) |
Returns
分解结果状态
EstimateConditionNumber
估计矩阵条件数(使用1-范数)
求解线性方程组 A*x = b 必须先调用Factorize进行LU分解
Parameters
Returns
求解结果状态
Solve(NVector)
求解线性方程组 A*x = b(创建新向量返回结果)
Parameters
| Name | Type | Description |
|---|---|---|
b | NVector | 右端向量 |
Returns
解向量
计算矩阵-向量乘法:y = A * x 使用原始矩阵(分解前)
Reset
重置求解器状态
Dimension
获取矩阵维度
IsFactored
获取是否已进行LU分解
ConditionNumber
获取条件数估计