xerus
a general purpose tensor library
|
Implementation of the TTNetwork class (and thus TTTensor and TTOperator). More...
#include <algorithm>
#include <memory>
#include <xerus/ttNetwork.h>
#include <xerus/misc/check.h>
#include <xerus/misc/math.h>
#include <xerus/misc/performanceAnalysis.h>
#include <xerus/misc/internal.h>
#include <xerus/basic.h>
#include <xerus/misc/basicArraySupport.h>
#include <xerus/index.h>
#include <xerus/tensor.h>
#include <xerus/ttStack.h>
#include <xerus/indexedTensorList.h>
#include <xerus/indexedTensorMoveable.h>
Go to the source code of this file.
Namespaces | |
xerus | |
The main namespace of xerus. | |
xerus::misc | |
Collection of classes and functions that provide elementary functionality that is not special to xerus as a tensor library. | |
Functions | |
template<bool isOperator> | |
TTNetwork< isOperator > | xerus::dyadic_product (const TTNetwork< isOperator > &_lhs, const TTNetwork< isOperator > &_rhs) |
Computes the dyadic product of _lhs and _rhs. More... | |
template<bool isOperator> | |
TTNetwork< isOperator > | xerus::dyadic_product (const std::vector< TTNetwork< isOperator >> &_tensors) |
Computes the dyadic product of all given TTNetworks. More... | |
template TTNetwork< true > | xerus::dyadic_product (const TTNetwork< true > &_lhs, const TTNetwork< true > &_rhs) |
template TTNetwork< false > | xerus::dyadic_product (const TTNetwork< false > &_lhs, const TTNetwork< false > &_rhs) |
template TTNetwork< true > | xerus::dyadic_product (const std::vector< TTNetwork< true >> &_tensors) |
template TTNetwork< false > | xerus::dyadic_product (const std::vector< TTNetwork< false >> &_tensors) |
template<bool isOperator> | |
TTNetwork< isOperator > | xerus::entrywise_product (const TTNetwork< isOperator > &_A, const TTNetwork< isOperator > &_B) |
Calculates the componentwise product of two tensors given in the TT format. More... | |
template TTNetwork< false > | xerus::entrywise_product (const TTNetwork< false > &_A, const TTNetwork< false > &_B) |
template TTNetwork< true > | xerus::entrywise_product (const TTNetwork< true > &_A, const TTNetwork< true > &_B) |
template<bool isOperator> | |
std::vector< std::vector< std::tuple< size_t, size_t, value_t > > > | xerus::get_grouped_entries (const Tensor &_component) |
template<bool isOperator> | |
TTNetwork< isOperator > | xerus::operator* (TTNetwork< isOperator > _network, const value_t _factor) |
Calculates the entrywise multiplication of the given TTNetwork _network with a constant _factor. More... | |
template<bool isOperator> | |
TTNetwork< isOperator > | xerus::operator* (const value_t _factor, TTNetwork< isOperator > _network) |
Calculates the entrywise multiplication of the given TTNetwork _network with a constant _factor. More... | |
template TTNetwork< false > | xerus::operator* (TTNetwork< false > _network, const value_t _factor) |
template TTNetwork< true > | xerus::operator* (TTNetwork< true > _network, const value_t _factor) |
template TTNetwork< false > | xerus::operator* (const value_t _factor, TTNetwork< false > _network) |
template TTNetwork< true > | xerus::operator* (const value_t _factor, TTNetwork< true > _network) |
template<bool isOperator> | |
TTNetwork< isOperator > | xerus::operator+ (TTNetwork< isOperator > _lhs, const TTNetwork< isOperator > &_rhs) |
Calculates the entrywise sum of the given TTNetworks _lhs and _rhs. More... | |
template TTNetwork< false > | xerus::operator+ (TTNetwork< false > _lhs, const TTNetwork< false > &_rhs) |
template TTNetwork< true > | xerus::operator+ (TTNetwork< true > _lhs, const TTNetwork< true > &_rhs) |
template<bool isOperator> | |
TTNetwork< isOperator > | xerus::operator- (TTNetwork< isOperator > _lhs, const TTNetwork< isOperator > &_rhs) |
Calculates the entrywise difference of the given TTNetworks _lhs and _rhs. More... | |
template TTNetwork< false > | xerus::operator- (TTNetwork< false > _lhs, const TTNetwork< false > &_rhs) |
template TTNetwork< true > | xerus::operator- (TTNetwork< true > _lhs, const TTNetwork< true > &_rhs) |
template<bool isOperator> | |
TTNetwork< isOperator > | xerus::operator/ (TTNetwork< isOperator > _network, const value_t _divisor) |
Calculates the entrywise divison of this TTNetwork by a constant _divisor. More... | |
template TTNetwork< false > | xerus::operator/ (TTNetwork< false > _network, const value_t _divisor) |
template TTNetwork< true > | xerus::operator/ (TTNetwork< true > _network, const value_t _divisor) |
template<bool isOperator> | |
void | xerus::perform_component_product (Tensor &_newComponent, const Tensor &_componentA, const Tensor &_componentB) |
template<bool isOperator> | |
void | xerus::misc::stream_reader (std::istream &_stream, TTNetwork< isOperator > &_obj, const misc::FileFormat _format) |
Restores the TTNetwork from a stream of data. More... | |
template void | xerus::misc::stream_reader (std::istream &_stream, TTNetwork< true > &_obj, const misc::FileFormat _format) |
template void | xerus::misc::stream_reader (std::istream &_stream, TTNetwork< false > &_obj, const misc::FileFormat _format) |
template<bool isOperator> | |
void | xerus::misc::stream_writer (std::ostream &_stream, const TTNetwork< isOperator > &_obj, misc::FileFormat _format) |
Pipes all information necessary to restore the current TensorNetwork into _stream. More... | |
template void | xerus::misc::stream_writer (std::ostream &_stream, const TTNetwork< true > &_obj, misc::FileFormat _format) |
template void | xerus::misc::stream_writer (std::ostream &_stream, const TTNetwork< false > &_obj, misc::FileFormat _format) |
template<bool isOperator> | |
void | xerus::transpose_if_operator (TTNetwork< isOperator > &_ttNetwork) |
template<> | |
void | xerus::transpose_if_operator< false > (TTNetwork< false > &) |
template<> | |
void | xerus::transpose_if_operator< true > (TTNetwork< true > &_ttNetwork) |
Implementation of the TTNetwork class (and thus TTTensor and TTOperator).
Definition in file ttNetwork.cpp.