Objects handling indexed expressions in order to perform indicial tensor calculations.
More...
|
|
csl::vector_expr | csl::getAllPermutations (const Expr &expr) |
| |
|
template<class ... Args> |
| std::shared_ptr< TensorParent > | csl::tensor_s (Args &&...args) |
| |
|
template<class ... Args> |
| std::shared_ptr< TensorParent > | csl::tensor_s (std::string const &name, std::vector< const Space *> const &indices, Args &&...args) |
| |
|
template<typename ... Args> |
| Expr | csl::tensorelement_s (Args &&...args) |
| |
|
bool | csl::IsIndicialTensor (const Expr &expr) |
| |
|
bool | csl::IsIndicialTensor (Expr_info expr) |
| |
| void | csl::nameTensor (const std::string &name, Expr &tensor, bool first=true) |
| | Fills an tensor with variables of the same name with the numbers correponding to their place in the tensor. Allows for example to name elements of a vector : . More...
|
| |
| Expr | csl::generateTensor (const std::string &name, const std::vector< const Space *> &spaces) |
| | Generates a tensor of name name that lives in a list of spaces, filled with variables given by nameTensor(). More...
|
| |
Objects handling indexed expressions in order to perform indicial tensor calculations.
- Author
- Grégoire Uhlrich
- Version
- 1.3
- Bug:
- For now setting an object fully symmetric or antisymmetric will cause bug if all the indices don't lie in the same space. When taking permutations, indices from different spaces will be exchanged and the tensor will not accept them.