Classes | |
| struct | Contravariant |
| struct | ContravariantCharacter |
| struct | Covariant |
| struct | CovariantCharacter |
| struct | Dummy |
| struct | MetricIndex1 |
| struct | MetricIndex2 |
| struct | prime |
| struct | ScalarIndex |
| class | Tensor< ElementType, ddc::DiscreteDomain< DDim... >, LayoutStridedPolicy, MemorySpace > |
| Tensor class. More... | |
| class | TensorAccessor |
| struct | TensorAntisymmetricIndex |
| struct | TensorDiagonalIndex |
| struct | TensorFullIndex |
| struct | TensorIdentityIndex |
| struct | TensorLeviCivitaIndex |
| struct | TensorLorentzianSignIndex |
| struct | TensorNaturalIndex |
| struct | TensorSymmetricIndex |
| struct | TensorYoungTableauIndex |
Concepts | |
| concept | TensorIndex |
| concept | TensorNatIndex |
Typedefs | |
| template<class T > | |
| using | to_tensor_antisymmetric_index_t = typename detail::ToTensorAntisymmetricIndex<T>::type |
| template<class T > | |
| using | lower_t = detail::Lower<T>::type |
| template<class T > | |
| using | upper_t = detail::Upper<T>::type |
| template<class T > | |
| using | swap_character_t = detail::SwapCharacter<T>::type |
| template<class Index > | |
| using | uncharacterize_t = detail::Uncharacterize<Index>::type |
| template<misc::Specialization< Tensor > TensorType> | |
| using | uncharacterize_tensor_t |
| template<std::size_t Dimension, std::size_t Rank> | |
| using | dummy_index_t |
| template<class MetricIndex > | |
| using | metric_index_1 = ddc::type_seq_element_t<0, ddc::to_type_seq_t<typename MetricIndex::subindices_domain_t>> |
| template<class MetricIndex > | |
| using | metric_index_2 = ddc::type_seq_element_t<1, ddc::to_type_seq_t<typename MetricIndex::subindices_domain_t>> |
| template<misc::Specialization< ddc::DiscreteDomain > Dom, TensorNatIndex Index1, TensorNatIndex Index2> | |
| using | relabelize_metric_in_domain_t |
| template<misc::Specialization< Tensor > TensorType, TensorNatIndex Index1, TensorNatIndex Index2> | |
| using | relabelize_metric_t |
| template<TensorIndex MetricIndex, misc::Specialization< ddc::detail::TypeSeq > Indices1, misc::Specialization< ddc::detail::TypeSeq > Indices2> | |
| using | metric_prod_domain_t |
| template<misc::Specialization< ddc::DiscreteDomain > NonMetricDom, TensorIndex MetricIndex, misc::Specialization< ddc::detail::TypeSeq > Indices1, misc::Specialization< ddc::detail::TypeSeq > Indices2, class LayoutStridedPolicy , class MemorySpace > | |
| using | metric_prod_t |
| template<misc::Specialization< Tensor > MetricType> | |
| using | invert_metric_t |
| template<TensorNatIndex Index> | |
| using | second = prime<Index, 2> |
| template<misc::Specialization< ddc::detail::TypeSeq > Indices, std::size_t I = 1> | |
| using | primes = detail::Primes<Indices, I>::type |
| template<misc::Specialization< ddc::detail::TypeSeq > Indices> | |
| using | seconds = primes<Indices, 2> |
| template<class T , TensorIndex OldIndex, TensorIndex NewIndex> | |
| using | relabelize_index_in_t = detail::RelabelizeIndexInType<T, OldIndex, NewIndex>::type |
| template<misc::Specialization< Tensor > TensorType, TensorIndex OldIndex, TensorIndex NewIndex> | |
| using | relabelize_index_of_t = detail::RelabelizeIndexOfType<TensorType, OldIndex, NewIndex>::type |
| template<class T , class OldIndices , class NewIndices > | |
| using | relabelize_indices_in_t |
| template<misc::Specialization< Tensor > TensorType, misc::Specialization< ddc::detail::TypeSeq > OldIndices, misc::Specialization< ddc::detail::TypeSeq > NewIndices> | |
| using | relabelize_indices_of_t = detail::RelabelizeIndicesOfType<TensorType, OldIndices, NewIndices>::type |
| template<TensorIndex Index> | |
| using | natural_domain_t = typename detail::NaturalDomainType<Index>::type |
| template<misc::Specialization< ddc::DiscreteDomain > Dom> | |
| using | tensor_accessor_for_domain_t = detail::TensorAccessorForDomain<Dom>::type |
| template<misc::Specialization< ddc::DiscreteDomain > Dom1, misc::Specialization< ddc::DiscreteDomain > Dom2> | |
| using | natural_tensor_prod_domain_t = detail::NaturalTensorProdDomain<Dom1, Dom2>::type |
| template<class T > | |
| using | subindices_domain_t = detail::SubindicesDomain<T>::type |
Functions | |
| template<misc::Specialization< Tensor > TensorType> | |
| constexpr uncharacterize_tensor_t< TensorType > | uncharacterize_tensor (TensorType tensor) |
| template<misc::Specialization< Kokkos::View > ViewType> | |
| KOKKOS_FUNCTION ViewType::value_type | determinant (const ViewType &matrix) |
| template<misc::Specialization< Tensor > TensorType> | |
| TensorType::element_type | determinant (TensorType tensor) |
| template<TensorNatIndex Index1, TensorNatIndex Index2, class Dom > | |
| constexpr relabelize_metric_in_domain_t< Dom, Index1, Index2 > | relabelize_metric_in_domain (Dom metric_dom) |
| template<TensorNatIndex Index1, TensorNatIndex Index2, misc::Specialization< Tensor > TensorType> | |
| constexpr relabelize_metric_t< TensorType, Index1, Index2 > | relabelize_metric (TensorType tensor) |
| template<TensorIndex MetricIndex, misc::Specialization< ddc::detail::TypeSeq > Indices1, misc::Specialization< ddc::detail::TypeSeq > Indices2, misc::Specialization< Tensor > MetricType, class ExecSpace > | |
| metric_prod_t< typename MetricType::non_indices_domain_t, MetricIndex, Indices1, Indices2, typename MetricType::layout_type, typename MetricType::memory_space > | fill_metric_prod (ExecSpace const &exec_space, metric_prod_t< typename MetricType::non_indices_domain_t, MetricIndex, Indices1, Indices2, typename MetricType::layout_type, typename MetricType::memory_space > metric_prod, MetricType metric) |
| template<misc::Specialization< Tensor > MetricType, misc::Specialization< Tensor > TensorType, class ExecSpace > | |
| relabelize_indices_of_t< TensorType, swap_character_t< detail::non_primes< typename MetricType::accessor_t::natural_domain_t > >, detail::non_primes< typename MetricType::accessor_t::natural_domain_t > > | inplace_apply_metric (ExecSpace const &exec_space, TensorType tensor, MetricType metric_prod) |
| template<TensorIndex MetricIndex, TensorNatIndex... Index1, misc::Specialization< Tensor > MetricType, misc::Specialization< Tensor > TensorType, class ExecSpace > | |
| relabelize_indices_of_t< TensorType, swap_character_t< ddc::detail::TypeSeq< Index1... > >, ddc::detail::TypeSeq< Index1... > > | inplace_apply_metric (ExecSpace const &exec_space, TensorType tensor, MetricType metric) |
| template<TensorIndex MetricIndex, misc::Specialization< Tensor > MetricType, class ExecSpace > | |
| invert_metric_t< MetricType > | fill_inverse_metric (ExecSpace const &exec_space, invert_metric_t< MetricType > inv_metric, MetricType metric) |
| template<class OldIndex , class NewIndex , class T > | |
| constexpr relabelize_index_in_t< T, OldIndex, NewIndex > | relabelize_index_in (T t) |
| template<TensorIndex OldIndex, TensorIndex NewIndex, class ElementType , class... DDim, class LayoutStridedPolicy , class MemorySpace > | |
| constexpr relabelize_index_of_t< Tensor< ElementType, ddc::DiscreteDomain< DDim... >, LayoutStridedPolicy, MemorySpace >, OldIndex, NewIndex > | relabelize_index_of (Tensor< ElementType, ddc::DiscreteDomain< DDim... >, LayoutStridedPolicy, MemorySpace > old_tensor) |
| template<class OldIndices , class NewIndices , class T > | |
| constexpr relabelize_indices_in_t< T, OldIndices, NewIndices > | relabelize_indices_in (T t) |
| template<misc::Specialization< ddc::detail::TypeSeq > OldIndices, misc::Specialization< ddc::detail::TypeSeq > NewIndices, misc::Specialization< Tensor > Tensor> | |
| constexpr relabelize_indices_of_t< Tensor, OldIndices, NewIndices > | relabelize_indices_of (Tensor tensor) |
| template<class ElementType , class SupportType , class Allocator > | |
| Tensor (ddc::Chunk< ElementType, SupportType, Allocator >) -> Tensor< ElementType, SupportType, Kokkos::layout_right, typename Allocator::memory_space > | |
| template<class ElementType , class SupportType , class LayoutStridedPolicy , class MemorySpace > | |
| Tensor (ddc::ChunkSpan< ElementType, SupportType, LayoutStridedPolicy, MemorySpace >) -> Tensor< ElementType, SupportType, LayoutStridedPolicy, MemorySpace > | |
| template<misc::Specialization< ddc::DiscreteDomain > Dom1, misc::Specialization< ddc::DiscreteDomain > Dom2> | |
| natural_tensor_prod_domain_t< Dom1, Dom2 > | natural_tensor_prod_domain (Dom1 dom1, Dom2 dom2) |
| template<TensorNatIndex... ProdDDim, TensorNatIndex... DDim1, TensorNatIndex... DDim2, class ElementType , class LayoutStridedPolicy , class MemorySpace > | |
| Tensor< ElementType, ddc::DiscreteDomain< ProdDDim... >, LayoutStridedPolicy, MemorySpace > | tensor_prod (Tensor< ElementType, ddc::DiscreteDomain< ProdDDim... >, LayoutStridedPolicy, MemorySpace > prod_tensor, Tensor< ElementType, ddc::DiscreteDomain< DDim1... >, LayoutStridedPolicy, MemorySpace > tensor1, Tensor< ElementType, ddc::DiscreteDomain< DDim2... >, LayoutStridedPolicy, MemorySpace > tensor2) |
| template<misc::Specialization< Tensor > TensorType> | |
| std::ostream & | operator<< (std::ostream &os, TensorType const &tensor) |
| template<class ProdDDims , class Indices1 , class Indices2 > | |
| constexpr void | check_tensors_compatibility () |
| template<class... ProdDDim, class... Index1, class... Index2, class ElementType , class LayoutStridedPolicy , class MemorySpace > requires ( ((!TensorNatIndex<ProdDDim> || ...) || (!TensorNatIndex<Index2> || ...) || (!TensorNatIndex<Index1> || ...)) ) | |
| Tensor< ElementType, ddc::DiscreteDomain< ProdDDim... >, LayoutStridedPolicy, MemorySpace > KOKKOS_FUNCTION | tensor_prod (Tensor< ElementType, ddc::DiscreteDomain< ProdDDim... >, LayoutStridedPolicy, MemorySpace > prod_tensor, Tensor< ElementType, ddc::DiscreteDomain< Index1... >, LayoutStridedPolicy, MemorySpace > tensor1, Tensor< ElementType, ddc::DiscreteDomain< Index2... >, LayoutStridedPolicy, MemorySpace > tensor2) |
| template<class YoungTableauIndex , class... Id> | |
| tensor::Tensor< double, ddc::DiscreteDomain< YoungTableauIndex >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > | compress (tensor::Tensor< double, ddc::DiscreteDomain< YoungTableauIndex >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > compressed, tensor::Tensor< double, ddc::DiscreteDomain< Id... >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > tensor) |
| template<class YoungTableauIndex , class... Id> | |
| tensor::Tensor< double, ddc::DiscreteDomain< Id... >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > | uncompress (tensor::Tensor< double, ddc::DiscreteDomain< Id... >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > uncompressed, tensor::Tensor< double, ddc::DiscreteDomain< YoungTableauIndex >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > tensor) |
Variables | |
| template<class T > | |
| bool constexpr | is_covariant_v = detail::IsCovariant<T>::value |
| template<misc::Specialization< ddc::detail::TypeSeq > Seq> | |
| bool constexpr | are_covariant_v = detail::AreCovariant<Seq>::value |
| template<class T > | |
| bool constexpr | is_contravariant_v = detail::IsContravariant<T>::value |
| template<misc::Specialization< ddc::detail::TypeSeq > Seq> | |
| bool constexpr | are_contravariant_v = detail::AreContravariant<Seq>::value |
| template<class T1 , class T2 > | |
| constexpr bool | is_same_character_v = detail::IsSameCharacter<T1, T2>::value |
| template<class T1 , class T2 > | |
| constexpr bool | are_same_characters_v = detail::AreSameCharacters<T1, T2>::value |
| template<class T1 , class T2 > | |
| constexpr bool | are_different_characters_v = detail::AreDifferentCharacters<T1, T2>::value |
| struct sil::tensor::ContravariantCharacter |
Definition at line 21 of file character.hpp.

