当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia LinearAlgebra.factorize用法及代码示例


用法:

factorize(A)

根据输入矩阵的类型计算 A 的方便分解。 factorize 检查 A 以查看它是否是对称/三角形/等。如果 A 作为通用矩阵传递。 factorize 检查 A 的每个元素以验证/排除每个属性。一旦排除对称/三角形结构,它就会短路。返回值可重复用于多系统的高效求解。例如:A=factorize(A); x=A\b; y=A\C

A 的属性分解类型
Positive-definite乔列斯基(见 cholesky )
密集对称/厄米特Bunch-Kaufman(见 bunchkaufman )
稀疏对称/厄米特LDLt(见 ldlt )
TriangularTriangular
DiagonalDiagonal
BidiagonalBidiagonal
Tridiagonal卢(见 lu )
对称实三对角线LDLt(见 ldlt )
一般广场卢(见 lu )
一般非方形二维码(见 qr )

例如,如果在 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 类型使用专门的方法。

相关用法


注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 LinearAlgebra.factorize — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。