|
NEML2 2.1.0
|
The most basic (yet effective for many types of problems) linear solver which assembles the (possibly) sparse matrix into a dense one and uses a standard LU decomposition to solve the system.
#include <DenseLU.h>

Public Member Functions | |
| DenseLU (const OptionSet &options) | |
| SparseTensorList | solve (LinearSystem &) const override |
| Solve Ax = b for x. | |
| SparseTensorList | ift (NonlinearSystem &) const override |
| Solve dr/du du/dg = -dr/dg. | |
| Public Member Functions inherited from LinearSolver | |
| LinearSolver (const OptionSet &options) | |
| Public Member Functions inherited from Solver | |
| Solver (const OptionSet &options) | |
| Construct a new Solver object. | |
| virtual void | to (const TensorOptions &) |
| Change the device and dtype of the solver's internal data. | |
| Public Member Functions inherited from NEML2Object | |
| NEML2Object ()=delete | |
| NEML2Object (NEML2Object &&)=delete | |
| NEML2Object (const NEML2Object &)=delete | |
| NEML2Object & | operator= (NEML2Object &&)=delete |
| NEML2Object & | operator= (const NEML2Object &)=delete |
| virtual | ~NEML2Object ()=default |
| NEML2Object (const OptionSet &options) | |
| Construct a new NEML2Object object. | |
| const OptionSet & | input_options () const |
| virtual void | setup () |
| Setup this object. | |
| const std::string & | name () const |
| A readonly reference to the object's name. | |
| const std::string & | type () const |
| A readonly reference to the object's type. | |
| const std::string & | path () const |
| A readonly reference to the object's path. | |
| const std::string & | doc () const |
| A readonly reference to the object's docstring. | |
| Factory * | factory () const |
| Get the factory that created this object. | |
| const Settings & | settings () const |
| Settings. | |
| template<typename T = NEML2Object> | |
| const T * | host () const |
| Get a readonly pointer to the host. | |
| template<typename T = NEML2Object> | |
| T * | host () |
| Get a writable pointer to the host. | |
| template<typename T> | |
| const T & | resolve_tensor (const std::string &name) |
| Resolve a TensorName to a Tensor. | |
| template<class T> | |
| std::shared_ptr< T > | get_object (const std::string §ion, const std::string &name) |
| template<class T = EquationSystem> | |
| std::shared_ptr< T > | get_es (const std::string &name) |
| Get an equation system from the factory. | |
| template<class T = Solver> | |
| std::shared_ptr< T > | get_solver (const std::string &name) |
| Get a solver from the factory. | |
| template<class T = Data> | |
| std::shared_ptr< T > | get_data (const std::string &name) |
| Get a data from the factory. | |
| template<class T = Model> | |
| std::shared_ptr< T > | get_model (const std::string &name) |
| Get a model from the factory. | |
| template<class T = Driver> | |
| std::shared_ptr< T > | get_driver (const std::string &name) |
| Get a driver from the factory. | |
| template<class T = WorkScheduler> | |
| std::shared_ptr< T > | get_scheduler (const std::string &name) |
| Get a scheduler from the factory. | |
Static Public Member Functions | |
| static OptionSet | expected_options () |
| Static Public Member Functions inherited from LinearSolver | |
| static OptionSet | expected_options () |
| Static Public Member Functions inherited from Solver | |
| static OptionSet | expected_options () |
| Static Public Member Functions inherited from NEML2Object | |
| static OptionSet | expected_options () |
Additional Inherited Members | |
| Public Attributes inherited from Solver | |
| const bool | verbose |
| Whether to print additional (debugging) information during the solve. | |
| DenseLU | ( | const OptionSet & | options | ) |
|
static |
|
overridevirtual |
Solve dr/du du/dg = -dr/dg.
Implements LinearSolver.
|
overridevirtual |
Solve Ax = b for x.
Implements LinearSolver.