.TH "src/include/serif/solver/normalization/detail/factor_computations.hpp" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*- .ad l .nh .SH NAME src/include/serif/solver/normalization/detail/factor_computations.hpp .SH SYNOPSIS .br .PP \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include \fP .br \fR#include 'serif/solver/normalization/keys\&.hpp'\fP .br \fR#include 'serif/solver/normalization/layout\&.hpp'\fP .br \fR#include 'serif/solver/normalization/plan\&.hpp'\fP .br \fR#include 'serif/solver/normalization/diagonal\&.hpp'\fP .br \fR#include 'serif/solver/normalization/detail/validation\&.hpp'\fP .br \fR#include 'serif/solver/normalization/point_rows\&.hpp'\fP .br \fR#include 'serif/solver/normalization/scales\&.hpp'\fP .br \fR#include 'serif/utils/dependencies/computation\&.hpp'\fP .br .SS "Namespaces" .in +1c .ti -1c .RI "namespace \fBserif\fP" .br .ti -1c .RI "namespace \fBserif::solver\fP" .br .ti -1c .RI "namespace \fBserif::solver::normalization\fP" .br .ti -1c .RI "namespace \fBserif::solver::normalization::detail\fP" .br .in -1c .SS "Concepts" .in +1c .ti -1c .RI "concept \fBserif::solver::normalization::detail::ProvidesScale\fP" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, CoordinateLayoutType LayoutT> std::expected< std::size_t, std::string > \fBserif::solver::normalization::detail::coordinate_size\fP (const LayoutT &layout)" .br .RI "Reject a layout that changes the arity of a declared global scalar\&. " .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, CoordinateLayoutType LayoutT> std::expected< void, std::string > \fBserif::solver::normalization::detail::check_coordinate_size\fP (const LayoutT &layout, std::size_t received)" .br .RI "Check supplied metrics or custom factors before publishing a coordinate result\&. " .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, typename LayoutT, typename ScalesT> auto \fBserif::solver::normalization::detail::coordinate_computation\fP (\fBIdentityCoordinate\fP)" .br .RI "Identity preparation requires a layout but no scale or metric sources\&. " .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, typename LayoutT, typename ScalesT, typename QuantityT> .br requires ProvidesScaleauto \fBserif::solver::normalization::detail::coordinate_computation\fP (\fBPhysicalRieszCoordinate\fP< QuantityT, \fBUnitMetric\fP >)" .br .RI "Algebraic coordinates use a scalar metric without allocating an intermediate vector of ones\&. " .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, typename LayoutT, typename ScalesT, typename QuantityT, typename MetricT> .br requires (!std::same_as && ProvidesScale)auto \fBserif::solver::normalization::detail::coordinate_computation\fP (\fBPhysicalRieszCoordinate\fP< QuantityT, MetricT >)" .br .RI "Both coordinate roles consume the same cached reference metric with different primal/dual formulas\&. " .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, typename LayoutT, typename ScalesT, typename QuantityT, typename MetricT, typename PointQuantityT, typename SelectionT> .br requires (Kind == \fBdiscretization::blocks::RepresentedValueKind::residual\fP && !std::same_as && ProvidesScale && ProvidesScale)auto \fBserif::solver::normalization::detail::coordinate_computation\fP (\fBWithPointRows\fP< \fBPhysicalRieszCoordinate\fP< QuantityT, MetricT >, PointQuantityT, SelectionT >)" .br .RI "Read the replacement's quantity independently of the bulk equation's scale\&. " .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, typename LayoutT, typename ScalesT, typename QuantityT> .br requires ProvidesScaleauto \fBserif::solver::normalization::detail::coordinate_computation\fP (\fBDimensionlessRieszCoordinate\fP< QuantityT, \fBUnitMetric\fP, \fBReferenceGeometry::algebraic\fP >)" .br .RI "Global scalars have no geometric measure to remove\&. " .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, typename LayoutT, typename ScalesT, typename QuantityT, typename MetricT, \fBReferenceGeometry\fP Geometry> .br requires (!std::same_as && ProvidesScale && ProvidesScale)auto \fBserif::solver::normalization::detail::coordinate_computation\fP (\fBDimensionlessRieszCoordinate\fP< QuantityT, MetricT, Geometry >)" .br .RI "Cancel the reference measure while retaining the native finite-element coordinate representation\&. " .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, typename LayoutT, typename ScalesT, typename QuantityT, typename MetricT, \fBReferenceGeometry\fP Geometry, typename PointQuantityT, typename SelectionT> .br requires (Kind == \fBdiscretization::blocks::RepresentedValueKind::residual\fP && !std::same_as && ProvidesScale && ProvidesScale && ProvidesScale)auto \fBserif::solver::normalization::detail::coordinate_computation\fP (\fBWithPointRows\fP< \fBDimensionlessRieszCoordinate\fP< QuantityT, MetricT, Geometry >, PointQuantityT, SelectionT >)" .br .RI "Remove geometric units only from weak rows, leaving each strong point equation in its own physical units\&. " .ti -1c .RI "template<\fBdiscretization::blocks::RepresentedValueKind\fP Kind, typename CoordinateT, typename LayoutT, typename ScalesT, typename PrescriptionT> .br requires requires(const std::remove_cvref_t& prescription, std::size_t size) { { prescription\&.prepare_factors(\fBkeys::Factors\fP{}, size) } \-> std::same_as, std::string>>; }auto \fBserif::solver::normalization::detail::coordinate_computation\fP (\fBRuntimePreparedCoordinate\fP< PrescriptionT >)" .br .RI "Invoke only the exact declared prescription, supplied as a tracked source rather than a hidden mutable capture\&. " .in -1c .SH "Author" .PP Generated automatically by Doxygen for SERiF from the source code\&.