Allows to export Gaussian elimination for solving linear systems of specific dimensions. More...
#include <gaussian_elimination_export.hpp>
Public Member Functions | |
returnValue | appendVariableNames (std::stringstream &string) |
ExportGaussElim (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="") | |
virtual returnValue | getCode (ExportStatementBlock &code) |
virtual returnValue | getDataDeclarations (ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const |
virtual returnValue | getFunctionDeclarations (ExportStatementBlock &declarations) const |
virtual ExportVariable | getGlobalExportVariable (const uint factor) const |
virtual returnValue | setup () |
virtual | ~ExportGaussElim () |
Public Member Functions inherited from ExportLinearSolver | |
ExportLinearSolver (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="") | |
uint | getDim () const |
const std::string | getNameSolveFunction () |
const std::string | getNameSolveReuseFunction () |
const std::string | getNameSolveTransposeReuseFunction () |
bool | getReuse () const |
bool | getTranspose () const |
bool | getUnrolling () const |
returnValue | init (const uint newDim, const bool &reuse=true, const bool &unrolling=false) |
returnValue | init (const uint newDim, const uint _nRightHandSides, const bool &reuse=true, const bool &unrolling=false) |
returnValue | init (const uint newDim, const bool &reuse, const bool &unrolling, const std::string &newId) |
returnValue | init (unsigned _nRows, unsigned _nCols, unsigned _nBacksolves, bool _reuse, bool _unroll, const std::string &_id) |
returnValue | init (unsigned _nRows, unsigned _nCols, unsigned _nBacksolves, unsigned _nRightHandSides, bool _reuse, bool _unroll, const std::string &_id) |
returnValue | setReuse (const bool &reuse) |
returnValue | setTranspose (const bool &transpose) |
returnValue | setUnrolling (const bool &unrolling) |
virtual | ~ExportLinearSolver () |
Public Member Functions inherited from ExportAlgorithm | |
ExportAlgorithm (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName=std::string()) | |
uint | getN () const |
uint | getNDX () const |
uint | getNOD () const |
uint | getNP () const |
uint | getNU () const |
uint | getNX () const |
uint | getNXA () const |
uint | getNY () const |
uint | getNYN () const |
returnValue | setDimensions (uint _NX=0, uint _NU=0, uint _NP=0, uint _NI=0, uint _NOD=0) |
returnValue | setDimensions (uint _NX, uint _NDX, uint _NXA, uint _NU, uint _NP, uint _NI, uint _NOD) |
void | setNY (uint NY_) |
void | setNYN (uint NYN_) |
virtual | ~ExportAlgorithm () |
Public Member Functions inherited from AlgorithmicBase | |
int | addLogRecord (LogRecord &_record) |
returnValue | addOption (OptionsName name, int value) |
returnValue | addOption (OptionsName name, double value) |
returnValue | addOption (uint idx, OptionsName name, int value) |
returnValue | addOption (uint idx, OptionsName name, double value) |
returnValue | addOptionsList () |
AlgorithmicBase () | |
AlgorithmicBase (UserInteraction *_userInteraction) | |
AlgorithmicBase (const AlgorithmicBase &rhs) | |
returnValue | get (OptionsName name, int &value) const |
returnValue | get (OptionsName name, double &value) const |
returnValue | get (OptionsName name, std::string &value) const |
returnValue | get (uint idx, OptionsName name, int &value) const |
returnValue | get (uint idx, OptionsName name, double &value) const |
returnValue | getAll (LogName _name, MatrixVariablesGrid &values) const |
returnValue | getFirst (LogName _name, DMatrix &firstValue) const |
returnValue | getFirst (LogName _name, VariablesGrid &firstValue) const |
returnValue | getLast (LogName _name, DMatrix &lastValue) const |
returnValue | getLast (LogName _name, VariablesGrid &lastValue) const |
Options | getOptions (uint idx) const |
BooleanType | haveOptionsChanged () const |
BooleanType | haveOptionsChanged (uint idx) const |
AlgorithmicBase & | operator= (const AlgorithmicBase &rhs) |
returnValue | plot (PlotFrequency _frequency=PLOT_IN_ANY_CASE) |
returnValue | printLogRecord (std::ostream &_stream, int idx, LogPrintMode _mode=PRINT_ITEM_BY_ITEM) const |
returnValue | replot (PlotFrequency _frequency=PLOT_IN_ANY_CASE) |
returnValue | set (OptionsName name, int value) |
returnValue | set (OptionsName name, double value) |
returnValue | set (OptionsName name, const std::string &value) |
returnValue | set (uint idx, OptionsName name, int value) |
returnValue | set (uint idx, OptionsName name, double value) |
returnValue | setAll (LogName _name, const MatrixVariablesGrid &values) |
returnValue | setLast (LogName _name, int lastValue, double time=-INFTY) |
returnValue | setLast (LogName _name, double lastValue, double time=-INFTY) |
returnValue | setLast (LogName _name, const DVector &lastValue, double time=-INFTY) |
returnValue | setLast (LogName _name, const DMatrix &lastValue, double time=-INFTY) |
returnValue | setLast (LogName _name, const VariablesGrid &lastValue, double time=-INFTY) |
returnValue | setOptions (const Options &arg) |
returnValue | setOptions (uint idx, const Options &arg) |
virtual | ~AlgorithmicBase () |
Protected Member Functions | |
virtual returnValue | setupFactorization (ExportFunction &_solve, ExportVariable &_swap, ExportVariable &_determinant, const std::string &absF) |
virtual returnValue | setupSolve (ExportFunction &_solve, ExportFunction &_solveTriangular, ExportVariable &_swap, ExportVariable &_determinant, const std::string &absF) |
virtual returnValue | setupSolveReuse (ExportFunction &_solveReuse, ExportFunction &_solveTriangular, ExportVariable &_bPerm) |
virtual returnValue | setupSolveReuseComplete (ExportFunction &_solveReuse, ExportVariable &_bPerm) |
virtual returnValue | setupSolveReuseTranspose (ExportFunction &_solveReuse, ExportVariable &_bPerm) |
virtual returnValue | setupSolveUpperTriangular (ExportFunction &_solveTriangular) |
Protected Attributes | |
ExportVariable | b_trans |
ExportVariable | rk_bPerm |
ExportVariable | rk_bPerm_trans |
ExportVariable | rk_perm |
ExportVariable | rk_swap |
Protected Attributes inherited from ExportLinearSolver | |
ExportVariable | A |
ExportVariable | b |
ExportVariable | determinant |
uint | dim |
std::string | identifier |
unsigned | nBacksolves |
unsigned | nCols |
unsigned | nRightHandSides |
unsigned | nRows |
bool | REUSE |
ExportFunction | solve |
ExportFunction | solveReuse |
ExportFunction | solveReuseTranspose |
ExportFunction | solveTriangular |
bool | TRANSPOSE |
bool | UNROLLING |
Protected Attributes inherited from ExportAlgorithm | |
std::string | commonHeaderName |
uint | N |
uint | NDX |
uint | NOD |
uint | NP |
uint | NU |
uint | NX |
uint | NXA |
uint | NY |
uint | NYN |
Protected Attributes inherited from AlgorithmicBase | |
int | outputLoggingIdx |
BooleanType | useModuleStandalone |
UserInteraction * | userInteraction |
Allows to export Gaussian elimination for solving linear systems of specific dimensions.
The class ExportGaussElim allows to export Gaussian elimination for solving linear systems of specific dimensions.
Definition at line 54 of file gaussian_elimination_export.hpp.
BEGIN_NAMESPACE_ACADO ExportGaussElim::ExportGaussElim | ( | UserInteraction * | _userInteraction = 0 , |
const std::string & | _commonHeaderName = "" |
||
) |
Default constructor.
@param[in] _userInteraction Pointer to corresponding user interface. @param[in] _commonHeaderName Name of common header file to be included.
Definition at line 44 of file gaussian_elimination_export.cpp.
|
virtual |
Destructor.
Definition at line 50 of file gaussian_elimination_export.cpp.
|
virtual |
Appends the names of the used variables to a given stringstream.
@param[in] string The string to which the names of the used variables are appended. \return SUCCESSFUL_RETURN
Implements ExportLinearSolver.
Reimplemented in ExportIRK3StageSimplifiedNewton, and ExportIRK4StageSimplifiedNewton.
Definition at line 516 of file gaussian_elimination_export.cpp.
|
virtual |
Exports source code of the auto-generated algorithm into the given directory.
@param[in] code Code block containing the auto-generated algorithm. \return SUCCESSFUL_RETURN
Implements ExportLinearSolver.
Reimplemented in ExportIRK3StageSimplifiedNewton, ExportIRK4StageSimplifiedNewton, ExportIRK3StageSingleNewton, and ExportIRK4StageSingleNewton.
Definition at line 82 of file gaussian_elimination_export.cpp.
|
virtual |
Adds all data declarations of the auto-generated algorithm to given list of declarations.
@param[in] declarations List of declarations. \return SUCCESSFUL_RETURN
Implements ExportLinearSolver.
Reimplemented in ExportIRK3StageSimplifiedNewton, ExportIRK4StageSimplifiedNewton, ExportIRK3StageSingleNewton, and ExportIRK4StageSingleNewton.
Definition at line 53 of file gaussian_elimination_export.cpp.
|
virtual |
Adds all function (forward) declarations of the auto-generated algorithm to given list of declarations.
@param[in] declarations List of declarations. \return SUCCESSFUL_RETURN
Implements ExportLinearSolver.
Reimplemented in ExportIRK3StageSimplifiedNewton, ExportIRK4StageSimplifiedNewton, ExportIRK3StageSingleNewton, and ExportIRK4StageSingleNewton.
Definition at line 69 of file gaussian_elimination_export.cpp.
|
virtual |
Returns the dimension of the auxiliary variables for the linear solver.
Reimplemented from ExportLinearSolver.
Definition at line 577 of file gaussian_elimination_export.cpp.
|
virtual |
Initializes code export into given file.
\return SUCCESSFUL_RETURN
Implements ExportLinearSolver.
Reimplemented in ExportIRK3StageSimplifiedNewton, ExportIRK3StageSingleNewton, ExportIRK4StageSimplifiedNewton, and ExportIRK4StageSingleNewton.
Definition at line 528 of file gaussian_elimination_export.cpp.
|
protectedvirtual |
Definition at line 273 of file gaussian_elimination_export.cpp.
|
protectedvirtual |
Definition at line 141 of file gaussian_elimination_export.cpp.
|
protectedvirtual |
Definition at line 391 of file gaussian_elimination_export.cpp.
|
protectedvirtual |
Definition at line 417 of file gaussian_elimination_export.cpp.
|
protectedvirtual |
Definition at line 478 of file gaussian_elimination_export.cpp.
|
protectedvirtual |
Definition at line 123 of file gaussian_elimination_export.cpp.
|
protected |
Variable containing ...
Definition at line 154 of file gaussian_elimination_export.hpp.
|
protected |
Variable containing the reordered right-hand side.
Definition at line 150 of file gaussian_elimination_export.hpp.
|
protected |
Variable containing ...
Definition at line 153 of file gaussian_elimination_export.hpp.
|
protected |
Variable containing the order of the rows.
Definition at line 151 of file gaussian_elimination_export.hpp.
|
protected |
Variable that is used to swap rows for pivoting.
Definition at line 149 of file gaussian_elimination_export.hpp.