mpglu!: Factor a MPGArray and set it up for GMRES by allocating room for Krylov vectors etc

MultiPrecisionArrays.mpglu!Method

mpglu!(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.

source
MultiPrecisionArrays.mpglu!Method

mpglu!(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

source