SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
actions.cpp File Reference
Include dependency graph for actions.cpp:

Namespaces

namespace  serif
 
namespace  serif::operators
 
namespace  serif::operators::backend
 
namespace  serif::operators::backend::mfem
 

Functions

LinearizedBlock serif::operators::backend::mfem::linearized_action (int rows, int columns, MatrixAction action, MatrixAction transpose)
 Wrap owned callbacks with checked dimensions, finite results, and overlap-safe application.
 
LinearizedBlock serif::operators::backend::mfem::linearized_action (int rows, int columns, MatrixAction action, MatrixAction transpose, MatrixArrayAction batch)
 As above, with a batched forward action used by the operator's ArrayMult.
 
void serif::operators::backend::mfem::apply_many (const ::mfem::Operator &action, std::span< const ::mfem::Vector *const > inputs, std::span<::mfem::Vector *const > outputs)
 Apply an operator to several directions; ArrayMult for SERiF actions, otherwise one Mult per direction.
 
LinearizedBlock serif::operators::backend::mfem::transpose_block (LinearizedBlock block)
 Transpose a linearized block without discarding efficient assembly and diagonal operations.
 
LinearizedBlock serif::operators::backend::mfem::compose_blocks (LinearizedBlock left, LinearizedBlock right)
 Compose linearized blocks in their written mathematical order.
 
LinearizedBlock serif::operators::backend::mfem::sum_blocks (int rows, int columns, std::vector< LinearizedBlock > blocks)
 Sum compatible linearized blocks while retaining their native diagonal and sparse assembly operations.