\doxysection{src/include/serif/backend/mfem/solver/normalization/operators.hpp File Reference} \hypertarget{operators_8hpp}{}\label{operators_8hpp}\index{src/include/serif/backend/mfem/solver/normalization/operators.hpp@{src/include/serif/backend/mfem/solver/normalization/operators.hpp}} {\ttfamily \#include $<$cstddef$>$}\newline {\ttfamily \#include $<$cstdint$>$}\newline {\ttfamily \#include $<$span$>$}\newline {\ttfamily \#include "{}mfem/linalg/operator.\+hpp"{}}\newline {\ttfamily \#include "{}mfem/linalg/vector.\+hpp"{}}\newline {\ttfamily \#include "{}serif/solver/normalization/diagonal.\+hpp"{}}\newline Include dependency graph for operators.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{operators_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[height=550pt]{operators_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classserif_1_1solver_1_1normalization_1_1backend_1_1mfem_1_1detail_1_1_scaled_operator}{serif\+::solver\+::normalization\+::backend\+::mfem\+::detail\+::\+Scaled\+Operator$<$ Inverse $>$}} \begin{DoxyCompactList}\small\item\em Common algebra for a Jacobian L J S\texorpdfstring{$^\wedge$}{\string^}-\/1 and an inverse S M\texorpdfstring{$^\wedge$}{\string^}-\/1 L\texorpdfstring{$^\wedge$}{\string^}-\/1. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1backend_1_1mfem_1_1_scaled_preconditioner_statistics}{serif\+::solver\+::normalization\+::backend\+::mfem\+::\+Scaled\+Preconditioner\+Statistics}} \begin{DoxyCompactList}\small\item\em Counts physical bindings and normalized applications without instrumenting the inverse itself. \end{DoxyCompactList}\item class \mbox{\hyperlink{classserif_1_1solver_1_1normalization_1_1backend_1_1mfem_1_1_scaled_preconditioner}{serif\+::solver\+::normalization\+::backend\+::mfem\+::\+Scaled\+Preconditioner}} \begin{DoxyCompactList}\small\item\em MFEM solver adapter which always binds the physical inverse to its dimensional Jacobian. \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_1backend}{serif\+::solver\+::normalization\+::backend}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1backend_1_1mfem}{serif\+::solver\+::normalization\+::backend\+::mfem}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1backend_1_1mfem_1_1detail}{serif\+::solver\+::normalization\+::backend\+::mfem\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Typedefs} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1backend_1_1mfem_a186defa596b2c140e8f80bba9fa6aa72}{serif\+::solver\+::normalization\+::backend\+::mfem\+::\+Scaled\+Jacobian\+Operator}} = \mbox{\hyperlink{classserif_1_1solver_1_1normalization_1_1backend_1_1mfem_1_1detail_1_1_scaled_operator}{detail\+::\+Scaled\+Operator}}$<$false$>$ \begin{DoxyCompactList}\small\item\em Normalized Jacobian L J S\texorpdfstring{$^\wedge$}{\string^}-\/1. \end{DoxyCompactList}\item using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1backend_1_1mfem_a86c463697a734232f658c1f90aeadf0a}{serif\+::solver\+::normalization\+::backend\+::mfem\+::\+Scaled\+Inverse\+Operator}} = \mbox{\hyperlink{classserif_1_1solver_1_1normalization_1_1backend_1_1mfem_1_1detail_1_1_scaled_operator}{detail\+::\+Scaled\+Operator}}$<$true$>$ \begin{DoxyCompactList}\small\item\em Normalized physical inverse S M\texorpdfstring{$^\wedge$}{\string^}-\/1 L\texorpdfstring{$^\wedge$}{\string^}-\/1. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item int \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1backend_1_1mfem_1_1detail_a8e48e745e97bf34d34d01cd8ef13c1f9}{serif\+::solver\+::normalization\+::backend\+::mfem\+::detail\+::mfem\+\_\+size}} (std\+::size\+\_\+t size) \begin{DoxyCompactList}\small\item\em Translate a prepared coordinate size without narrowing beyond MFEM\textquotesingle{}s index range. \end{DoxyCompactList}\item void \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1backend_1_1mfem_1_1detail_a2a36f0f389502f63fbe80cfa9208b836}{serif\+::solver\+::normalization\+::backend\+::mfem\+::detail\+::scale\+\_\+vector}} (std\+::span$<$ const double $>$ factors, const \+::mfem\+::\+Vector \&input, \+::mfem\+::\+Vector \&output, bool inverse) \begin{DoxyCompactList}\small\item\em Apply a diagonal to MFEM host storage, resizing only after the input has been checked. \end{DoxyCompactList}\end{DoxyCompactItemize}