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


Julia LinearAlgebra.cholesky!用法及代码示例


用法一

cholesky!(F::CHOLMOD.Factor, A::SparseMatrixCSC; shift = 0.0, check = true) -> CHOLMOD.Factor

计算 A 的 Cholesky (LL' ) 分解,重用符号分解 FA 必须是 SparseMatrixCSC SparseMatrixCSC Symmetric / Hermitian 视图。请注意,即使A 没有类型标签,它仍然必须是对称的或 Hermitian。

另见 cholesky

注意

此方法使用 SuiteSparse 中的 CHOLMOD 库,该库仅支持双打或复双打。不属于这些元素类型的输入矩阵将酌情转换为SparseMatrixCSC{Float64}SparseMatrixCSC{ComplexF64}

用法二

cholesky!(A::StridedMatrix, Val(false); check = true) -> Cholesky

cholesky 相同,但通过覆盖输入 A 而不是创建副本来节省空间。如果因式分解产生的数字不能由 A 的元素类型表示,则会引发 InexactError 异常,例如对于整数类型。

例子

julia> A = [1 2; 2 50]
2×2 Matrix{Int64}:
 1   2
 2  50

julia> cholesky!(A)
ERROR: InexactError: Int64(6.782329983125268)
Stacktrace:
[...]

用法三

cholesky!(A::StridedMatrix, Val(true); tol = 0.0, check = true) -> CholeskyPivoted

cholesky 相同,但通过覆盖输入 A 而不是创建副本来节省空间。如果因式分解产生的数字不能由 A 的元素类型表示,则会引发 InexactError 异常,例如对于整数类型。

相关用法


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