src/quadratic_dataterm.py

changeset 3
c3a4f4bb87f7
parent 1
a4137aedcb3a
--- a/src/quadratic_dataterm.py	Thu Feb 26 09:32:12 2026 -0500
+++ b/src/quadratic_dataterm.py	Wed Apr 22 22:32:00 2026 -0500
@@ -43,11 +43,12 @@
             ma = self.opA.bound(xbound=xbound)
             mb = self.b.norm()
             mda = self.opA.diff_bound(xbound=xbound)
-            lda = self.opA.diff_adj_lipschitz_factor()
+            lda = self.opA.diff_chain_lipschitz_factor()
             return self.λ * (lda * (ma + mb) + mda * la)
 
-    # def diff_lipschitz_factor_pair(self, *args):
-    #     return self.diff_lipschitz_factor()
-
-    def diff_bound(self, xbound=None):
-        return self.λ * (self.opA.codomain_bound(xbound=xbound) + self.b_norm)
+    def diff_bound(self):
+        if hasattr(self.opA, "opnorm"):
+            opn = self.opA.opnorm()
+            return self.λ * opn * (opn * self.xbound + self.b_norm)
+        else:
+            raise Exception("Unimplemented")

mercurial