Files
MeanField_SERiF/docs/man/man3/serif_geometry_deformation_detail.3
Emily Boudreaux 6b57738330 docs(docs): built docs
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)
2026-11-09 14:09:44 -05:00

118 lines
6.2 KiB
Groff
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.TH "serif::geometry::deformation::detail" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::geometry::deformation::detail
.SH SYNOPSIS
.br
.PP
.SS "Classes"
.in +1c
.ti -1c
.RI "struct \fBActionInput\fP"
.br
.RI "Pair each action input with the dimension of its mathematical space\&. "
.in -1c
.SS "Typedefs"
.in +1c
.ti -1c
.RI "using \fBDeterminantPolynomial\fP = std::array<double, 4>"
.br
.ti -1c
.RI "using \fBJacobianEntries\fP = std::array<std::array<double, 3>, 3>"
.br
.in -1c
.SS "Functions"
.in +1c
.ti -1c
.RI "\fBDeformationStatus\fP \fBvalidate_disjoint_output\fP (std::span< double > output, std::initializer_list< std::span< const double > > inputs)"
.br
.RI "Preserve every action input until the last use, including nonlinear transpose derivatives\&. The list contains only the fixed number of mathematical arguments to an action; checking address intervals requires no allocation and never scans numerical coefficients\&. "
.ti -1c
.RI "\fBDeformationStatus\fP \fBvalidate_action_arguments\fP (std::span< double > output, std::size_t output_size, std::initializer_list< \fBActionInput\fP > inputs)"
.br
.RI "Validate caller buffers uniformly, retaining disjoint inputs until an action has finished\&. "
.ti -1c
.RI "\fBDeterminantPolynomial\fP \fBdeterminant_polynomial\fP (const \fBJacobianEntries\fP &base, const \fBJacobianEntries\fP &direction, int dimension, double maximum_step, double determinant_floor) noexcept"
.br
.RI "Expand det(base + t maximum_step direction) minus the floor for dimensions one through three\&. "
.ti -1c
.RI "double \fBevaluate_polynomial\fP (const \fBDeterminantPolynomial\fP &coefficients, double parameter) noexcept"
.br
.RI "Evaluate the cubic with fused operations, retaining small values near repeated roots\&. "
.ti -1c
.RI "double \fBfirst_boundary_parameter\fP (const \fBDeterminantPolynomial\fP &coefficients) noexcept"
.br
.RI "Find the first loss of strict positivity in (0, 1], including a tangent zero\&. "
.ti -1c
.RI "std::expected< std::vector< \fBSphericalHarmonicMode\fP >, \fBDeformationFailure\fP > \fBmake_harmonic_modes\fP (const \fBSphericalHarmonicSurface\fP &model, std::size_t node_count)"
.br
.RI "Validate harmonic cutoffs before allocating a basis or enumerating modes\&. "
.ti -1c
.RI "std::expected< std::vector< double >, \fBDeformationFailure\fP > \fBsample_harmonic_basis\fP (const \fBSphericalHarmonicSurface\fP &model, std::span< const \fBSphericalHarmonicMode\fP > modes, std::span< const std::array< double, 3 > > directions)"
.br
.RI "Use normalized Legendre recurrence to avoid factorial growth while preserving the Condon–Shortley phase\&. "
.ti -1c
.RI "\fBDeformationStatus\fP \fBcheck_independent_harmonics\fP (std::span< const double > basis, std::size_t node_count, std::size_t mode_count)"
.br
.RI "Check sampled rank on a private copy, leaving physical coefficients and basis normalization unchanged\&. "
.in -1c
.SH "Typedef Documentation"
.PP
.SS "using \fBserif::geometry::deformation::detail::DeterminantPolynomial\fP = std::array<double, 4>"
.SS "using \fBserif::geometry::deformation::detail::JacobianEntries\fP = std::array<std::array<double, 3>, 3>"
.SH "Function Documentation"
.PP
.SS "\fBDeformationStatus\fP serif::geometry::deformation::detail::check_independent_harmonics (std::span< const double > basis, std::size_t node_count, std::size_t mode_count)\fR [nodiscard]\fP"
.PP
Check sampled rank on a private copy, leaving physical coefficients and basis normalization unchanged\&.
.SS "\fBDeterminantPolynomial\fP serif::geometry::deformation::detail::determinant_polynomial (const \fBJacobianEntries\fP & base, const \fBJacobianEntries\fP & direction, int dimension, double maximum_step, double determinant_floor)\fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Expand det(base + t maximum_step direction) minus the floor for dimensions one through three\&.
.SS "double serif::geometry::deformation::detail::evaluate_polynomial (const \fBDeterminantPolynomial\fP & coefficients, double parameter)\fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Evaluate the cubic with fused operations, retaining small values near repeated roots\&.
.SS "double serif::geometry::deformation::detail::first_boundary_parameter (const \fBDeterminantPolynomial\fP & coefficients)\fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Find the first loss of strict positivity in (0, 1], including a tangent zero\&.
.PP
\fBPrecondition\fP
.RS 4
Coefficients are finite and the constant coefficient is strictly positive\&.
.RE
.PP
\fBReturns\fP
.RS 4
The boundary parameter, or infinity when the entire interval remains admissible\&.
.RE
.PP
.SS "std::expected< std::vector< \fBSphericalHarmonicMode\fP >, \fBDeformationFailure\fP > serif::geometry::deformation::detail::make_harmonic_modes (const \fBSphericalHarmonicSurface\fP & model, std::size_t node_count)\fR [nodiscard]\fP"
.PP
Validate harmonic cutoffs before allocating a basis or enumerating modes\&.
.SS "std::expected< std::vector< double >, \fBDeformationFailure\fP > serif::geometry::deformation::detail::sample_harmonic_basis (const \fBSphericalHarmonicSurface\fP & model, std::span< const \fBSphericalHarmonicMode\fP > modes, std::span< const std::array< double, 3 > > directions)\fR [nodiscard]\fP"
.PP
Use normalized Legendre recurrence to avoid factorial growth while preserving the Condon–Shortley phase\&.
.SS "\fBDeformationStatus\fP serif::geometry::deformation::detail::validate_action_arguments (std::span< double > output, std::size_t output_size, std::initializer_list< \fBActionInput\fP > inputs)\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Validate caller buffers uniformly, retaining disjoint inputs until an action has finished\&.
.SS "\fBDeformationStatus\fP serif::geometry::deformation::detail::validate_disjoint_output (std::span< double > output, std::initializer_list< std::span< const double > > inputs)\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Preserve every action input until the last use, including nonlinear transpose derivatives\&. The list contains only the fixed number of mathematical arguments to an action; checking address intervals requires no allocation and never scans numerical coefficients\&.
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.