regularization.hpp expected span vector serif/solver/preconditioner/failure.hpp serif/solver/preconditioner/strategies/inverse/diagonal_regularization.hpp src/lib/serif/solver/preconditioner/backend/mfem/inverse/diagonal.cpp src/lib/serif/solver/preconditioner/backend/mfem/inverse/regularization.cpp src/lib/serif/solver/preconditioner/backend/mfem/surface/reference_mass.cpp serif::solver::preconditioner::backend::mfem::RegularizedDiagonal serif serif::solver serif::solver::preconditioner serif::solver::preconditioner::backend serif::solver::preconditioner::backend::mfem #pragmaonce #include<expected> #include<span> #include<vector> #include"serif/solver/preconditioner/failure.hpp" #include"serif/solver/preconditioner/strategies/inverse/diagonal_regularization.hpp" namespaceserif::solver::preconditioner::backend::mfem { structRegularizedDiagonalfinal { std::vector<double>values; strategies::inverse::DiagonalRegularizationReportreport; }; [[nodiscard]]std::expected<RegularizedDiagonal,Failure>try_regularize_diagonal(std::span<constdouble>diagonal,strategies::inverse::DiagonalRegularizationoptions={}); }//namespaceserif::solver::preconditioner::backend::mfem