OptimizerBase

class OptimizerBase

Subclassed by NeuralNetworkOptimizer, NewtonOptimizer

Public Functions

void Solve(Vector &alpha, 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)

void SolveMultiCell(VectorVector &alpha, 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

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

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.