| struct sil::tensor::CovariantCharacter |
Definition at line 17 of file character.hpp.

| struct sil::tensor::Dummy |
Definition at line 17 of file dummy_index.hpp.

| using sil::tensor::to_tensor_antisymmetric_index_t = typename detail::ToTensorAntisymmetricIndex<T>::type |
Definition at line 222 of file antisymmetric_tensor.hpp.
| using sil::tensor::lower_t = detail::Lower<T>::type |
Definition at line 80 of file character.hpp.
| using sil::tensor::upper_t = detail::Upper<T>::type |
Definition at line 108 of file character.hpp.
| using sil::tensor::swap_character_t = detail::SwapCharacter<T>::type |
Definition at line 136 of file character.hpp.
| using sil::tensor::uncharacterize_t = detail::Uncharacterize<Index>::type |
Definition at line 174 of file character.hpp.
| using sil::tensor::uncharacterize_tensor_t |
Definition at line 179 of file character.hpp.
| using sil::tensor::dummy_index_t |
Definition at line 48 of file dummy_index.hpp.
| using sil::tensor::metric_index_1 = ddc::type_seq_element_t<0, ddc::to_type_seq_t<typename MetricIndex::subindices_domain_t>> |
Definition at line 34 of file metric.hpp.
| using sil::tensor::metric_index_2 = ddc::type_seq_element_t<1, ddc::to_type_seq_t<typename MetricIndex::subindices_domain_t>> |
Definition at line 42 of file metric.hpp.
| using sil::tensor::relabelize_metric_in_domain_t |
Definition at line 71 of file metric.hpp.
| using sil::tensor::relabelize_metric_t |
Definition at line 94 of file metric.hpp.
| using sil::tensor::metric_prod_domain_t |
Definition at line 142 of file metric.hpp.
| using sil::tensor::metric_prod_t |
Definition at line 193 of file metric.hpp.
| using sil::tensor::invert_metric_t |
Definition at line 395 of file metric.hpp.
| using sil::tensor::second = prime<Index, 2> |
| using sil::tensor::primes = detail::Primes<Indices, I>::type |
| using sil::tensor::seconds = primes<Indices, 2> |
| using sil::tensor::relabelize_index_in_t = detail::RelabelizeIndexInType<T, OldIndex, NewIndex>::type |
Definition at line 52 of file relabelization.hpp.
| using sil::tensor::relabelize_index_of_t = detail::RelabelizeIndexOfType<TensorType, OldIndex, NewIndex>::type |
Definition at line 118 of file relabelization.hpp.
| using sil::tensor::relabelize_indices_in_t |
Definition at line 216 of file relabelization.hpp.
| using sil::tensor::relabelize_indices_of_t = detail::RelabelizeIndicesOfType<TensorType, OldIndices, NewIndices>::type |
Definition at line 356 of file relabelization.hpp.
| using sil::tensor::natural_domain_t = typename detail::NaturalDomainType<Index>::type |
Definition at line 141 of file tensor_impl.hpp.
| using sil::tensor::tensor_accessor_for_domain_t = detail::TensorAccessorForDomain<Dom>::type |
Definition at line 332 of file tensor_impl.hpp.
| using sil::tensor::natural_tensor_prod_domain_t = detail::NaturalTensorProdDomain<Dom1, Dom2>::type |
Definition at line 801 of file tensor_impl.hpp.
| using sil::tensor::subindices_domain_t = detail::SubindicesDomain<T>::type |
Definition at line 41 of file tensor_prod.hpp.
|
constexpr |
Definition at line 185 of file character.hpp.
| KOKKOS_FUNCTION ViewType::value_type sil::tensor::determinant | ( | const ViewType & | matrix | ) |
Definition at line 18 of file determinant.hpp.
| TensorType::element_type sil::tensor::determinant | ( | TensorType | tensor | ) |
Definition at line 73 of file determinant.hpp.
|
constexpr |
Definition at line 81 of file metric.hpp.
|
constexpr |
Definition at line 104 of file metric.hpp.
| metric_prod_t< typename MetricType::non_indices_domain_t, MetricIndex, Indices1, Indices2, typename MetricType::layout_type, typename MetricType::memory_space > sil::tensor::fill_metric_prod | ( | ExecSpace const & | exec_space, |
| metric_prod_t< typename MetricType::non_indices_domain_t, MetricIndex, Indices1, Indices2, typename MetricType::layout_type, typename MetricType::memory_space > | metric_prod, | ||
| MetricType | metric ) |
Definition at line 284 of file metric.hpp.
| relabelize_indices_of_t< TensorType, swap_character_t< detail::non_primes< typename MetricType::accessor_t::natural_domain_t > >, detail::non_primes< typename MetricType::accessor_t::natural_domain_t > > sil::tensor::inplace_apply_metric | ( | ExecSpace const & | exec_space, |
| TensorType | tensor, | ||
| MetricType | metric_prod ) |
Definition at line 322 of file metric.hpp.
| relabelize_indices_of_t< TensorType, swap_character_t< ddc::detail::TypeSeq< Index1... > >, ddc::detail::TypeSeq< Index1... > > sil::tensor::inplace_apply_metric | ( | ExecSpace const & | exec_space, |
| TensorType | tensor, | ||
| MetricType | metric ) |
Definition at line 367 of file metric.hpp.
| invert_metric_t< MetricType > sil::tensor::fill_inverse_metric | ( | ExecSpace const & | exec_space, |
| invert_metric_t< MetricType > | inv_metric, | ||
| MetricType | metric ) |
Definition at line 402 of file metric.hpp.
|
constexpr |
Definition at line 87 of file relabelization.hpp.
|
constexpr |
Definition at line 131 of file relabelization.hpp.
|
constexpr |
Definition at line 267 of file relabelization.hpp.
|
constexpr |
Definition at line 362 of file relabelization.hpp.
| sil::tensor::Tensor | ( | ddc::Chunk< ElementType, SupportType, Allocator > | ) | -> Tensor< ElementType, SupportType, Kokkos::layout_right, typename Allocator::memory_space > |
| sil::tensor::Tensor | ( | ddc::ChunkSpan< ElementType, SupportType, LayoutStridedPolicy, MemorySpace > | ) | -> Tensor< ElementType, SupportType, LayoutStridedPolicy, MemorySpace > |
| natural_tensor_prod_domain_t< Dom1, Dom2 > sil::tensor::natural_tensor_prod_domain | ( | Dom1 | dom1, |
| Dom2 | dom2 ) |
Definition at line 806 of file tensor_impl.hpp.
| Tensor< ElementType, ddc::DiscreteDomain< ProdDDim... >, LayoutStridedPolicy, MemorySpace > sil::tensor::tensor_prod | ( | Tensor< ElementType, ddc::DiscreteDomain< ProdDDim... >, LayoutStridedPolicy, MemorySpace > | prod_tensor, |
| Tensor< ElementType, ddc::DiscreteDomain< DDim1... >, LayoutStridedPolicy, MemorySpace > | tensor1, | ||
| Tensor< ElementType, ddc::DiscreteDomain< DDim2... >, LayoutStridedPolicy, MemorySpace > | tensor2 ) |
Definition at line 867 of file tensor_impl.hpp.
| std::ostream & sil::tensor::operator<< | ( | std::ostream & | os, |
| TensorType const & | tensor ) |
Definition at line 951 of file tensor_impl.hpp.
|
constexpr |
Definition at line 91 of file tensor_prod.hpp.
| Tensor< ElementType, ddc::DiscreteDomain< ProdDDim... >, LayoutStridedPolicy, MemorySpace > KOKKOS_FUNCTION sil::tensor::tensor_prod | ( | Tensor< ElementType, ddc::DiscreteDomain< ProdDDim... >, LayoutStridedPolicy, MemorySpace > | prod_tensor, |
| Tensor< ElementType, ddc::DiscreteDomain< Index1... >, LayoutStridedPolicy, MemorySpace > | tensor1, | ||
| Tensor< ElementType, ddc::DiscreteDomain< Index2... >, LayoutStridedPolicy, MemorySpace > | tensor2 ) |
Definition at line 179 of file tensor_prod.hpp.
| tensor::Tensor< double, ddc::DiscreteDomain< YoungTableauIndex >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > sil::tensor::compress | ( | tensor::Tensor< double, ddc::DiscreteDomain< YoungTableauIndex >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > | compressed, |
| tensor::Tensor< double, ddc::DiscreteDomain< Id... >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > | tensor ) |
Definition at line 136 of file young_tableau_tensor.hpp.
| tensor::Tensor< double, ddc::DiscreteDomain< Id... >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > sil::tensor::uncompress | ( | tensor::Tensor< double, ddc::DiscreteDomain< Id... >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > | uncompressed, |
| tensor::Tensor< double, ddc::DiscreteDomain< YoungTableauIndex >, Kokkos::layout_right, Kokkos::DefaultHostExecutionSpace::memory_space > | tensor ) |
Definition at line 160 of file young_tableau_tensor.hpp.
|
constexpr |
Definition at line 214 of file character.hpp.
|
constexpr |
Definition at line 230 of file character.hpp.
|
constexpr |
Definition at line 253 of file character.hpp.
|
constexpr |
Definition at line 269 of file character.hpp.
|
constexpr |
Definition at line 304 of file character.hpp.
|
constexpr |
Definition at line 326 of file character.hpp.
|
constexpr |
Definition at line 355 of file character.hpp.