|
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 >::forward_ctor(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::g, g1(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::h, madness::World::taskq, madness::FunctionImpl< T, NDIM >::world, and madness::detail::wrap_mem_fn().
|
inline |
|
inline |
References madness::Key< NDIM >::break_apart(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::f, madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::g, madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::h, madness::CoeffTracker< T, NDIM >::make_child(), and madness::nonlinear_vector_solver().
|
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::CoeffTracker< T, NDIM >::key(), madness::Key< NDIM >::level(), madness::FunctionImpl< T, NDIM >::multiply(), madness::nonlinear_vector_solver(), 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::FunctionImpl< T, NDIM >::get_thresh(), madness::FunctionImpl< T, NDIM >::multiply_op< LDIM >::h, MADNESS_ASSERT, madness::nonlinear_vector_solver(), 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 |