MADNESS
version 0.9
|
perform this multiplication: h(1,2) = f(1,2) * g(1) More...
#include <funcimpl.h>
Public Types | |
typedef CoeffTracker< T, NDIM > | ctT |
typedef CoeffTracker< T, LDIM > | ctL |
typedef multiply_op< LDIM > | this_type |
Public Member Functions | |
multiply_op () | |
multiply_op (implT *h, const ctT &f, const ctL &g, const int particle) | |
bool | screen (const coeffT &fcoeff, const coeffT &gcoeff, const keyT &key) const |
return true if this will be a leaf node More... | |
std::pair< bool, coeffT > | operator() (const Key< NDIM > &key) const |
apply this on a FunctionNode of f and g of Key key More... | |
this_type | make_child (const keyT &child) const |
Future< this_type > | activate () const |
this_type | forward_ctor (implT *h1, const ctT &f1, const ctL &g1, const int particle) |
template<typename Archive > | |
void | serialize (const Archive &ar) |
Static Public Member Functions | |
static bool | randomize () |
Public Attributes | |
implT * | h |
the result function h(1,2) = f(1,2) * g(1) More... | |
ctT | f |
ctL | g |
int | particle |
if g is g(1) or g(2) More... | |
perform this multiplication: h(1,2) = f(1,2) * g(1)
typedef CoeffTracker<T,LDIM> madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::ctL |
typedef CoeffTracker<T,NDIM> madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::ctT |
typedef multiply_op<LDIM> madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::this_type |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
apply this on a FunctionNode of f and g of Key key
[in] | key | key for FunctionNode in f and g, (g: broken into particles) |
References madness::Key< NDIM >::break_apart(), c, madness::CoeffTracker< T, NDIM >::coeff(), madness::FunctionImpl< T, NDIM >::coeffs2values(), madness::GenTensor< T >::config(), madness::BaseTensor::dim(), madness::GenTensor< T >::full_tensor(), madness::CoeffTracker< T, NDIM >::get_impl(), madness::FunctionImpl< T, NDIM >::get_k(), madness::CoeffTracker< T, NDIM >::key(), madness::Key< NDIM >::level(), madness::FunctionImpl< T, NDIM >::MADNESS_ASSERT(), madness::GenTensor< T >::normalize(), madness::FunctionImpl< T, NDIM >::parent_to_child(), madness::GenTensor< T >::rank(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::screen(), madness::GenTensor< T >::tensor_type(), madness::TT_2D, madness::TT_FULL, madness::FunctionImpl< T, NDIM >::values2coeffs(), and madness::vec().
|
inlinestatic |
|
inline |
return true if this will be a leaf node
use generalization of tnorm for a GenTensor
References c, madness::GenTensor< T >::config(), madness::BaseTensor::dim(), madness::GenTensor< T >::full_tensor(), madness::CoeffTracker< T, NDIM >::get_impl(), madness::FunctionImpl< T, NDIM >::get_thresh(), madness::FunctionImpl< T, NDIM >::MADNESS_ASSERT(), madness::GenTensor< T >::rank(), madness::GenTensor< T >::tensor_type(), madness::FunctionImpl< T, NDIM >::tnorm(), madness::FunctionImpl< T, NDIM >::truncate_tol(), madness::TT_2D, madness::TT_FULL, and madness::vec().
Referenced by madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::operator()().
|
inline |
ctT madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::f |
ctL madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::g |
implT* madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::h |
the result function h(1,2) = f(1,2) * g(1)
int madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::particle |
if g is g(1) or g(2)
Referenced by madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::make_child().