|
using | VTensor = VectorContainer |
|
using | STensor = SparseContainer |
|
using | OTensor = OuterContainer |
|
using | Base = IContainer |
|
using | BinValue = std::vector< double > |
|
using | BinEdgeList = std::vector< std::vector< double >> |
|
using | BinRange = std::pair< double, double > |
|
using | BinRangeList = std::vector< BinRange > |
|
using | DotGroupType = std::tuple< IndexList, IndexList, IndexPairList > |
|
using | DotGroupList = std::vector< DotGroupType > |
|
template<class Executor > |
using | BinaryDispatch = Loki::StaticDoubleDispatcher< Executor, IContainer, TensorDataTypes, false, const IContainer, ConstTensorDataTypes, IContainer * > |
|
template<class Executor > |
using | UnaryDispatch = Loki::StaticSingleDispatcher< Executor, IContainer, TensorDataTypes, IContainer * > |
|
using | TensorDataTypes = Loki::TypeList< VectorContainer, SparseContainer, OuterContainer > |
|
using | ConstTensorDataTypes = Loki::TypeList< const VectorContainer, const SparseContainer, const OuterContainer > |
|
using | TensorData = std::unique_ptr< IContainer > |
|
using | SharedTensorData = std::shared_ptr< IContainer > |
|
|
static IndexType | nextPowerOf2 (IndexType value) |
|
TensorData | calcDot (TensorData origin, const IContainer &other, const IndexPairList &indices) |
|
TensorData | calcTrace (TensorData origin, const IndexPairList &indices) |
|
TensorData | calcSquare (TensorData origin) |
|
TensorData | sum (TensorData origin, const IContainer &other) |
|
TensorData | elementMultiply (TensorData origin, const IContainer &other) |
|
TensorData | elementDivide (TensorData origin, const IContainer &other) |
|
TensorData | addAt (TensorData origin, const IContainer &other, IndexType index, IndexType position) |
|
TensorData | read (const Serial::FBTensor *msgreader) |
|
TensorData | reOptimize (TensorData origin) |
|
TensorData | toSparse (TensorData origin) |
|
TensorData | toVector (TensorData origin) |
|
TensorData | makeEmptyScalar () |
|
TensorData | makeScalar (complex< double > value) |
|
TensorData | makeEmptySparse (const IndexList &dimensions, const LabelsList &labels) |
|
TensorData | makeEmptySparse (LabeledIndexing< AlignedIndexing > indexing) |
|
TensorData | makeEmptyVector (const IndexList &dimensions, const LabelsList &labels) |
|
TensorData | makeEmptyVector (LabeledIndexing< SequentialIndexing > indexing) |
|
TensorData | makeVector (IndexList dimensions, LabelsList labels, vector< complex< double >> values) |
|
bool | operator== (const OuterElemIterator &lhs, const OuterElemIterator &rhs) |
|
bool | operator!= (const OuterElemIterator &lhs, const OuterElemIterator &rhs) |
|
bool | operator== (const BruteForceIterator &lhs, const BruteForceIterator &rhs) |
|
bool | operator!= (const BruteForceIterator &lhs, const BruteForceIterator &rhs) |
|
void | next (ISingleContainer::NonZeroIt it) |
|
bool | operator== (const ISingleContainer::ItBase &lhs, const ISingleContainer::ItBase &rhs) |
|
bool | operator!= (const ISingleContainer::ItBase &lhs, const ISingleContainer::ItBase &rhs) |
|
LabelsList | flipListOfLabels (LabelsList labels) |
|
template<class Ops , class TensorPtr > |
TensorPtr | calc2 (TensorPtr origin, const IContainer &other, Ops op, std::string opName) |
|
template<class Ops , class TensorPtr > |
TensorPtr | calc1 (TensorPtr origin, Ops op, std::string opName) |
|
TensorData | makeOuterSquare (const TensorData &base) |
|
TensorData | makeOuterSquare (TensorData &&base) |
|
TensorData | combineTensors (const std::vector< TensorData > &base) |
|
TensorData | combineTensors (std::vector< TensorData > &&base) |
|
TensorData | combineSharedTensors (std::vector< std::pair< SharedTensorData, bool >> &&data) |
|
The MultiDimensional namespace contains the tensor algebra infrastructure.