Mise à jour terminée. Pour connaître les apports de la version 13.8.4 par rapport à notre ancienne version vous pouvez lire les "Release Notes" suivantes :
https://about.gitlab.com/releases/2021/02/11/security-release-gitlab-13-8-4-released/
https://about.gitlab.com/releases/2021/02/05/gitlab-13-8-3-released/

Commit 44004a4e authored by Laurent Belcour's avatar Laurent Belcour

Adding a way to bootstrap the DCA. And some more TODOs ;-)

parent c033a7f8
......@@ -109,16 +109,25 @@ double distance(const rational_function* f, const data* d)
return distance;
}
// Bootstrap the DCA algorithm with the Papamarkos fitting
// algorithm [Papamarkos 1988]
// \todo Finish the Papamarkos implementation
// Bootstrap the DCA algorithm with an already done fit
void rational_fitter_dca::bootstrap(const data* d, int np, int nq, rational_function* fit, double& delta)
{
vec p(np*d->dimY());
vec q(nq*d->dimY());
q[0] = 1.0;
if(args.is_defined("bootstrap"))
{
fit->load(args["bootstrap"];
}
else
{
#ifdef DEBUG
std::cout << "<<DEBUG>> Using the constant function equals to 0 as input: not optimal" << std::endl;
#endif
q[0] = 1.0;
fit->update(p, q);
}
fit->update(p, q);
delta = distance(fit, d);
}
......
......@@ -14,6 +14,12 @@
#include <core/rational_function.h>
#include <core/vertical_segment.h>
/*! \brief A rational function optimizer following the DCA algorithm.
*
* \todo Implement Papamarkos fitter?
* \todo I should be able to test when load a BRDF text file to ensure the
* loaded object is correct.
*/
class rational_fitter_dca : public QObject, public fitter
{
Q_OBJECT
......@@ -43,8 +49,9 @@ class rational_fitter_dca : public QObject, public fitter
// elements in the denominator
virtual bool fit_data(const data* d, int np, int nq, rational_function* fit) ;
// Bootstrap the DCA algorithm with the Papamarkos fitting
// algorithm [Papamarkos 1988]
//! \brief Bootstrap the DCA algorithm with an already fitted function. It will
//! load the the rational function object from a text file defined in the argument
//! --bootstrap %filename%.
void bootstrap(const data* d, int np, int nq, rational_function* fit, double& delta) ;
protected: // data
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment