libgenua
Basic Geometry, Numerical Algorithms and Interfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Public Member Functions | Private Attributes | List of all members
RpcOperator< Scalar > Class Template Reference

Detailed Description

template<typename Scalar>
class RpcOperator< Scalar >

Wrapper for right preconditioning.

A thin adapter class which permits the iterative solvers LSQR and LSMR to be used with right-side preconditioning. The preconditioner must be square, that is, of size n-by-n, and needs to support the transpose solve operation.

See Also
LsqrSolver, LsmrSolver

#include <stanfordsolver.h>

Collaboration diagram for RpcOperator< Scalar >:
[legend]

Public Member Functions

 RpcOperator (const CsrMatrix< Scalar, 1 > &op, PreconPtr p=PreconPtr())
 initialize with right-preconditioning operator
 
void muladd (const DVector< Scalar > &x, DVector< Scalar > &y)
 compute y <- this*x
 
void muladdTransposed (const DVector< Scalar > &x, DVector< Scalar > &y)
 compute y <- transpose(this)*x
 

Private Attributes

CsrMatrix< Scalar, 1 > & m_op
 the original operator
 
DVector< Scalar > & m_w
 temporary for variable transformation
 
PreconPtr m_pc
 transforms A*x = b to A*(M*z) = b
 

The documentation for this class was generated from the following file: