|
OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
|
#include <IpplOperations.h>


Public Member Functions | |
| KOKKOS_FUNCTION | meta_hess (const E &u, const typename E::Mesh_t::vector_type vectors[], const typename E::Mesh_t::vector_type &hvector) |
| template<typename... Idx> | |
| KOKKOS_INLINE_FUNCTION auto | operator() (const Idx... args) const |
| KOKKOS_INLINE_FUNCTION auto | operator[] (size_t i) const |
Static Public Attributes | |
| static constexpr unsigned | dim = E::dim |
Private Types | |
| using | Mesh_t = typename E::Mesh_t |
| using | vector_type = typename Mesh_t::vector_type |
| using | matrix_type = typename Mesh_t::matrix_type |
Private Member Functions | |
| template<size_t... row, typename... Idx> | |
| KOKKOS_INLINE_FUNCTION constexpr void | computeHessian (const std::index_sequence< row... > &is, matrix_type &hessian, const Idx... args) const |
| template<size_t row, size_t... col, typename... Idx> | |
| KOKKOS_INLINE_FUNCTION constexpr int | hessianRow (const std::index_sequence< col... > &, matrix_type &hessian, const Idx... args) const |
| template<size_t row, size_t col, typename... Idx> | |
| KOKKOS_INLINE_FUNCTION constexpr vector_type | hessianEntry (const Idx... args) const |
Private Attributes | |
| const E | u_m |
| vector_type | vectors_m [dim] |
| const vector_type | hvector_m |
Meta function of Hessian
Definition at line 518 of file IpplOperations.h.
|
private |
Definition at line 548 of file IpplOperations.h.
|
private |
Definition at line 546 of file IpplOperations.h.
|
private |
Definition at line 547 of file IpplOperations.h.
|
inline |
Definition at line 526 of file IpplOperations.h.
References ippl::detail::meta_hess< E >::vectors_m.
|
inlineconstexprprivate |
Utility function for computing the Hessian. Computes the rows of the matrix one by one via fold expression.
| row... | the row indices (in practice, the sequence 0...Dim - 1) |
| Idx... | the indices at which to access the field view |
| is | index sequence (reused for row computation) |
| hessian | matrix in which to store the Hessian |
| args... | the indices |
Definition at line 564 of file IpplOperations.h.
Referenced by ippl::detail::meta_hess< E >::operator()().
|
inlineconstexprprivate |
Utility function for computing the Hessian. Computes a single entry of the matrix
| row | the row index |
| col | the column index |
| Idx... | the indices at which to access the field view |
| args... | the indices |
Definition at line 602 of file IpplOperations.h.
References ippl::apply(), ippl::detail::meta_hess< E >::dim, ippl::detail::meta_hess< E >::hvector_m, ippl::detail::meta_hess< E >::u_m, and ippl::detail::meta_hess< E >::vectors_m.

|
inlineconstexprprivate |
Utility function for computing the Hessian. Computes the entries in a single row of the matrix via fold expression.
| row | the row index |
| col... | the column indices (in practice, the sequence 0...Dim - 1) |
| Idx... | the indices at which to access the field view |
| hessian | matrix in which to store the hessian |
| args... | the indices |
Definition at line 585 of file IpplOperations.h.
|
inline |
Definition at line 539 of file IpplOperations.h.
References ippl::detail::meta_hess< E >::computeHessian().

|
inlineinherited |
Access single element of the expression
Definition at line 32 of file IpplExpressions.h.
|
staticconstexpr |
Definition at line 523 of file IpplOperations.h.
Referenced by ippl::detail::meta_hess< E >::hessianEntry().
|
private |
Definition at line 552 of file IpplOperations.h.
Referenced by ippl::detail::meta_hess< E >::hessianEntry().
|
private |
Definition at line 550 of file IpplOperations.h.
Referenced by ippl::detail::meta_hess< E >::hessianEntry().
|
private |
Definition at line 551 of file IpplOperations.h.
Referenced by ippl::detail::meta_hess< E >::hessianEntry(), and ippl::detail::meta_hess< E >::meta_hess().