\doxysection{src/include/serif/backend/mfem/solver/preconditioner/computations/inverse.hpp File Reference} \hypertarget{computations_2inverse_8hpp}{}\label{computations_2inverse_8hpp}\index{src/include/serif/backend/mfem/solver/preconditioner/computations/inverse.hpp@{src/include/serif/backend/mfem/solver/preconditioner/computations/inverse.hpp}} {\ttfamily \#include $<$concepts$>$}\newline {\ttfamily \#include "{}serif/utils/error/errors.\+hpp"{}}\newline {\ttfamily \#include "{}serif/solver/preconditioner/recipes/block.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/computations/physical\+\_\+blocks.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/inverse/diagonal.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/inverse/dense.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/inverse/amg.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/inverse/sparse\+\_\+direct.\+hpp"{}}\newline {\ttfamily \#include "{}serif/solver/preconditioner/strategies/inverse/diagonal.\+hpp"{}}\newline Include dependency graph for inverse.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{computations_2inverse_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]{computations_2inverse_8hpp__dep__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_1computations}{serif\+::solver\+::preconditioner\+::computations}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Strategy$>$ }\\std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{backend\+::mfem\+::\+Inverse}}, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_failure}{Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_a11cc41ea1cdbb6deaee475a3b93fd01e}{serif\+::solver\+::preconditioner\+::computations\+::invert\+\_\+matrix}} (std\+::shared\+\_\+ptr$<$ const \+::mfem\+::\+Sparse\+Matrix $>$ matrix, const Strategy \&strategy) \begin{DoxyCompactList}\small\item\em Invert an assembled selected matrix with the chosen dense, sparse direct or AMG backend. \end{DoxyCompactList}\item {\footnotesize template$<$typename Row, typename Field, typename Strategy$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_a4e68f4ddc06181dc9077cb41a6c795d5}{serif\+::solver\+::preconditioner\+::computations\+::inverse}} (const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_block_preconditioner}{Block\+Preconditioner}}$<$ Row, Field, Strategy $>$ \&choice) \begin{DoxyCompactList}\small\item\em Declare only the numerical inputs required by this chosen inverse. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Variables} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Strategy$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_afc4d578568cdd7687de4cf6ec35e1a7a}{serif\+::solver\+::preconditioner\+::computations\+::needs\+\_\+diagonal}} = std\+::same\+\_\+as$<$Strategy, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1inverse_1_1_diagonal}{strategies\+::inverse\+::\+Diagonal}}$>$ \begin{DoxyCompactList}\small\item\em Identify the inverse strategies whose setup consumes a physical diagonal. \end{DoxyCompactList}\item {\footnotesize template$<$typename Strategy$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1computations_a7ba4b3dda292223071f5125eb3bc373c}{serif\+::solver\+::preconditioner\+::computations\+::needs\+\_\+matrix}} \begin{DoxyCompactList}\small\item\em Identify strategies requiring an explicitly assembled selected matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}