Class SparseSymmetricCGMultipleRHS
  
  [RMS] this is a variant of SparseSymmetricCG that supports multiple right-hand-sides.
Makes quite a big difference as matrix gets bigger, because MultiplyF can
unroll inner loops (as long as you actually do that)
However, if this is done then it is not really possible to do different numbers
of iterations for different RHS's. We will not update that RHS once it has 
converged, however we still have to do the multiplies!
 
  
  
    Inheritance
    
    SparseSymmetricCGMultipleRHS
   
  
  Namespace: g3
  Assembly: cs.temp.dll.dll
  Syntax
  
    public class SparseSymmetricCGMultipleRHS
   
  Fields
  
  
  
  B
  
  
  Declaration
  
  Field Value
  
  
  
  ConvergeTolerance
  
  
  Declaration
  
    public double ConvergeTolerance
   
  Field Value
  
  
  
  Iterations
  
  
  Declaration
  
  Field Value
  
  
  
  MaxIterations
  
  
  Declaration
  
  Field Value
  
  
  
  MultiplyF
  
  
  Declaration
  
    public Action<double[][], double[][]> MultiplyF
   
  Field Value
  
  
  
  PreconditionMultiplyF
  
  
  Declaration
  
    public Action<double[][], double[][]> PreconditionMultiplyF
   
  Field Value
  
  
  
  UseXAsInitialGuess
  
  
  Declaration
  
    public bool UseXAsInitialGuess
   
  Field Value
  
  
  
  X
  
  
  Declaration
  
  Field Value
  
  Methods
  
  
  
  
  Solve()
  
  
  Declaration
  
  Returns
  
  
  
  
  SolvePreconditioned()
  Preconditioned variant
Similar to non-preconditioned version, this can suffer if one solution converges
much slower than others, as we can't skip matrix multiplies in that case.
 
  
  Declaration
  
    public bool SolvePreconditioned()
   
  Returns