|
MADNESS
version 0.9
|
#include <srconf.h>

Public Types | |
| typedef Tensor< T > | tensorT |
Public Member Functions | |
| SRConf () | |
| default ctor More... | |
| SRConf (const unsigned int &dim, const unsigned int &k, const TensorType &tt) | |
| ctor with dimensions for a vector configuration (tested) More... | |
| SRConf (const SRConf &rhs) | |
| copy ctor (tested); shallow copy More... | |
| SRConf (const Tensor< double > &weights, const std::vector< Tensor< T > > &vectors, const unsigned int &dim, const unsigned int maxk, const TensorType &tt) | |
| ctor with provided weights and effective vectors; shallow copy More... | |
| SRConf (const tensorT &vector1) | |
| explicit ctor with one vector (aka full representation), shallow More... | |
| SRConf (const Tensor< double > &weights, const tensorT &vector1, const tensorT &vector2, const unsigned int &dim, const unsigned int maxk) | |
| explicit ctor with two vectors (aka SVD), shallow More... | |
| SRConf & | operator= (const SRConf &rhs) |
| assignment operator (tested), shallow copy of vectors More... | |
| const SRConf | get_configs (const int &start, const int &end) const |
| ~SRConf () | |
| dtor More... | |
| template<typename Archive > | |
| void | serialize (Archive &ar) |
| TensorType | type () const |
| return the tensor type More... | |
| bool | has_data () const |
| does this have any data? More... | |
| void | orthonormalize (const double &thresh) |
| orthonormalize this More... | |
| Tensor< T > & | ref_vector (const unsigned int &idim) |
| return reference to one of the vectors F More... | |
| const Tensor< T > & | ref_vector (const unsigned int &idim) const |
| return reference to one of the vectors F More... | |
| bool | has_structure () const |
| return if this has a tensor structure (has not been flattened) More... | |
| int | dim_per_vector () const |
| return the number of physical dimensions More... | |
| double | weights (const unsigned int &i) const |
| return the weight More... | |
Static Public Member Functions | |
| static int | max_sigma (const double &thresh, const int &rank, const Tensor< double > &w) |
Public Attributes | |
| unsigned int | dim_ |
| the number of dimensions (the order of the tensor) More... | |
| Tensor< typename Tensor< T > ::scalar_type > | weights_ |
| for each configuration the weight; length should be r More... | |
| std::vector< tensorT > | vector_ |
| long | rank_ |
| what is the rank of this More... | |
| unsigned int | maxk_ |
| std::vector< Slice > | s_ |
| TensorType | tensortype_ |
| how will this be represented More... | |
Static Public Attributes | |
| static const bool | check_orthonormality =false |
| check orthonormality at low rank additions More... | |
Friends | |
| class | GenTensor< T > |
| SRConf< T > | copy (const SRConf< T > &rhs) |
| deep copy of rhs, shrink More... | |
| const SRConf< Q > &lhs | if ((lhs.has_no_data()) or(rhs.has_no_data())) return 0.0 |
| bool | compatible (const SRConf &lhs, const SRConf &rhs) |
| check compatibility More... | |
A SRConf handles all the configurations in a Separated Representation.
| typedef Tensor<T> madness::SRConf< T >::tensorT |
|
inline |
default ctor
|
inline |
ctor with dimensions for a vector configuration (tested)
References madness::SRConf< T >::has_structure(), and madness::TT_FULL.
|
inline |
copy ctor (tested); shallow copy
References madness::SRConf< T >::has_structure().
|
inline |
ctor with provided weights and effective vectors; shallow copy
References madness::SRConf< T >::has_structure(), and madness::SRConf< T >::weights().
|
inline |
explicit ctor with one vector (aka full representation), shallow
References madness::SRConf< T >::has_structure().
|
inline |
explicit ctor with two vectors (aka SVD), shallow
References madness::SRConf< T >::has_structure(), and madness::SRConf< T >::weights().
|
inline |
dtor
|
inline |
return the number of physical dimensions
References mpfr::dim().
|
inline |
return some of the terms of the SRConf (start,..,end), inclusively shallow copy
References mpfr::dim(), madness::SRConf< T >::has_structure(), MADNESS_EXCEPTION, madness::SRConf< T >::ref_vector(), madness::SRConf< T >::type(), and madness::SRConf< T >::weights_.
|
inline |
does this have any data?
References madness::TT_FULL.
|
inline |
return if this has a tensor structure (has not been flattened)
References mpfr::dim(), madness::TT_FULL, and madness::SRConf< T >::type().
Referenced by madness::SRConf< T >::get_configs(), madness::SRConf< T >::operator=(), madness::SRConf< T >::orthonormalize(), madness::SRConf< T >::serialize(), and madness::SRConf< T >::SRConf().
|
inlinestatic |
return the index of the last singular vector/value to meet the threshold (returns -1 if all meet threshold, i.e. || A ||_2 < threshold) given a matrix A in SVD form, truncate the singular values such that the accuracy threshold is still met.
| [in] | thresh | the threshold eps: || A - A(truncated) || < eps |
| [in] | rank | the number of singular values in w [in] w the weights/singular values of A |
Referenced by madness::SeparatedConvolution< T, NDIM >::apply2(), madness::TensorTrain< T >::decompose(), madness::SeparatedConvolution< T, NDIM >::estimate_costs(), madness::ortho3(), and madness::TensorTrain< T >::truncate().
|
inline |
assignment operator (tested), shallow copy of vectors
References madness::SRConf< T >::dim_, madness::SRConf< T >::has_structure(), madness::SRConf< T >::maxk_, madness::SRConf< T >::ref_vector(), madness::SRConf< T >::s_, madness::SRConf< T >::tensortype_, madness::TT_FULL, madness::SRConf< T >::type(), madness::SRConf< T >::vector_, and madness::SRConf< T >::weights_.
|
inline |
orthonormalize this
References madness::SRConf< T >::has_structure(), madness::normalize(), madness::ortho3(), std::swap(), madness::TT_FULL, madness::SRConf< T >::type(), madness::wall_time(), and madness::SRConf< T >::weights_.
|
inline |
return reference to one of the vectors F
Referenced by madness::SRConf< T >::get_configs(), and madness::SRConf< T >::operator=().
|
inline |
return reference to one of the vectors F
|
inline |
References madness::SRConf< T >::has_structure().
|
inline |
return the tensor type
References madness::SRConf< T >::tensortype_.
Referenced by madness::SRConf< T >::get_configs(), madness::SRConf< T >::has_structure(), madness::SRConf< T >::operator=(), and madness::SRConf< T >::orthonormalize().
|
inline |
return the weight
References madness::SRConf< T >::weights_.
Referenced by madness::ortho3(), and madness::SRConf< T >::SRConf().
check compatibility
deep copy of rhs, shrink
Referenced by madness::ortho5().
|
friend |
|
friend |
|
static |
check orthonormality at low rank additions
| unsigned int madness::SRConf< T >::dim_ |
the number of dimensions (the order of the tensor)
Referenced by madness::SRConf< T >::operator=().
| unsigned int madness::SRConf< T >::maxk_ |
the number of underlying basis functions the dimensions of vector_ will be vector_(rank,maxk), vector_(rank,maxk,maxk), etc
Referenced by madness::SRConf< T >::operator=().
| long madness::SRConf< T >::rank_ |
what is the rank of this
| std::vector<Slice> madness::SRConf< T >::s_ |
Slice containing the actual data in each vector, ignoring "empty" configurations; will maintain contiguity of the data.
Referenced by madness::SRConf< T >::operator=().
| TensorType madness::SRConf< T >::tensortype_ |
how will this be represented
Referenced by madness::SRConf< T >::operator=(), and madness::SRConf< T >::type().
| std::vector<tensorT> madness::SRConf< T >::vector_ |
for each (physical) dimension one Tensor of (logical) dimension (r,k) for vectors or (r,kprime,k) for operators
Referenced by madness::SRConf< T >::operator=().
| Tensor< typename Tensor<T>::scalar_type > madness::SRConf< T >::weights_ |
for each configuration the weight; length should be r
Referenced by madness::SRConf< T >::get_configs(), madness::SRConf< T >::operator=(), madness::SRConf< T >::orthonormalize(), and madness::SRConf< T >::weights().
1.8.8