用法:
factorize(A)
根据输入矩阵的类型计算 A
的方便分解。 factorize
检查 A
以查看它是否是对称/三角形/等。如果 A
作为通用矩阵传递。 factorize
检查 A
的每个元素以验证/排除每个属性。一旦排除对称/三角形结构,它就会短路。返回值可重复用于多系统的高效求解。例如:A=factorize(A); x=A\b; y=A\C
。
A 的属性 | 分解类型 |
---|---|
Positive-definite | 乔列斯基(见 ) |
密集对称/厄米特 | Bunch-Kaufman(见 ) |
稀疏对称/厄米特 | LDLt(见 ) |
Triangular | Triangular |
Diagonal | Diagonal |
Bidiagonal | Bidiagonal |
Tridiagonal | 卢(见 ) |
对称实三对角线 | LDLt(见 ) |
一般广场 | 卢(见 ) |
一般非方形 | 二维码(见 ) |
例如,如果在 Hermitian 正定矩阵上调用 factorize
,则 factorize
将返回 Cholesky 分解。
例子
julia> A = Array(Bidiagonal(fill(1.0, (5, 5)), :U))
5×5 Matrix{Float64}:
1.0 1.0 0.0 0.0 0.0
0.0 1.0 1.0 0.0 0.0
0.0 0.0 1.0 1.0 0.0
0.0 0.0 0.0 1.0 1.0
0.0 0.0 0.0 0.0 1.0
julia> factorize(A) # factorize will check to see that A is already factorized
5×5 Bidiagonal{Float64, Vector{Float64}}:
1.0 1.0 ⋅ ⋅ ⋅
⋅ 1.0 1.0 ⋅ ⋅
⋅ ⋅ 1.0 1.0 ⋅
⋅ ⋅ ⋅ 1.0 1.0
⋅ ⋅ ⋅ ⋅ 1.0
这将返回一个 5×5 Bidiagonal{Float64}
,现在可以将其传递给其他线性代数函数(例如特征求解器),这些函数将对 Bidiagonal
类型使用专门的方法。
相关用法
- Julia LinearAlgebra.BLAS.dot用法及代码示例
- Julia LinearAlgebra.bunchkaufman用法及代码示例
- Julia LinearAlgebra.cholesky!用法及代码示例
- Julia LinearAlgebra.istriu用法及代码示例
- Julia LinearAlgebra.istril用法及代码示例
- Julia LinearAlgebra.stride1用法及代码示例
- Julia LinearAlgebra.svd用法及代码示例
- Julia LinearAlgebra.logdet用法及代码示例
- Julia LinearAlgebra.eigen用法及代码示例
- Julia LinearAlgebra.BLAS.dotu用法及代码示例
- Julia LinearAlgebra.ldlt!用法及代码示例
- Julia LinearAlgebra.I用法及代码示例
- Julia LinearAlgebra.Transpose用法及代码示例
- Julia LinearAlgebra.det用法及代码示例
- Julia LinearAlgebra.tril!用法及代码示例
- Julia LinearAlgebra.schur!用法及代码示例
- Julia LinearAlgebra.tr用法及代码示例
- Julia LinearAlgebra.axpby!用法及代码示例
- Julia LinearAlgebra.adjoint!用法及代码示例
- Julia LinearAlgebra.eigvecs用法及代码示例
- Julia LinearAlgebra.LU用法及代码示例
- Julia LinearAlgebra.isposdef!用法及代码示例
- Julia LinearAlgebra.LQ用法及代码示例
- Julia LinearAlgebra.normalize用法及代码示例
- Julia LinearAlgebra.diag用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 LinearAlgebra.factorize — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。