src/main.rs

branch
dev
changeset 32
56c8adc32b09
parent 24
d29d1fcf5423
child 34
efa60bc4f743
equal deleted inserted replaced
30:bd13c2ae3450 32:56c8adc32b09
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 // We need the drain filter for inertial prune.
14 #![feature(drain_filter)] 13 #![feature(drain_filter)]
15 14
16 use clap::Parser; 15 use clap::Parser;
17 use serde::{Serialize, Deserialize}; 16 use serde::{Serialize, Deserialize};
18 use serde_json; 17 use serde_json;
27 pub mod types; 26 pub mod types;
28 pub mod measures; 27 pub mod measures;
29 pub mod fourier; 28 pub mod fourier;
30 pub mod kernels; 29 pub mod kernels;
31 pub mod seminorms; 30 pub mod seminorms;
31 pub mod transport;
32 pub mod forward_model; 32 pub mod forward_model;
33 pub mod plot; 33 pub mod plot;
34 pub mod subproblem; 34 pub mod subproblem;
35 pub mod tolerance; 35 pub mod tolerance;
36 pub mod regularisation; 36 pub mod regularisation;
37 pub mod dataterm;
37 pub mod fb; 38 pub mod fb;
39 pub mod sliding_fb;
38 pub mod frank_wolfe; 40 pub mod frank_wolfe;
39 pub mod pdps; 41 pub mod pdps;
40 pub mod run; 42 pub mod run;
41 pub mod rand_distr; 43 pub mod rand_distr;
42 pub mod experiments; 44 pub mod experiments;
87 /// Default algorithm configration(s) to use on the experiments. 89 /// Default algorithm configration(s) to use on the experiments.
88 /// 90 ///
89 /// Not all algorithms are available for all the experiments. 91 /// Not all algorithms are available for all the experiments.
90 /// In particular, only PDPS is available for the experiments with L¹ data term. 92 /// In particular, only PDPS is available for the experiments with L¹ data term.
91 #[arg(value_enum, value_name = "ALGORITHM", long, short = 'a', 93 #[arg(value_enum, value_name = "ALGORITHM", long, short = 'a',
92 default_values_t = [FB, FISTA, PDPS, FW, FWRelax])] 94 default_values_t = [FB, FISTA, PDPS, SlidingFB, FW, FWRelax])]
93 algorithm : Vec<DefaultAlgorithm>, 95 algorithm : Vec<DefaultAlgorithm>,
94 96
95 /// Saved algorithm configration(s) to use on the experiments 97 /// Saved algorithm configration(s) to use on the experiments
96 #[arg(value_name = "JSON_FILE", long)] 98 #[arg(value_name = "JSON_FILE", long)]
97 saved_algorithm : Vec<String>, 99 saved_algorithm : Vec<String>,

mercurial