11module ExtendableSparse
2- using SparseArrays,StaticArrays
3- using LinearAlgebra
4- using Sparspak
5- using ILUZero
62
7- if ! isdefined (Base, :get_extension )
8- using Requires
9- end
3+ using DocStringExtensions: DocStringExtensions, SIGNATURES, TYPEDEF,TYPEDFIELDS
4+ using ILUZero: ILUZero, ldiv!, nnz
5+ using OhMyThreads: @tasks
6+ using LinearAlgebra: LinearAlgebra, Diagonal, Hermitian, Symmetric, Tridiagonal,
7+ cholesky, cholesky!, convert, lu!, mul!, norm, transpose
8+ using SparseArrays: SparseArrays, AbstractSparseMatrix, SparseMatrixCSC,
9+ dropzeros!, findnz, nzrange, sparse, spzeros
10+ using Sparspak: Sparspak, sparspaklu, sparspaklu!
11+ using StaticArrays: StaticArrays, SMatrix, SVector
12+ using SuiteSparse: SuiteSparse
13+ import SparseArrays: AbstractSparseMatrixCSC, rowvals, getcolptr, nonzeros
14+
1015
1116# Define our own constant here in order to be able to
1217# test things at least a little bit..
@@ -17,58 +22,57 @@ if USE_GPL_LIBS
1722end
1823
1924
20- using DocStringExtensions
21-
22- import SparseArrays: AbstractSparseMatrixCSC, rowvals, getcolptr, nonzeros
2325
2426include (" matrix/sparsematrixcsc.jl" )
27+ include (" matrix/abstractsparsematrixextension.jl" )
2528include (" matrix/sparsematrixlnk.jl" )
29+ include (" matrix/sparsematrixdilnkc.jl" )
30+ include (" matrix/abstractextendablesparsematrixcsc.jl" )
2631include (" matrix/extendable.jl" )
32+ include (" matrix/genericmtextendablesparsematrixcsc.jl" )
33+ include (" matrix/genericextendablesparsematrixcsc.jl" )
34+
35+ const ExtendableSparseMatrix= ExtendableSparseMatrixCSC
36+ const MTExtendableSparseMatrixCSC{Tv,Ti}= GenericMTExtendableSparseMatrixCSC{SparseMatrixDILNKC{Tv,Ti},Tv,Ti}
37+ MTExtendableSparseMatrixCSC (m,n,args... )= MTExtendableSparseMatrixCSC {Float64,Int64} (m,n,args... )
38+
39+ const STExtendableSparseMatrixCSC{Tv,Ti}= GenericExtendableSparseMatrixCSC{SparseMatrixDILNKC{Tv,Ti},Tv,Ti}
40+ STExtendableSparseMatrixCSC (m,n,args... )= STExtendableSparseMatrixCSC {Float64,Int64} (m,n,args... )
2741
28- export SparseMatrixLNK,
29- ExtendableSparseMatrix, flush!, nnz, updateindex!, rawupdateindex!, colptrs, sparse
42+
43+ export ExtendableSparseMatrixCSC, MTExtendableSparseMatrixCSC, STExtendableSparseMatrixCSC, GenericMTExtendableSparseMatrixCSC
44+ export SparseMatrixLNK, ExtendableSparseMatrix,flush!, nnz, updateindex!, rawupdateindex!, colptrs, sparse, reset!, nnznew
45+ export partitioning!
3046
3147export eliminate_dirichlet, eliminate_dirichlet!, mark_dirichlet
3248
3349include (" factorizations/factorizations.jl" )
3450
51+ include (" experimental/Experimental.jl" )
52+
53+ include (" factorizations/simple_iteration.jl" )
54+ export simple, simple!
55+
56+ include (" matrix/sprand.jl" )
57+ export sprand!, sprand_sdd!, fdrand, fdrand!, fdrand_coo, solverbenchmark
58+
59+ export rawupdateindex!, updateindex!
60+
61+
62+
63+
3564export JacobiPreconditioner,
3665 ILU0Preconditioner,
3766 ILUZeroPreconditioner,
3867 PointBlockILUZeroPreconditioner,
3968 ParallelJacobiPreconditioner,
4069 ParallelILU0Preconditioner,
41- BlockPreconditioner,allow_views,
42- reorderlinsys
70+ BlockPreconditioner,allow_views
4371
4472export AbstractFactorization, LUFactorization, CholeskyFactorization, SparspakLU
4573export issolver
4674export factorize!, update!
4775
48- include (" factorizations/simple_iteration.jl" )
49- export simple, simple!
50-
51- include (" matrix/sprand.jl" )
52- export sprand!, sprand_sdd!, fdrand, fdrand!, fdrand_coo, solverbenchmark
53-
54-
55- @static if ! isdefined (Base, :get_extension )
56- function __init__ ()
57- @require Pardiso = " 46dd5b70-b6fb-5a00-ae2d-e8fea33afaf2" begin
58- include (" ../ext/ExtendableSparsePardisoExt.jl" )
59- end
60- @require IncompleteLU = " 40713840-3770-5561-ab4c-a76e7d0d7895" begin
61- include (" ../ext/ExtendableSparseIncompleteLUExt.jl" )
62- end
63- @require AlgebraicMultigrid = " 2169fc97-5a83-5252-b627-83903c6c433c" begin
64- include (" ../ext/ExtendableSparseAlgebraicMultigridExt.jl" )
65- end
66- @require AMGCLWrap = " 4f76b812-4ba5-496d-b042-d70715554288" begin
67- include (" ../ext/ExtendableSparseAMGCLWrapExt.jl" )
68- end
69- end
70- end
71-
7276"""
7377```
7478ILUTPreconditioner(;droptol=1.0e-3)
0 commit comments