mpglu!: Factor a MPGArray and set it up for GMRES by allocating room for Krylov vectors etc
MultiPrecisionArrays.mpglu!
— Methodmpglu!(MPGA::MPGArray; residterm=residtermdefault) Factor a MPGArray using the allocations from the structure.
This function factors the low precision copy and leaves the high precision matrix alone. The constructor for MPGArray allocates storage for basissize
Kylov vectors and some other things GMRES needs. You get a factorization object as output and can use \
to solve linear systems.
The kwarg residterm
sets the termination criterion. residterm == true
(default) terminates the iteration on small residuals. residterm == false
terminates the iteration on small normwise backward errors. Look at the docs for details.
MultiPrecisionArrays.mpglu!
— Methodmpglu!(MPG::MPGEFact, A::AbstractArray{TW,2}) where TW <: Real Overwrite a multiprecision factorization MPF to reuse the storage to make a multiprecision of a new matrix A.
This will, of course, trash the original factorization.
To use this do
MPG=mpglu!(MPG,A)
Simply using
mpglu!(MPG,A) # Don't do this.
(ie without explicitly returning MPG)
may not do what you want because the multiprecision factorization structure is immutable and MPF.AF.info cannot be changed.
Reassigning MPG works and resuses almost all of the storage in the original array