diff -r a4137aedcb3a -r c3a4f4bb87f7 src/quadratic_dataterm.py --- 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")