Skip to content
Snippets Groups Projects
Commit 3bc9324c authored by Joan Solà Ortega's avatar Joan Solà Ortega
Browse files

Merge branch '475-gaussian-random-vectors-in-wolf-we-ve-been-wrong-for-a-long-time' into 'devel'

Resolve "Gaussian random vectors in WOLF: We've been wrong for a long time"

Closes #475

See merge request !464
parents a508947c 23f811d8
No related branches found
No related tags found
2 merge requests!466devel->main,!464Resolve "Gaussian random vectors in WOLF: We've been wrong for a long time"
Pipeline #14063 passed
...@@ -366,7 +366,10 @@ class Problem : public std::enable_shared_from_this<Problem> ...@@ -366,7 +366,10 @@ class Problem : public std::enable_shared_from_this<Problem>
// All branches ------------------------------------------- // All branches -------------------------------------------
// perturb states /**
* \brief perturb all states states with random noise
* following an uniform distribution in [ -amplitude, amplitude ]
*/
void perturb(double amplitude = 0.01); void perturb(double amplitude = 0.01);
// transform states // transform states
void transform(const VectorComposite& _transformation); void transform(const VectorComposite& _transformation);
......
...@@ -97,7 +97,10 @@ class HasStateBlocks ...@@ -97,7 +97,10 @@ class HasStateBlocks
unsigned int getSize(const StateStructure& _structure="") const; unsigned int getSize(const StateStructure& _structure="") const;
unsigned int getLocalSize(const StateStructure& _structure="") const; unsigned int getLocalSize(const StateStructure& _structure="") const;
// Perturb state /**
* \brief perturb all states states with random noise
* following an uniform distribution in [ -amplitude, amplitude ]
*/
void perturb(double amplitude = 0.01); void perturb(double amplitude = 0.01);
protected: protected:
......
...@@ -176,7 +176,9 @@ public: ...@@ -176,7 +176,9 @@ public:
virtual Eigen::VectorXd identity() const; virtual Eigen::VectorXd identity() const;
Eigen::VectorXd zero() const; Eigen::VectorXd zero() const;
/** \brief perturb state /**
* \brief perturb all states states with random noise
* following an uniform distribution in [ -amplitude, amplitude ]
*/ */
void perturb(double amplitude = 0.1); void perturb(double amplitude = 0.1);
......
...@@ -314,7 +314,10 @@ class StateBlockComposite ...@@ -314,7 +314,10 @@ class StateBlockComposite
// Plus operator // Plus operator
void plus(const VectorComposite& _dx); void plus(const VectorComposite& _dx);
// Perturb state with random noise /**
* \brief perturb all states states with random noise
* following an uniform distribution in [ -amplitude, amplitude ]
*/
void perturb(double amplitude = 0.01); void perturb(double amplitude = 0.01);
// These act on all state blocks. Per-block action must be done through state_block.fix() or through extended API in derived classes of this. // These act on all state blocks. Per-block action must be done through state_block.fix() or through extended API in derived classes of this.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment