MADNESS 0.10.1
|
project the low-dim function g on the hi-dim function f: result(x) = <f(x,y) | g(y)> More...
#include <funcimpl.h>
Public Types | |
typedef std::pair< bool, coeffT > | argT |
typedef CoeffTracker< T, LDIM > | ctL |
typedef FunctionImpl< T, NDIM-LDIM > | implL1 |
typedef project_out_op< LDIM > | this_type |
Public Member Functions | |
project_out_op ()=default | |
project_out_op (const implT *fimpl, implL1 *result, const ctL &iag, const int dim) | |
project_out_op (const project_out_op &other) | |
Future< this_type > | activate () const |
retrieve the coefficients (parent coeffs might be remote) | |
this_type | forward_ctor (const implT *fimpl1, implL1 *result1, const ctL &iag1, const int dim1) |
taskq-compatible ctor | |
this_type | make_child (const keyT &child) const |
Future< argT > | operator() (const Key< NDIM > &key) const |
do the actual contraction | |
bool | randomize () const |
template<typename Archive > | |
void | serialize (const Archive &ar) |
Public Attributes | |
int | dim |
0: project 0..LDIM-1, 1: project LDIM..NDIM-1 | |
const implT * | fimpl |
the hi dim function f | |
ctL | iag |
the low dim function g | |
implL1 * | result |
the low dim result function | |
project the low-dim function g on the hi-dim function f: result(x) = <f(x,y) | g(y)>
typedef std::pair<bool,coeffT> madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::argT |
typedef CoeffTracker<T,LDIM> madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::ctL |
typedef FunctionImpl<T,NDIM-LDIM> madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::implL1 |
typedef project_out_op<LDIM> madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::this_type |
|
default |
|
inline |
|
inline |
|
inline |
retrieve the coefficients (parent coeffs might be remote)
References madness::CoeffTracker< T, NDIM >::activate(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::dim, madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::fimpl, madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::iag, madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::result, and madness::detail::wrap_mem_fn().
|
inline |
taskq-compatible ctor
|
inline |
References madness::Key< NDIM >::break_apart(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::dim, madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::fimpl, madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::iag, madness::CoeffTracker< T, NDIM >::make_child(), and madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::result.
|
inline |
do the actual contraction
References madness::_(), madness::Key< NDIM >::break_apart(), madness::FunctionNode< T, NDIM >::coeff(), madness::CoeffTracker< T, NDIM >::coeff(), madness::copy(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::dim, madness::GenTensor< T >::dim(), madness::Tensor< T >::emul(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::fimpl, madness::WorldContainer< keyT, valueT, hashfunT >::find(), madness::Tensor< T >::flat(), madness::GenTensor< T >::full_tensor(), madness::FunctionImpl< T, NDIM >::get_coeffs(), madness::CoeffTracker< T, NDIM >::get_impl(), madness::GenTensor< T >::get_svdtensor(), madness::GenTensor< T >::has_no_data(), madness::TaskAttributes::hipri(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::iag, madness::inner(), madness::GenTensor< T >::is_full_tensor(), madness::FunctionNode< T, NDIM >::is_leaf(), madness::GenTensor< T >::is_svd_tensor(), madness::FunctionImpl< T, NDIM >::k, madness::CoeffTracker< T, NDIM >::key(), MADNESS_ASSERT, MADNESS_CHECK, MADNESS_EXCEPTION, madness::FunctionImpl< T, NDIM >::parent_to_child(), madness::WorldContainer< keyT, valueT, hashfunT >::probe(), madness::GenTensor< T >::rank(), madness::Tensor< T >::reshape(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::result, and madness::weights.
|
inline |
|
inline |
int madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::dim |
0: project 0..LDIM-1, 1: project LDIM..NDIM-1
Referenced by madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::activate(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::operator()(), and madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::serialize().
const implT* madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::fimpl |
the hi dim function f
Referenced by madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::activate(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::operator()(), and madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::serialize().
ctL madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::iag |
the low dim function g
Referenced by madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::activate(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::operator()(), and madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::serialize().
|
mutable |
the low dim result function
Referenced by madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::activate(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::make_child(), madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::operator()(), and madness::FunctionImpl< T, NDIM >::project_out_op< LDIM >::serialize().