\doxysection{src/include/serif/solver/normalization/diagonal.hpp File Reference} \hypertarget{normalization_2diagonal_8hpp}{}\label{normalization_2diagonal_8hpp}\index{src/include/serif/solver/normalization/diagonal.hpp@{src/include/serif/solver/normalization/diagonal.hpp}} {\ttfamily \#include $<$cstddef$>$}\newline {\ttfamily \#include $<$expected$>$}\newline {\ttfamily \#include $<$span$>$}\newline {\ttfamily \#include $<$string$>$}\newline {\ttfamily \#include $<$vector$>$}\newline {\ttfamily \#include "{}serif/discretization/blocks/base.\+hpp"{}}\newline Include dependency graph for diagonal.\+hpp\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{normalization_2diagonal_8hpp__incl} \end{center} \end{figure} This graph shows which files directly or indirectly include this file\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{normalization_2diagonal_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classserif_1_1solver_1_1normalization_1_1_diagonal_normalization}{serif\+::solver\+::normalization\+::\+Diagonal\+Normalization}} \begin{DoxyCompactList}\small\item\em Own the frozen, independent state and residual transformations used by one solve. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver}{serif\+::solver}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization}{serif\+::solver\+::normalization}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail}{serif\+::solver\+::normalization\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item void \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_aae5d65b3a0e48bfbba86a90456a7f278}{serif\+::solver\+::normalization\+::detail\+::require\+\_\+normalization\+\_\+size}} (std\+::size\+\_\+t received, std\+::size\+\_\+t expected) \begin{DoxyCompactList}\small\item\em Require matching coordinate sizes before any output is modified. \end{DoxyCompactList}\item void \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_a0252e8da10d321a4e9e220c19884046e}{serif\+::solver\+::normalization\+::detail\+::apply\+\_\+normalization}} (std\+::span$<$ const double $>$ factors, std\+::span$<$ const double $>$ input, std\+::span$<$ double $>$ output, bool inverse) \begin{DoxyCompactList}\small\item\em Apply a diagonal in place or to disjoint storage, rejecting partial overlap. \end{DoxyCompactList}\item std\+::expected$<$ double, std\+::string $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_a8e6459e314714cea6cad28808cd4b598}{serif\+::solver\+::normalization\+::make\+\_\+riesz\+\_\+factor}} (\mbox{\hyperlink{namespaceserif_1_1discretization_1_1blocks_aca74ff25d2168fcdec080e03ebc023ea}{discretization\+::blocks\+::\+Represented\+Value\+Kind}} kind, double metric, double physical\+\_\+scale) \begin{DoxyCompactList}\small\item\em Prepare one primal sqrt(metric)/scale or dual 1/(scale sqrt(metric)) factor. \end{DoxyCompactList}\item std\+::expected$<$ std\+::vector$<$ double $>$, std\+::string $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_ac6e625b3ce743074b92dd17eaef58b9a}{serif\+::solver\+::normalization\+::make\+\_\+riesz\+\_\+factors}} (\mbox{\hyperlink{namespaceserif_1_1discretization_1_1blocks_aca74ff25d2168fcdec080e03ebc023ea}{discretization\+::blocks\+::\+Represented\+Value\+Kind}} kind, std\+::span$<$ const double $>$ metric, double physical\+\_\+scale) \begin{DoxyCompactList}\small\item\em Prepare diagonal Riesz factors, reporting which coordinate has invalid data. \end{DoxyCompactList}\item std\+::expected$<$ \mbox{\hyperlink{classserif_1_1solver_1_1normalization_1_1_diagonal_normalization}{Diagonal\+Normalization}}, std\+::string $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_aabf5cac29f49d4d8d91c3f3725c8abfd}{serif\+::solver\+::normalization\+::make\+\_\+diagonal\+\_\+normalization}} (std\+::vector$<$ double $>$ state, std\+::vector$<$ double $>$ residual) \begin{DoxyCompactList}\small\item\em Validate and freeze independent coordinate factors, including empty or rectangular systems. \end{DoxyCompactList}\end{DoxyCompactItemize}