You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -382,7 +396,7 @@ function klu_analyze!(K::KLUFactorization{Tv, Ti}; check=true) where {Tv, Ti<:KL
382
396
return K
383
397
end
384
398
385
-
# User provided permutation vectors:
399
+
"""Variant of `klu_analyze!` that allows for user-provided permutation permutation vectors `P` and `Q`."""
386
400
functionklu_analyze!(K::KLUFactorization{Tv, Ti}, P::Vector{Ti}, Q::Vector{Ti}; check=true) where {Tv, Ti<:KLUITypes}
387
401
if K._symbolic !=C_NULLreturn K end
388
402
sym =__analyze!(K.n, K.colptr, K.rowval, P, Q, Ref(K.common))
@@ -517,6 +531,8 @@ The relation between `K` and `A` is
517
531
- `check::Bool`: If `true` (default) check for errors after the factorization. If `false` errors must be checked by the user with `klu.common.status`.
518
532
- `allowsingular::Bool`: If `true` (default `false`) allow the factorization to proceed even if the matrix is singular. Note that this will allow for
519
533
silent divide by zero errors in subsequent `solve!` or `ldiv!` calls if singularity is not checked by the user with `klu.common.status == KLU.KLU_SINGULAR`
534
+
- `full_factor::Bool`: if `true` (default), perform both numeric and symbolic factorization. If `false`, only perform symbolic factorization.
535
+
Useful for cases where only the sparse structure of `A` is known at time of construction.
520
536
521
537
!!! note
522
538
`klu(A::SparseMatrixCSC)` uses the KLU[^ACM907] library that is part of
@@ -526,31 +542,56 @@ The relation between `K` and `A` is
526
542
527
543
[^ACM907]: Davis, Timothy A., & Palamadai Natarajan, E. (2010). Algorithm 907: KLU, A Direct Sparse Solver for Circuit Simulation Problems. ACM Trans. Math. Softw., 37(3). doi:10.1145/1824801.1824814
528
544
"""
529
-
functionklu(n, colptr::Vector{Ti}, rowval::Vector{Ti}, nzval::Vector{Tv}; check=true, allowsingular=false) where {Ti<:KLUITypes, Tv<:AbstractFloat}
0 commit comments