OptimizerBase

class OptimizerBase

Subclassed by NeuralNetworkOptimizer, NewtonOptimizer

Public Functions

virtual void Solve(Vector &alpha, const Vector &u, const VectorVector &moments, unsigned idx_cell = 0) = 0

Computes the optimal Lagrange multilpiers for the dual entropy minimization problem.

Parameters:
  • alpha – vector where the solution Lagrange multipliers are saved to.

  • u – moment vector

  • moments – VectorVector to the moment basis evaluated at all quadpoints

  • idx_cell – index of the cell where alpha should be computed (out of u)

virtual void SolveMultiCell(VectorVector &alpha, const VectorVector &u, const VectorVector &moments, Vector &alpha_norms) = 0

Computes the optimal Lagrange multilpiers for the dual entropy minimization problem.

Parameters:
  • alpha – vector where the solution Lagrange multipliers are saved to.

  • u – moment vector

  • moments – VectorVector to the moment basis evaluated at all quadpoints

virtual void ReconstructMoments(Vector &sol, const Vector &alpha, const VectorVector &moments) = 0

Reconstruct the moment sol from the Lagrange multiplier alpha.

Parameters:
  • sol – moment vector

  • alpha – Lagrange multipliers

  • moments – Moment basis

Public Static Functions

static OptimizerBase *Create(Config *settings)

Optimizer creator: Depending on the chosen option, this function creates an object of the chosen child class of OptimizerBase.

Protected Attributes

EntropyBase *_entropy

Class to handle entropy functional evaluations.

Config *_settings

Pointer to settings class of the solver.