48 template<
class tensor_type>
90 explicit operator value_t()
const;
93 bool uses_tensor(
const tensor_type* _otherTensor)
const;
114 template<
class tensor_type>
117 template<
class tensor_type>
120 template<
class tensor_type>
153 template<
class tensor_type>
Internal representation of an read and write and moveable indexed Tensor or TensorNetwork.
void operator=(const IndexedTensorReadOnly &_rhs)=delete
: IndexedTensorReadOnly cannot be assigned as they are read only.
IndexedTensorMoveable< Tensor > operator+(IndexedTensorReadOnly< Tensor > &&_lhs, IndexedTensorReadOnly< Tensor > &&_rhs)
Internal representation of an readable indexed Tensor or TensorNetwork.
The main namespace of xerus.
void assign_index_dimensions()
Assignes the indices using the current tensorObejct.
virtual ~IndexedTensorReadOnly()
Destructor must be virtual.
void solve(internal::IndexedTensorWritable< Tensor > &&_x, internal::IndexedTensorReadOnly< Tensor > &&_A, internal::IndexedTensorReadOnly< Tensor > &&_b)
IndexedTensorMoveable< tensor_type > operator/(IndexedTensorMoveable< tensor_type > &&_tensor, const value_t _divisor)
Internal representation of an readable and writeable indexed Tensor or TensorNetwork.
std::vector< Index > indices
Vector of the associates indices.
size_t get_eval_degree(const std::vector< Index > &_indices)
IndexedTensorMoveable< Tensor > operator-(IndexedTensorReadOnly< Tensor > &&_lhs, IndexedTensorReadOnly< Tensor > &&_rhs)
size_t degree() const
Returns the degree of the associated tensorObejct.
value_t frob_norm(const IndexedTensorReadOnly< tensor_type > &_idxTensor)
Returns the frobenious norm of the associated tensorObejct.
Abstract internal representation of an read and writeable indexed Tensor or TensorNetwork.
bool uses_tensor(const tensor_type *_otherTensor) const
Checks whether _otherTensor is the tensorObejct of this IndexTensor.
Header file for shorthand notations that are xerus specific but used throughout the library...
double value_t
The type of values to be used by xerus.
void assign_indices()
Assignes the indices using the degree of the tensorObejct.
value_t one_norm(const IndexedTensorReadOnly< Tensor > &_idxTensor)
Returns the one-norm of the associated tensor Obejct.
std::vector< size_t > get_evaluated_dimensions(const std::vector< Index > &_indexOrder)
Returns the dimensionTuple the evaluation of this IndexedTensor to the given indices would have...
const tensor_type * tensorObjectReadOnly
Pointer to the associated Tensor/TensorNetwork object.
IndexedTensorReadOnly()=delete
There is no usefull default constructor.
IndexedTensorMoveable< tensor_type > operator*(const value_t _factor, IndexedTensorMoveable< tensor_type > &&_tensor)
bool indicesAssigned
Flag indicating whether the indices are assinged.