|
| 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.