Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
52 lines
4.3 KiB
TeX
52 lines
4.3 KiB
TeX
\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}
|