Skip to content

Commit 8212d76

Browse files
committed
Rename nu and gamma in padmm examples
1 parent 0400ce2 commit 8212d76

7 files changed

+36
-36
lines changed

cpp/example/padmm_mpi_random_coverage.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,19 +86,19 @@ std::shared_ptr<sopt::algorithm::ImagingProximalADMM<t_complex>> padmm_factory(
8686
auto const epsilon = utilities::calculate_l2_radius(uv_data.vis.size(), sigma);
8787
#endif
8888
PURIFY_LOW_LOG("SARA Size = {}, Rank = {}", sara.size(), comm.rank());
89-
const t_real gamma =
89+
const t_real regulariser_strength =
9090
utilities::step_size(uv_data.vis, measurements,
9191
std::make_shared<sopt::LinearTransform<Vector<t_complex>> const>(Psi),
9292
sara.size()) *
9393
1e-3;
9494
PURIFY_LOW_LOG("Epsilon {}, Rank = {}", epsilon, comm.rank());
95-
PURIFY_LOW_LOG("Gamma {}, SARA Size = {}, Rank = {}", gamma, sara.size(), comm.rank());
95+
PURIFY_LOW_LOG("Regulariser_Strength {}, SARA Size = {}, Rank = {}", regulariser_strength, sara.size(), comm.rank());
9696

9797
// shared pointer because the convergence function need access to some data that we would rather
9898
// not reproduce. E.g. padmm definition is self-referential.
9999
auto padmm = std::make_shared<sopt::algorithm::ImagingProximalADMM<t_complex>>(uv_data.vis);
100100
padmm->itermax(50)
101-
.gamma(comm.all_reduce(gamma, MPI_MAX))
101+
.regulariser_strength(comm.all_reduce(regulariser_strength, MPI_MAX))
102102
.relative_variation(1e-3)
103103
.l2ball_proximal_epsilon(epsilon)
104104
#if PURIFY_PADMM_ALGORITHM == 2
@@ -115,7 +115,7 @@ std::shared_ptr<sopt::algorithm::ImagingProximalADMM<t_complex>> padmm_factory(
115115
.l1_proximal_real_constraint(true)
116116
.residual_tolerance(epsilon)
117117
.lagrange_update_scale(0.9)
118-
.nu(1e0)
118+
.sq_op_norm(1e0)
119119
.Psi(Psi)
120120
.Phi(*measurements);
121121
sopt::ScalarRelativeVariation<t_complex> conv(padmm->relative_variation(),

cpp/example/padmm_mpi_real_data.cc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,19 +60,19 @@ std::shared_ptr<sopt::algorithm::ImagingProximalADMM<t_complex>> padmm_factory(
6060
#elif PURIFY_PADMM_ALGORITHM == 3 || PURIFY_PADMM_ALGORITHM == 1
6161
auto const epsilon = 3 * std::sqrt(2 * uv_data.size()) * sigma;
6262
#endif
63-
const t_real gamma =
63+
const t_real regulariser_strength =
6464
utilities::step_size(uv_data.vis, measurements,
6565
std::make_shared<sopt::LinearTransform<Vector<t_complex>> const>(Psi),
6666
sara.size()) *
6767
1e-3;
6868
PURIFY_MEDIUM_LOG("Epsilon {}", epsilon);
69-
PURIFY_MEDIUM_LOG("Gamma {}", gamma);
69+
PURIFY_MEDIUM_LOG("Regulariser_Strength {}", regulariser_strength);
7070

7171
// shared pointer because the convergence function need access to some data that we would rather
7272
// not reproduce. E.g. padmm definition is self-referential.
7373
auto padmm = std::make_shared<sopt::algorithm::ImagingProximalADMM<t_complex>>(uv_data.vis);
7474
padmm->itermax(50)
75-
.gamma(comm.all_reduce<t_real>(gamma, MPI_MAX))
75+
.regulariser_strength(comm.all_reduce<t_real>(regulariser_strength, MPI_MAX))
7676
.relative_variation(1e-3)
7777
.l2ball_proximal_epsilon(epsilon)
7878
#if PURIFY_PADMM_ALGORITHM == 2
@@ -89,7 +89,7 @@ std::shared_ptr<sopt::algorithm::ImagingProximalADMM<t_complex>> padmm_factory(
8989
.l1_proximal_real_constraint(true)
9090
.residual_tolerance(epsilon)
9191
.lagrange_update_scale(0.9)
92-
.nu(1e0)
92+
.sq_op_norm(1e0)
9393
.Psi(Psi)
9494
.Phi(*measurements);
9595
sopt::ScalarRelativeVariation<t_complex> conv(padmm->relative_variation(),
@@ -127,13 +127,13 @@ std::shared_ptr<sopt::algorithm::ImagingProximalADMM<t_complex>> padmm_factory(
127127
const auto algo_update = [uv_data, imsizex, imsizey, padmm_weak, iter,
128128
comm](const Vector<t_complex> &x) -> bool {
129129
auto padmm = padmm_weak.lock();
130-
if (comm.is_root()) PURIFY_MEDIUM_LOG("Step size γ {}", padmm->gamma());
130+
if (comm.is_root()) PURIFY_MEDIUM_LOG("Step size γ {}", padmm->regulariser_strength());
131131
*iter = *iter + 1;
132132
Vector<t_complex> const alpha = padmm->Psi().adjoint() * x;
133-
const t_real new_gamma = comm.all_reduce(alpha.real().cwiseAbs().maxCoeff(), MPI_MAX) * 1e-3;
134-
if (comm.is_root()) PURIFY_MEDIUM_LOG("Step size γ update {}", new_gamma);
135-
padmm->gamma(((std::abs(padmm->gamma() - new_gamma) > 0.2) and *iter < 200) ? new_gamma
136-
: padmm->gamma());
133+
const t_real new_regulariser_strength = comm.all_reduce(alpha.real().cwiseAbs().maxCoeff(), MPI_MAX) * 1e-3;
134+
if (comm.is_root()) PURIFY_MEDIUM_LOG("Step size γ update {}", new_regulariser_strength);
135+
padmm->regulariser_strength(((std::abs(padmm->regulariser_strength() - new_regulariser_strength) > 0.2) and *iter < 200) ? new_regulariser_strength
136+
: padmm->regulariser_strength());
137137
// updating parameter
138138

139139
Vector<t_complex> const residual = padmm->Phi().adjoint() * (uv_data.vis - padmm->Phi() * x);

cpp/example/padmm_random_coverage.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ void padmm(const std::string &name, const Image<t_complex> &M31, const std::stri
9090
auto const padmm =
9191
sopt::algorithm::ImagingProximalADMM<t_complex>(uv_data.vis)
9292
.itermax(500)
93-
.gamma((Psi.adjoint() * (measurements_transform->adjoint() * uv_data.vis).eval())
93+
.regulariser_strength((Psi.adjoint() * (measurements_transform->adjoint() * uv_data.vis).eval())
9494
.cwiseAbs()
9595
.maxCoeff() *
9696
1e-3)
@@ -107,7 +107,7 @@ void padmm(const std::string &name, const Image<t_complex> &M31, const std::stri
107107
#ifdef PURIFY_CImg
108108
.is_converged(show_image)
109109
#endif
110-
.nu(1e0)
110+
.sq_op_norm(1e0)
111111
.Psi(Psi)
112112
.Phi(*measurements_transform);
113113

cpp/example/padmm_real_data.cc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ void padmm(const std::string &name, const t_uint &imsizex, const t_uint &imsizey
5454
pfitsio::write2d(Image<t_real>::Map(dimage.data(), imsizey, imsizex), dirty_image_fits);
5555
pfitsio::write2d(Image<t_real>::Map(psf.data(), imsizey, imsizex), psf_image_fits);
5656
auto const epsilon = 3 * std::sqrt(2 * uv_data.size()) * sigma;
57-
auto const gamma = (measurements_transform->adjoint() * uv_data.vis).real().maxCoeff() * 1e-3;
57+
auto const regulariser_strength = (measurements_transform->adjoint() * uv_data.vis).real().maxCoeff() * 1e-3;
5858
PURIFY_HIGH_LOG("Using epsilon of {}", epsilon);
5959
#ifdef PURIFY_CImg
6060
auto const canvas = std::make_shared<CDisplay>(
@@ -79,7 +79,7 @@ void padmm(const std::string &name, const t_uint &imsizex, const t_uint &imsizey
7979
#endif
8080
auto padmm = std::make_shared<sopt::algorithm::ImagingProximalADMM<t_complex>>(uv_data.vis);
8181
padmm->itermax(500)
82-
.gamma(gamma)
82+
.regulariser_strength(regulariser_strength)
8383
.relative_variation(1e-3)
8484
.l2ball_proximal_epsilon(epsilon)
8585
.tight_frame(false)
@@ -90,7 +90,7 @@ void padmm(const std::string &name, const t_uint &imsizex, const t_uint &imsizey
9090
.l1_proximal_real_constraint(true)
9191
.residual_convergence(epsilon)
9292
.lagrange_update_scale(0.9)
93-
.nu(1e0)
93+
.sq_op_norm(1e0)
9494
.Psi(Psi)
9595
.Phi(*measurements_transform);
9696

@@ -101,14 +101,14 @@ void padmm(const std::string &name, const t_uint &imsizex, const t_uint &imsizey
101101
const auto algo_update = [uv_data, imsizex, imsizey, padmm_weak,
102102
iter](const Vector<t_complex> &x) -> bool {
103103
auto padmm = padmm_weak.lock();
104-
PURIFY_MEDIUM_LOG("Step size γ {}", padmm->gamma());
104+
PURIFY_MEDIUM_LOG("Step size γ {}", padmm->regulariser_strength());
105105
*iter = *iter + 1;
106106
Vector<t_complex> const alpha = padmm->Psi().adjoint() * x;
107107
// updating parameter
108-
const t_real new_gamma = alpha.real().cwiseAbs().maxCoeff() * 1e-3;
109-
PURIFY_MEDIUM_LOG("Step size γ update {}", new_gamma);
110-
padmm->gamma(((std::abs(padmm->gamma() - new_gamma) > 0.2) and *iter < 200) ? new_gamma
111-
: padmm->gamma());
108+
const t_real new_regulariser_strength = alpha.real().cwiseAbs().maxCoeff() * 1e-3;
109+
PURIFY_MEDIUM_LOG("Step size γ update {}", new_regulariser_strength);
110+
padmm->regulariser_strength(((std::abs(padmm->regulariser_strength() - new_regulariser_strength) > 0.2) and *iter < 200) ? new_regulariser_strength
111+
: padmm->regulariser_strength());
112112

113113
Vector<t_complex> const residual = padmm->Phi().adjoint() * (uv_data.vis - padmm->Phi() * x);
114114

cpp/example/padmm_reweighted_simulation.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,15 @@ int main(int nargs, char const **args) {
8383
Vector<t_complex> initial_estimate = Vector<t_complex>::Zero(dimage.size());
8484

8585
auto const epsilon = utilities::calculate_l2_radius(uv_data.vis.size(), sigma);
86-
auto const purify_gamma =
86+
auto const purify_regulariser_strength =
8787
(Psi.adjoint() * (measurements_transform.adjoint() * uv_data.vis).eval()).real().maxCoeff() *
8888
1e-3;
8989

9090
PURIFY_HIGH_LOG("Starting sopt!");
9191
PURIFY_MEDIUM_LOG("Epsilon {}", epsilon);
92-
PURIFY_MEDIUM_LOG("Gamma {}", purify_gamma);
92+
PURIFY_MEDIUM_LOG("Regulariser_Strength {}", purify_regulariser_strength);
9393
auto const padmm = sopt::algorithm::ImagingProximalADMM<t_complex>(uv_data.vis)
94-
.gamma(purify_gamma)
94+
.regulariser_strength(purify_regulariser_strength)
9595
.relative_variation(1e-3)
9696
.l2ball_proximal_epsilon(epsilon * 1.001)
9797
.tight_frame(false)
@@ -102,7 +102,7 @@ int main(int nargs, char const **args) {
102102
.l1_proximal_real_constraint(true)
103103
.residual_convergence(epsilon * 1.001)
104104
.lagrange_update_scale(0.9)
105-
.nu(1e0)
105+
.sq_op_norm(1e0)
106106
.Psi(Psi)
107107
.Phi(measurements_transform);
108108
// Timing reconstruction

cpp/example/padmm_simulation.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ int main(int nargs, char const **args) {
9494
Vector<t_complex> initial_estimate = Vector<t_complex>::Zero(dimage.size());
9595

9696
auto const epsilon = utilities::calculate_l2_radius(uv_data.vis.size(), sigma);
97-
auto const purify_gamma =
97+
auto const purify_regulariser_strength =
9898
(Psi.adjoint() * (measurements_transform.adjoint() * uv_data.vis).eval()).real().maxCoeff() *
9999
1e-3;
100100
t_int iters = 0;
@@ -104,9 +104,9 @@ int main(int nargs, char const **args) {
104104
};
105105
PURIFY_HIGH_LOG("Starting sopt!");
106106
PURIFY_MEDIUM_LOG("Epsilon {}", epsilon);
107-
PURIFY_MEDIUM_LOG("Gamma {}", purify_gamma);
107+
PURIFY_MEDIUM_LOG("Regulariser_Strength {}", purify_regulariser_strength);
108108
auto const padmm = sopt::algorithm::ImagingProximalADMM<t_complex>(uv_data.vis)
109-
.gamma(purify_gamma)
109+
.regulariser_strength(purify_regulariser_strength)
110110
.relative_variation(1e-3)
111111
.l2ball_proximal_epsilon(epsilon * 1.001)
112112
.tight_frame(false)
@@ -117,12 +117,12 @@ int main(int nargs, char const **args) {
117117
.l1_proximal_real_constraint(true)
118118
.residual_convergence(epsilon * 1.001)
119119
.lagrange_update_scale(0.9)
120-
.nu(1e0)
120+
.sq_op_norm(1e0)
121121
.Psi(Psi)
122122
.itermax(100)
123123
.is_converged(convergence_function)
124124
.Phi(measurements_transform);
125-
// Timing reconstructionu
125+
// Timing reconstruction
126126

127127
std::clock_t c_start = std::clock();
128128
auto const diagnostic = padmm();

cpp/example/sara_padmm_random_coverage.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,19 +74,19 @@ int main(int, char **) {
7474
pfitsio::write2d(Image<t_real>::Map(dimage.data(), M31.rows(), M31.cols()), dirty_image_fits);
7575

7676
auto const epsilon = utilities::calculate_l2_radius(uv_data.vis.size(), sigma);
77-
auto const purify_gamma =
77+
auto const purify_regulariser_strength =
7878
(Psi.adjoint() * (measurements_transform.adjoint() * uv_data.vis).eval())
7979
.cwiseAbs()
8080
.maxCoeff() *
8181
beta;
8282

83-
// auto purify_gamma = 3 * utilities::median((Psi.adjoint() * (measurements_transform.adjoint() *
83+
// auto purify_regulariser_strength = 3 * utilities::median((Psi.adjoint() * (measurements_transform.adjoint() *
8484
// (uv_data.vis - y0))).real().cwiseAbs())/0.6745;
8585

8686
SOPT_INFO("Using epsilon of {} \n", epsilon);
8787
auto const padmm = sopt::algorithm::ImagingProximalADMM<t_complex>(uv_data.vis)
8888
.itermax(1000)
89-
.gamma(purify_gamma)
89+
.regulariser_strength(purify_regulariser_strength)
9090
.relative_variation(1e-6)
9191
.l2ball_proximal_epsilon(epsilon)
9292
.tight_frame(false)
@@ -97,7 +97,7 @@ int main(int, char **) {
9797
.l1_proximal_real_constraint(true)
9898
.residual_convergence(epsilon * 1.001)
9999
.lagrange_update_scale(0.9)
100-
.nu(1e0)
100+
.sq_op_norm(1e0)
101101
.Psi(Psi)
102102
.Phi(measurements_transform);
103103

0 commit comments

Comments
 (0)