|
PolyFEM
|
#include <Parametrizations.hpp>
Public Member Functions | |
| InsertConstantMap (const int size=-1, const double val=0, const int start_index=-1) | |
| InsertConstantMap (const Eigen::VectorXd &values, const int start_index=-1) | |
| int | size (const int x_size) const override |
| Compute DOF of y given DOF of x. | |
| Eigen::VectorXd | inverse_eval (const Eigen::VectorXd &y) override |
| Eval x = f^-1 (y). | |
| Eigen::VectorXd | eval (const Eigen::VectorXd &x) const override |
| Eval y = f(x). | |
| Eigen::VectorXd | apply_jacobian (const Eigen::VectorXd &grad, const Eigen::VectorXd &x) const override |
| Apply jacobian for chain rule. | |
Public Member Functions inherited from polyfem::solver::Parametrization | |
| virtual | ~Parametrization ()=default |
Private Attributes | |
| int | start_index_ = -1 |
| Eigen::VectorXd | values_ |
Definition at line 130 of file Parametrizations.hpp.
| polyfem::solver::InsertConstantMap::InsertConstantMap | ( | const int | size = -1, |
| const double | val = 0, |
||
| const int | start_index = -1 |
||
| ) |
Definition at line 347 of file Parametrizations.cpp.
References polyfem::log_and_throw_adjoint_error(), size(), val, and values_.
| polyfem::solver::InsertConstantMap::InsertConstantMap | ( | const Eigen::VectorXd & | values, |
| const int | start_index = -1 |
||
| ) |
Definition at line 354 of file Parametrizations.cpp.
|
overridevirtual |
Apply jacobian for chain rule.
Let g(y) = g(f(x)). Given ∂g/∂y, compute ∂g/∂x = ∂g/∂y * ∂y/∂x.
| [in] | grad_full | ∂g/∂y. |
| [in] | x | Where ∂g/∂x is evaluated. |
Implements polyfem::solver::Parametrization.
Definition at line 393 of file Parametrizations.cpp.
References start_index_, values_, and x.
|
overridevirtual |
Eval y = f(x).
| [in] | x | x. |
Implements polyfem::solver::Parametrization.
Definition at line 377 of file Parametrizations.cpp.
References size(), start_index_, values_, x, and y.
|
overridevirtual |
Eval x = f^-1 (y).
This is not a strict inverse in mathematical sense, one may choose "reasonable" x even if f is not one-to-one.
| [in] | y | y. |
| std::runtime_error | Throw if not implemented. |
Reimplemented from polyfem::solver::Parametrization.
Definition at line 363 of file Parametrizations.cpp.
References start_index_, values_, x, and y.
|
overridevirtual |
Compute DOF of y given DOF of x.
| [in] | x_size | The DOF of x. |
Implements polyfem::solver::Parametrization.
Definition at line 358 of file Parametrizations.cpp.
References values_.
Referenced by eval(), and InsertConstantMap().
|
private |
Definition at line 144 of file Parametrizations.hpp.
Referenced by apply_jacobian(), eval(), and inverse_eval().
|
private |
Definition at line 145 of file Parametrizations.hpp.
Referenced by apply_jacobian(), eval(), InsertConstantMap(), inverse_eval(), and size().