MADNESS 0.10.1
|
perform this multiplication: h(1,2) = f(1,2) * g(1) More...
#include <funcimpl.h>
Public Types | |
typedef CoeffTracker< T, LDIM > | ctL |
typedef CoeffTracker< T, NDIM > | ctT |
typedef multiply_op< LDIM > | this_type |
Public Member Functions | |
multiply_op () | |
multiply_op (implT *h1, const ctT &f1, const ctL &g1, const int particle1) | |
Future< this_type > | activate () const |
this_type | forward_ctor (implT *h1, const ctT &f1, const ctL &g1, const int particle) |
this_type | make_child (const keyT &child) const |
std::pair< bool, coeffT > | operator() (const Key< NDIM > &key) const |
apply this on a FunctionNode of f and g of Key key | |
bool | screen (const coeffT &fcoeff, const coeffT &gcoeff, const keyT &key) const |
return true if this will be a leaf node | |
template<typename Archive > | |
void | serialize (const Archive &ar) |
Static Public Member Functions | |
static bool | randomize () |
Public Attributes | |
ctT | f |
ctL | g |
implT * | h |
the result function h(1,2) = f(1,2) * g(1) | |
int | particle |
if g is g(1) or g(2) | |
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 |
References madness::CoeffTracker< T, NDIM >::activate(), madness::WorldTaskQueue::add(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::f, f1, madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::g, madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::h, madness::World::taskq, madness::FunctionImpl< T, NDIM >::world, and madness::detail::wrap_mem_fn().
|
inline |
References f1.
|
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(), madness::CoeffTracker< T, NDIM >::coeff(), madness::FunctionImpl< T, NDIM >::coeffs2values(), madness::GenTensor< T >::convert(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::f, madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::g, madness::CoeffTracker< T, NDIM >::get_impl(), madness::FunctionImpl< T, NDIM >::get_tensor_args(), madness::FunctionImpl< T, NDIM >::get_tensor_type(), madness::FunctionImpl< T, NDIM >::get_thresh(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::h, madness::GenTensor< T >::is_of_tensortype(), madness::CoeffTracker< T, NDIM >::key(), madness::Key< NDIM >::level(), madness::FunctionImpl< T, NDIM >::multiply(), madness::GenTensor< T >::normalize(), madness::FunctionImpl< T, NDIM >::parent_to_child(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::screen(), madness::TT_2D, and madness::FunctionImpl< T, NDIM >::values2coeffs().
|
inlinestatic |
|
inline |
return true if this will be a leaf node
use generalization of tnorm for a GenTensor
References madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::g, madness::CoeffTracker< T, NDIM >::get_impl(), madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::get_tensor(), madness::FunctionImpl< T, NDIM >::get_thresh(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::h, madness::GenTensor< T >::is_full_tensor(), madness::GenTensor< T >::is_svd_tensor(), MADNESS_ASSERT, madness::FunctionImpl< T, NDIM >::tnorm(), and madness::FunctionImpl< T, NDIM >::truncate_tol().
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 |
Referenced by madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::activate(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::screen(), and madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::serialize().
implT* madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::h |
the result function h(1,2) = f(1,2) * g(1)
Referenced by madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::activate(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::screen(), and madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::serialize().
int madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::particle |