\doxysection{src/lib/serif/solver/preconditioner/backend/mfem/inverse/diagonal.cpp File Reference} \hypertarget{preconditioner_2backend_2mfem_2inverse_2diagonal_8cpp}{}\label{preconditioner_2backend_2mfem_2inverse_2diagonal_8cpp}\index{src/lib/serif/solver/preconditioner/backend/mfem/inverse/diagonal.cpp@{src/lib/serif/solver/preconditioner/backend/mfem/inverse/diagonal.cpp}} {\ttfamily \#include "{}serif/solver/preconditioner/backend/mfem/inverse/diagonal.\+hpp"{}}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include $<$cmath$>$}\newline {\ttfamily \#include $<$limits$>$}\newline {\ttfamily \#include $<$functional$>$}\newline {\ttfamily \#include $<$vector$>$}\newline {\ttfamily \#include "{}serif/solver/preconditioner/backend/mfem/inverse/validation.\+hpp"{}}\newline {\ttfamily \#include "{}serif/solver/preconditioner/backend/mfem/inverse/regularization.\+hpp"{}}\newline Include dependency graph for diagonal.\+cpp\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{preconditioner_2backend_2mfem_2inverse_2diagonal_8cpp__incl} \end{center} \end{figure} \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_1preconditioner}{serif\+::solver\+::preconditioner}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend}{serif\+::solver\+::preconditioner\+::backend}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem}{serif\+::solver\+::preconditioner\+::backend\+::mfem}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}}, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_failure}{Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a2931463c4c4599d01c62711c78bf8120}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::try\+\_\+identity}} (int size) \begin{DoxyCompactList}\small\item\em Prepare an identity inverse on a nonempty coordinate block. \end{DoxyCompactList}\item std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}}, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_failure}{Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a7ef085da7f588183a15325cdcf5b3c9e}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::try\+\_\+diagonal\+\_\+inverse}} (std\+::span$<$ const double $>$ diagonal) \begin{DoxyCompactList}\small\item\em Own the reciprocal of every finite nonzero entry, including signed diagonals. \end{DoxyCompactList}\item std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}}, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_failure}{Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a857b5c98fc9800ec7efd4fca6c584ff3}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::try\+\_\+diagonal\+\_\+inverse}} (std\+::span$<$ const double $>$ diagonal, const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1inverse_1_1_diagonal}{strategies\+::inverse\+::\+Diagonal}} \&options) \begin{DoxyCompactList}\small\item\em Apply an explicitly requested signed floor before preparing the same immutable diagonal inverse. \end{DoxyCompactList}\end{DoxyCompactItemize}