MADNESS 0.10.1
Classes | Namespaces | Functions
gmres.h File Reference

Defines a general operator interface and a templated GMRES solver for solving linear equations. More...

#include <madness/tensor/tensor.h>
#include <madness/world/print.h>
#include <iostream>
#include <madness/tensor/tensor_lapack.h>
Include dependency graph for gmres.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  madness::AbstractVectorSpace< T, real_type, scalar_type >
 A generic vector space which provides common operations needed by linear algebra routines (norm, inner product, etc.) More...
 
class  madness::FunctionSpace< T, NDIM >
 A vector space using MADNESS Functions. More...
 
class  madness::Operator< T >
 A generic operator: takes in one T and produces another T. More...
 
class  madness::VectorOfFunctionsSpace< T, VDIM, FDIM >
 A vector space using MADNESS Vectors of MADNESS Functions. More...
 
class  madness::VectorSpace< T, NDIM >
 A vector space using MADNESS Vectors. More...
 

Namespaces

namespace  madness
 Namespace for all elements and tools of MADNESS.
 

Functions

template<typename T , typename real_type , typename scalar_type >
void madness::GMRES (const AbstractVectorSpace< T, real_type, scalar_type > &space, const Operator< T > &op, const T &b, T &x, int &maxiters, real_type &resid_thresh, real_type &update_thresh, const bool outp=false)
 A GMRES solver routine for linear systems, $ \mathbf{A} \vec{x} = \vec{b} $.
 
double madness::imag (double x)
 
double madness::real (double x)
 

Detailed Description

Defines a general operator interface and a templated GMRES solver for solving linear equations.

An AbstractVectorSpace class is also defined to guarantee a uniform way for linear algebra routines to access common operations like norm, inner product etc. Implementations for MADNESS Vectors and Functions are provided in the VectorSpace<floating_point, NDIM> and FunctionSpace<floating_point, NDIM> classes.