|
| TensorAsExpression (const Tensor< X, Symm< SymmValues... >, IndexList< Indices... > > &t) |
| Construct an expression from a Tensor.
|
|
template<typename LhsTensor > |
void | assert_lhs_tensor_not_in_rhs_expression (const gsl::not_null< LhsTensor * > lhs_tensor) const |
| Assert that the LHS tensor of the equation is not equal to the Tensor represented by this expression.
|
|
template<typename LhsTensorIndices , typename LhsTensor > |
void | assert_lhs_tensorindices_same_in_rhs (const gsl::not_null< LhsTensor * > lhs_tensor) const |
| If the LHS tensor is the tensor represented by this expression, assert that the order of the generic indices are the same. More...
|
|
size_t | get_rhs_tensor_component_size () const |
| Get the size of a component from the Tensor contained by this expression. More...
|
|
decltype(auto) | get (const std::array< size_t, num_tensor_indices > &multi_index) const |
| Returns the value of the contained tensor's multi-index. More...
|
|
template<typename ResultType > |
decltype(auto) | get_primary (const ResultType &, const std::array< size_t, num_tensor_indices > &multi_index) const |
| Returns the value of the contained tensor's multi-index. More...
|
|
template<typename ResultType > |
void | evaluate_primary_subtree (ResultType &result_component, const std::array< size_t, num_tensor_indices > &) const =delete |
|
type | operator[] (const size_t i) const |
| Retrieve the i'th entry of the Tensor being held.
|
|
|
static constexpr auto | num_tensor_indices = tmpl::size<index_list>::value |
| The number of tensor indices in the result of the expression.
|
|
static constexpr size_t | num_ops_left_child = 0 |
| The number of arithmetic tensor operations done in the subtree for the left operand, which is 0 because this is a leaf expression.
|
|
static constexpr size_t | num_ops_right_child = 0 |
| The number of arithmetic tensor operations done in the subtree for the right operand, which is 0 because this is a leaf expression.
|
|
static constexpr size_t | num_ops_subtree = 0 |
| The total number of arithmetic tensor operations done in this expression's whole subtree, which is 0 because this is a leaf expression.
|
|
static constexpr size_t | height_relative_to_closest_tensor_leaf_in_subtree = 0 |
| The height of this expression's node in the expression tree relative to the closest TensorAsExpression leaf in its subtree. Because this expression type is that leaf, the height for this type will always be 0.
|
|
static constexpr bool | is_primary_end = true |
| If on the primary path, whether or not the expression is an ending point of a leg.
|
|
static constexpr size_t | num_ops_to_evaluate_primary_left_child = 0 |
| If on the primary path, this is the remaining number of arithmetic tensor operations that need to be done in the subtree of the child along the primary path, given that we will have already computed the whole subtree at the next lowest leg's starting point. This is just 0 because this expression is a leaf.
|
|
static constexpr size_t | num_ops_to_evaluate_primary_right_child = 0 |
| If on the primary path, this is the remaining number of arithmetic tensor operations that need to be done in the right operand's subtree. This is just 0 because this expression is a leaf.
|
|
static constexpr size_t | num_ops_to_evaluate_primary_subtree = 0 |
| If on the primary path, this is the remaining number of arithmetic tensor operations that need to be done for this expression's subtree, given that we will have already computed the subtree at the next lowest leg's starting point. This is just 0 because this expression is a leaf.
|
|
static constexpr bool | is_primary_start = false |
| If on the primary path, whether or not the expression is a starting point of a leg.
|
|
static constexpr bool | primary_child_subtree_contains_primary_start = false |
| If on the primary path, whether or not the expression's child along the primary path is a subtree that contains a starting point of a leg along the primary path. This is always falls because this expression is a leaf.
|
|
static constexpr bool | primary_subtree_contains_primary_start |
| If on the primary path, whether or not this subtree contains a starting point of a leg along the primary path. More...
|
|
template<typename X , template< typename... > class Symm, typename... SymmValues, template< typename... > class IndexList, typename... Indices, template< typename... > class ArgsList, typename... Args>
template<typename LhsTensorIndices , typename LhsTensor >
If the LHS tensor is the tensor represented by this expression, assert that the order of the generic indices are the same.
- Template Parameters
-
LhsTensorIndices | the list of generic TensorIndex s of the LHS result Tensor being computed |
- Parameters
-
lhs_tensor | the LHS result Tensor being computed |
template<typename X , template< typename... > class Symm, typename... SymmValues, template< typename... > class IndexList, typename... Indices, template< typename... > class ArgsList, typename... Args>
Returns the value of the contained tensor's multi-index.
- Parameters
-
multi_index | the multi-index of the tensor component to retrieve |
Returns: the value of the component at multi_index
in the tensor
template<typename X , template< typename... > class Symm, typename... SymmValues, template< typename... > class IndexList, typename... Indices, template< typename... > class ArgsList, typename... Args>
template<typename ResultType >
Returns the value of the contained tensor's multi-index.
- Parameters
-
multi_index | the multi-index of the tensor component to retrieve |
Returns: the value of the component at multi_index
in the tensor
template<typename X , template< typename... > class Symm, typename... SymmValues, template< typename... > class IndexList, typename... Indices, template< typename... > class ArgsList, typename... Args>
size_t tenex::TensorAsExpression< Tensor< X, Symm< SymmValues... >, IndexList< Indices... > >, ArgsList< Args... > >::get_rhs_tensor_component_size |
( |
| ) |
const |
|
inline |
Get the size of a component from the Tensor
contained by this expression.
Returns: the size of a component from the Tensor
contained by this expression