Sun, 11 Dec 2022 23:25:53 +0200
Support arbitrary regularisation terms; implement non-positivity-constrained regularisation.
* Fixes the conditional gradient methods that were incorrectly solving
positivity constrained subproblems although the infinite-dimensional
versions do not include such constraints.
* Introduces the `ExperimentV2` struct that has `regularisation` in place
of `α`. The `Experiment` struct is now deprecated.
* The L^2-squared experiments were switch to be unconstrained, as the
Franke-Wolfe implementations do not support constraints. (This would
be easy to add for the “fully corrective” variant, but is not
immediate for the “relaxed” variant.)
//! Basic definitions for measures use serde::Serialize; use alg_tools::types::Num; use alg_tools::norms::{Norm, NormExponent}; /// This is used with [`Norm::norm`] to indicate that a Radon norm is to be computed. #[derive(Copy,Clone,Serialize,Debug)] pub struct Radon; impl NormExponent for Radon {} /// A trait for (Radon) measures. /// /// Currently has no methods, just the requirement that the Radon norm be implemented. pub trait Measure<F : Num> : Norm<F, Radon> { type Domain; }