MADNESS  version 0.9
Classes | Namespaces | Functions
vmra1.h File Reference
#include <madness/mra/mra.h>
#include <madness/mra/derivative.h>
#include <cstdio>
Include dependency graph for vmra1.h:

Go to the source code of this file.

Classes

struct  madness::MatrixInnerTask< T, R, NDIM >
 

Namespaces

 madness
 Holds machinery to set up Functions/FuncImpls using various Factories and Interfaces.
 

Functions

template<typename T , std::size_t NDIM>
void madness::compress (World &world, const std::vector< Function< T, NDIM > > &v, unsigned int blk=1, bool fence=true)
 Compress a vector of functions. More...
 
template<typename T , std::size_t NDIM>
void madness::reconstruct (World &world, const std::vector< Function< T, NDIM > > &v, unsigned int blk=1, bool fence=true)
 Reconstruct a vector of functions. More...
 
template<typename T , std::size_t NDIM>
void madness::nonstandard (World &world, std::vector< Function< T, NDIM > > &v, unsigned int blk=1, bool fence=true)
 Generates non-standard form of a vector of functions. More...
 
template<typename T , std::size_t NDIM>
void madness::standard (World &world, std::vector< Function< T, NDIM > > &v, unsigned int blk=1, bool fence=true)
 Generates standard form of a vector of functions. More...
 
template<typename T , std::size_t NDIM>
void madness::truncate (World &world, std::vector< Function< T, NDIM > > &v, double tol=0.0, unsigned int blk=1, bool fence=true)
 Truncates a vector of functions. More...
 
template<typename T , std::size_t NDIM>
std::vector< Function< T, NDIM > > madness::apply (World &world, const Derivative< T, NDIM > &D, const std::vector< Function< T, NDIM > > &v, const unsigned int blk=1, const bool fence=true)
 Applies a derivative operator to a vector of functions. More...
 
template<typename T , std::size_t NDIM>
std::vector< Function< T, NDIM > > madness::zero_functions (World &world, int n)
 Generates a vector of zero functions. More...
 
template<typename T , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(T, R),
NDIM > > 
madness::transform (World &world, const std::vector< Function< T, NDIM > > &v, const Tensor< R > &c, unsigned int blki=1, unsigned int blkj=1, const bool fence=true)
 Transforms a vector of functions according to new[i] = sum[j] old[j]*c[j,i]. More...
 
template<typename L , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(L, R),
NDIM > > 
madness::transform (World &world, const std::vector< Function< L, NDIM > > &v, const Tensor< R > &c, const double tol, const unsigned int blki=1, const bool fence)
 
template<typename T , typename Q , std::size_t NDIM>
void madness::scale (World &world, std::vector< Function< T, NDIM > > &v, const std::vector< Q > &factors, const unsigned int blk=1, const bool fence=true)
 Scales inplace a vector of functions by distinct values. More...
 
template<typename T , typename Q , std::size_t NDIM>
void madness::scale (World &world, std::vector< Function< T, NDIM > > &v, const Q factor, const unsigned int blk=1, const bool fence=true)
 Scales inplace a vector of functions by the same. More...
 
template<typename T , std::size_t NDIM>
std::vector< double > madness::norm2s (World &world, const std::vector< Function< T, NDIM > > &v, const unsigned int blk=1, const bool fence=true)
 Computes the 2-norms of a vector of functions. More...
 
template<typename T , std::size_t NDIM>
double madness::norm2 (World &world, const std::vector< Function< T, NDIM > > &v)
 Computes the 2-norm of a vector of functions. More...
 
double madness::conj (double x)
 
double madness::conj (float x)
 
template<typename T , typename R , std::size_t NDIM>
Tensor< TENSOR_RESULT_TYPE(T, R) > madness::matrix_inner (World &world, const std::vector< Function< T, NDIM > > &f, const std::vector< Function< R, NDIM > > &g, bool sym=false)
 Computes the matrix inner product of two function vectors - q(i,j) = inner(f[i],g[j]) More...
 
template<typename T , typename R , std::size_t NDIM>
Tensor< TENSOR_RESULT_TYPE(T, R) > madness::inner (World &world, const std::vector< Function< T, NDIM > > &f, const std::vector< Function< R, NDIM > > &g)
 Computes the element-wise inner product of two function vectors - q(i) = inner(f[i],g[i]) More...
 
template<typename T , typename R , std::size_t NDIM>
Tensor< TENSOR_RESULT_TYPE(T, R) > madness::inner (World &world, const Function< T, NDIM > &f, const std::vector< Function< R, NDIM > > &g)
 Computes the inner product of a function with a function vector - q(i) = inner(f,g[i]) More...
 
template<typename T , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(T, R),
NDIM > > 
madness::mul (World &world, const Function< T, NDIM > &a, const std::vector< Function< R, NDIM > > &v, const unsigned int blk=1, const bool fence=true)
 Multiplies a function against a vector of functions — q[i] = a * v[i]. More...
 
template<typename T , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(T, R),
NDIM > > 
madness::mul_sparse (World &world, const Function< T, NDIM > &a, const std::vector< Function< R, NDIM > > &v, const double tol, const bool fence=true, const unsigned int blk=1)
 Multiplies a function against a vector of functions using sparsity of a and v[i] — q[i] = a * v[i]. More...
 
template<typename T , std::size_t NDIM>
void madness::norm_tree (World &world, const std::vector< Function< T, NDIM > > &v, bool fence=true, unsigned int blk=1)
 Makes the norm tree for all functions in a vector. More...
 
template<typename T , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(T, R),
NDIM > > 
madness::mul (World &world, const std::vector< Function< T, NDIM > > &a, const std::vector< Function< R, NDIM > > &b, bool fence=true, unsigned int blk=1)
 Multiplies two vectors of functions q[i] = a[i] * b[i]. More...
 
template<typename T , std::size_t NDIM>
std::vector< Function< T, NDIM > > madness::square (World &world, const std::vector< Function< T, NDIM > > &v, bool fence=true)
 Computes the square of a vector of functions — q[i] = v[i]**2. More...
 
template<typename T , std::size_t NDIM>
void madness::set_thresh (World &world, std::vector< Function< T, NDIM > > &v, double thresh, bool fence=true)
 Sets the threshold in a vector of functions. More...
 
template<typename T , std::size_t NDIM>
std::vector< Function< T, NDIM > > madness::conj (World &world, const std::vector< Function< T, NDIM > > &v, bool fence=true)
 Returns the complex conjugate of the vector of functions. More...
 
template<typename T , std::size_t NDIM>
std::vector< Function< T, NDIM > > madness::copy (World &world, const std::vector< Function< T, NDIM > > &v, bool fence=true)
 Returns a deep copy of a vector of functions. More...
 
template<typename T , std::size_t NDIM>
std::vector< Function< T, NDIM > > madness::copy (World &world, const Function< T, NDIM > &v, const unsigned int n, bool fence=true)
 Returns a vector of deep copies of of a function. More...
 
template<typename T , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(T, R),
NDIM > > 
madness::add (World &world, const std::vector< Function< T, NDIM > > &a, const std::vector< Function< R, NDIM > > &b, bool fence=true, unsigned int blk=1)
 Returns new vector of functions — q[i] = a[i] + b[i]. More...
 
template<typename T , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(T, R),
NDIM > > 
madness::add (World &world, const Function< T, NDIM > &a, const std::vector< Function< R, NDIM > > &b, bool fence=true, unsigned int blk=1)
 Returns new vector of functions — q[i] = a + b[i]. More...
 
template<typename T , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(T, R),
NDIM > > 
madness::add (World &world, const std::vector< Function< R, NDIM > > &b, const Function< T, NDIM > &a, bool fence=true, unsigned int blk=1)
 
template<typename T , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(T, R),
NDIM > > 
madness::sub (World &world, const std::vector< Function< T, NDIM > > &a, const std::vector< Function< R, NDIM > > &b, bool fence=true, unsigned int blk=1)
 Returns new vector of functions — q[i] = a[i] - b[i]. More...
 
template<typename T , typename Q , typename R , std::size_t NDIM>
void madness::gaxpy (World &world, Q alpha, std::vector< Function< T, NDIM > > &a, Q beta, const std::vector< Function< R, NDIM > > &b, unsigned int blk=1, bool fence=true)
 Generalized A*X+Y for vectors of functions -— a[i] = alpha*a[i] + beta*b[i]. More...
 
template<typename opT , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(typename
opT::opT, R), NDIM > > 
madness::apply (World &world, const std::vector< std::shared_ptr< opT > > &op, const std::vector< Function< R, NDIM > > f, const unsigned int blk=1)
 Applies a vector of operators to a vector of functions — q[i] = apply(op[i],f[i]) More...
 
template<typename T , typename R , std::size_t NDIM>
std::vector< Function
< TENSOR_RESULT_TYPE(T, R),
NDIM > > 
madness::apply (World &world, const SeparatedConvolution< T, NDIM > &op, const std::vector< Function< R, NDIM > > f, const unsigned int blk=1)
 Applies an operator to a vector of functions — q[i] = apply(op,f[i]) More...
 
template<typename T , std::size_t NDIM>
void madness::normalize (World &world, std::vector< Function< T, NDIM > > &v, bool fence=true)
 Normalizes a vector of functions — v[i] = v[i].scale(1.0/v[i].norm2()) More...