@@ -3,13 +3,13 @@ $(TYPEDEF)
33
44Parallel Jacobi preconditioner
55"""
6- struct ParallelJacobiPreconditioner{Tv, Ti} <: AbstractExtendableSparsePreconditioner{Tv,Ti}
7- extmatrix :: ExtendableSparseMatrix{Tv,Ti}
6+ mutable struct ParallelJacobiPreconditioner{Tv, Ti} <: AbstractExtendableSparsePreconditioner{Tv,Ti}
7+ A :: ExtendableSparseMatrix{Tv,Ti}
88 invdiag:: Array{Tv,1}
99end
1010
1111function update! (precon:: ParallelJacobiPreconditioner )
12- cscmatrix= precon. extmatrix . cscmatrix
12+ cscmatrix= precon. A . cscmatrix
1313 invdiag= precon. invdiag
1414 n= cscmatrix. n
1515 Threads. @threads for i= 1 : n
2020
2121"""
2222```
23- ParallelJacobiPreconditioner(extmatrix )
23+ ParallelJacobiPreconditioner(A )
2424ParallelJacobiPreconditioner(cscmatrix)
2525```
2626"""
27- function ParallelJacobiPreconditioner (extmatrix :: ExtendableSparseMatrix{Tv,Ti} ) where {Tv,Ti}
28- @assert size (extmatrix ,1 )== size (extmatrix ,2 )
29- flush! (extmatrix )
30- invdiag= Array {Tv,1} (undef,extmatrix . cscmatrix. n)
31- precon= JacobiPreconditioner {Tv, Ti} (extmatrix ,invdiag)
27+ function ParallelJacobiPreconditioner (A :: ExtendableSparseMatrix{Tv,Ti} ) where {Tv,Ti}
28+ @assert size (A ,1 )== size (A ,2 )
29+ flush! (A )
30+ invdiag= Array {Tv,1} (undef,A . cscmatrix. n)
31+ precon= JacobiPreconditioner {Tv, Ti} (A ,invdiag)
3232 update! (precon)
3333end
3434
0 commit comments