SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::geometry::deformation::LinearDeformationMap Concept Reference

Fixed maps provide just forward and transpose actions with caller-owned scratch. More...

#include <actions.hpp>

Concept definition

template<typename Map>
(std::same_as<DeformationWorkspace<Map>, EmptyDeformationWorkspace> || requires(const Map& map)
{
{ map.make_workspace() } -> std::same_as<DeformationWorkspace<Map>>;
}) && requires(const Map& map, std::span<const double> input, std::span<double> output, DeformationWorkspace<Map>& workspace)
{
{ map.apply(input, output, workspace) } -> std::same_as<DeformationStatus>;
{ map.apply_transpose(input, output, workspace) } -> std::same_as<DeformationStatus>;
}
Matching lengths never replace the physical meanings of the input and output spaces.
Definition actions.hpp:23
Fixed maps provide just forward and transpose actions with caller-owned scratch.
Definition actions.hpp:34
constexpr bool is_linear_deformation
Linearity is an explicit property of the mathematics, independent of its action interface.
Definition actions.hpp:16
typename Map::Workspace DeformationWorkspace
Definition workspace.hpp:11
Stateless maps require no numerical scratch, while retaining the same explicit action interface.
Definition workspace.hpp:7

Detailed Description

Fixed maps provide just forward and transpose actions with caller-owned scratch.