diff -r df9628092285 -r 8979a6638424 src/fb.rs --- a/src/fb.rs Mon Oct 21 08:44:23 2024 -0500 +++ b/src/fb.rs Mon Oct 21 10:02:57 2024 -0500 @@ -1,10 +1,11 @@ -use alg_tools::iterate::AlgIteratorFactory; +use alg_tools::iterate::{AlgIteratorFactory, LogRepr}; use alg_tools::mapping::{Mapping, Sum}; use serde::Serialize; use std::iter::Sum as SumTrait; +use colored::ColoredString; -use crate::manifold::ManifoldPoint; +use crate::manifold::{EmbeddedManifoldPoint, ManifoldPoint}; /// Trait for function objects that implement gradients pub trait Grad { @@ -45,6 +46,15 @@ point : M, } +impl LogRepr for IterInfo { + fn logrepr(&self) -> ColoredString { + format!("{}\t {}", + self.value, + self.point.embedded_coords() + ).as_str().into() + } +} + pub fn forward_backward( f : &F, g : &G, @@ -52,7 +62,7 @@ τ : f64, iterator : I ) -> M -where M : ManifoldPoint, +where M : ManifoldPoint + EmbeddedManifoldPoint, F : Desc + Mapping, G : Prox + Mapping, I : AlgIteratorFactory> {