src/main.rs

branch
dev
changeset 34
efa60bc4f743
parent 32
56c8adc32b09
child 35
b087e3eab191
equal deleted inserted replaced
33:aec67cdd6b14 34:efa60bc4f743
8 #![allow(mixed_script_confusables)] 8 #![allow(mixed_script_confusables)]
9 #![allow(confusable_idents)] 9 #![allow(confusable_idents)]
10 // Linear operators may be written e.g. as `opA`, to keep the capital letters of mathematical 10 // Linear operators may be written e.g. as `opA`, to keep the capital letters of mathematical
11 // convention while referring to the type (trait) of the operator as `A`. 11 // convention while referring to the type (trait) of the operator as `A`.
12 #![allow(non_snake_case)] 12 #![allow(non_snake_case)]
13 #![feature(drain_filter)] 13 // Need to create parse errors
14 #![feature(dec2flt)]
14 15
15 use clap::Parser; 16 use clap::Parser;
16 use serde::{Serialize, Deserialize}; 17 use serde::{Serialize, Deserialize};
17 use serde_json; 18 use serde_json;
18 use itertools::Itertools; 19 use itertools::Itertools;
34 pub mod subproblem; 35 pub mod subproblem;
35 pub mod tolerance; 36 pub mod tolerance;
36 pub mod regularisation; 37 pub mod regularisation;
37 pub mod dataterm; 38 pub mod dataterm;
38 pub mod fb; 39 pub mod fb;
40 pub mod radon_fb;
39 pub mod sliding_fb; 41 pub mod sliding_fb;
40 pub mod frank_wolfe; 42 pub mod frank_wolfe;
41 pub mod pdps; 43 pub mod pdps;
42 pub mod run; 44 pub mod run;
43 pub mod rand_distr; 45 pub mod rand_distr;
167 /// Dual step length parameter override for --algorithm. 169 /// Dual step length parameter override for --algorithm.
168 /// 170 ///
169 /// Only use if running just a single algorithm, as different algorithms have different 171 /// Only use if running just a single algorithm, as different algorithms have different
170 /// regularisation parameters. Only affects PDPS. 172 /// regularisation parameters. Only affects PDPS.
171 sigma0 : Option<F>, 173 sigma0 : Option<F>,
174
175 #[arg(long)]
176 /// Normalised transport step length for sliding_fb.
177 theta0 : Option<F>,
178
179 #[arg(long)]
180 /// Transport toleranced wrt. ω
181 transport_tolerance_omega : Option<F>,
182
183 #[arg(long)]
184 /// Transport toleranced wrt. ∇v
185 transport_tolerance_dv : Option<F>,
172 186
173 #[arg(value_enum, long)] 187 #[arg(value_enum, long)]
174 /// PDPS acceleration, when available. 188 /// PDPS acceleration, when available.
175 acceleration : Option<pdps::Acceleration>, 189 acceleration : Option<pdps::Acceleration>,
176 190

mercurial