\doxysection{src/include/serif/geometry/deformation/linearization.hpp File Reference} \hypertarget{deformation_2linearization_8hpp}{}\label{deformation_2linearization_8hpp}\index{src/include/serif/geometry/deformation/linearization.hpp@{src/include/serif/geometry/deformation/linearization.hpp}} {\ttfamily \#include $<$memory$>$}\newline {\ttfamily \#include $<$vector$>$}\newline {\ttfamily \#include "{}serif/geometry/deformation/actions.\+hpp"{}}\newline Include dependency graph for linearization.\+hpp\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{deformation_2linearization_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]{deformation_2linearization_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_linearization}{serif\+::geometry\+::deformation\+::\+Deformation\+Linearization$<$ Map $>$}} \begin{DoxyCompactList}\small\item\em Freeze the shape coordinates associated with a derivative, independently of mutable caller inputs. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry}{serif\+::geometry}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation}{serif\+::geometry\+::deformation}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$Deformation\+Map Map$>$ }\\std\+::expected$<$ std\+::vector$<$ double $>$, \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_failure}{Deformation\+Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a7c97f13afaf99ecbde93c21ab3f9f771}{serif\+::geometry\+::deformation\+::evaluate\+\_\+displacement}} (const Map \&map, std\+::span$<$ const double $>$ parameters) \begin{DoxyCompactList}\small\item\em Allocate a result for graph publication while leaving repeated low-\/level actions allocation-\/free. \end{DoxyCompactList}\item {\footnotesize template$<$Deformation\+Map Map$>$ }\\\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a1c527e713dfc9f833b3e0bd1b757c731}{serif\+::geometry\+::deformation\+::apply\+\_\+jacobian}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_linearization}{Deformation\+Linearization}}$<$ Map $>$ \&state, std\+::span$<$ const double $>$ direction, std\+::span$<$ double $>$ output, \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_ae1f99a74025eac52e6ff4a4b77fb41c6}{Deformation\+Workspace}}$<$ Map $>$ \&workspace) \begin{DoxyCompactList}\small\item\em Evaluate a tangent about the cache\textquotesingle{}s accepted shape, not the caller\textquotesingle{}s next trial state. \end{DoxyCompactList}\item {\footnotesize template$<$Deformation\+Map Map$>$ }\\\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a7e4a280dbda654cc0d4b9b462752e757}{serif\+::geometry\+::deformation\+::apply\+\_\+jacobian\+\_\+transpose}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_linearization}{Deformation\+Linearization}}$<$ Map $>$ \&state, std\+::span$<$ const double $>$ dual, std\+::span$<$ double $>$ output, \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_ae1f99a74025eac52e6ff4a4b77fb41c6}{Deformation\+Workspace}}$<$ Map $>$ \&workspace) \begin{DoxyCompactList}\small\item\em Pull displacement forces back to the accepted independent shape coordinates. \end{DoxyCompactList}\item {\footnotesize template$<$Deformation\+Map Map$>$ }\\\mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_aeabb23372e9ed935ed539925bf56b316}{serif\+::geometry\+::deformation\+::apply\+\_\+pullback\+\_\+derivative}} (const \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1_deformation_linearization}{Deformation\+Linearization}}$<$ Map $>$ \&state, std\+::span$<$ const double $>$ direction, std\+::span$<$ const double $>$ dual, std\+::span$<$ double $>$ output, \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_ae1f99a74025eac52e6ff4a4b77fb41c6}{Deformation\+Workspace}}$<$ Map $>$ \&workspace) \begin{DoxyCompactList}\small\item\em Keep the geometric contribution to the Newton force derivative available for nonlinear models. \end{DoxyCompactList}\end{DoxyCompactItemize}