summaryrefslogtreecommitdiff
path: root/experiments/verify_theory.py
diff options
context:
space:
mode:
authorYurenHao0426 <Blackhao0426@gmail.com>2026-07-22 16:56:13 -0500
committerYurenHao0426 <Blackhao0426@gmail.com>2026-07-22 16:56:13 -0500
commit26c257fa528118671a5914f9f9796b24d451839f (patch)
tree8b25903e21b6e51cf4885f049637d115ab28c059 /experiments/verify_theory.py
parent8d28fd9f9e85f5e0715b3be2337b7843fc4c943f (diff)
theory: bound both sides of residual stability
Diffstat (limited to 'experiments/verify_theory.py')
-rw-r--r--experiments/verify_theory.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/experiments/verify_theory.py b/experiments/verify_theory.py
index ad0e9b9..d4325e9 100644
--- a/experiments/verify_theory.py
+++ b/experiments/verify_theory.py
@@ -220,18 +220,23 @@ def check_residual_coupling_instability():
positive_k = 0.02
negative_k = -0.20
+ too_negative_k = -40.0
positive_radius = radius(positive_k)
negative_radius = radius(negative_k)
+ too_negative_radius = radius(too_negative_k)
polynomial_at_one = -eta * positive_k
print("\nMULTIPLICATIVE RESIDUAL COUPLING")
print(f"vectorization_error={identity_error:.3e} "
f"rho(k={positive_k:+.3f})={positive_radius:.9f} "
f"rho(k={negative_k:+.3f})={negative_radius:.9f} "
+ f"rho(k={too_negative_k:+.1f})={too_negative_radius:.9f} "
f"p_positive(1)={polynomial_at_one:+.3e}")
assert identity_error < 2e-15
assert polynomial_at_one < 0.0
assert positive_radius > 1.0
assert negative_radius < 1.0
+ assert too_negative_k < -2.0 * (1.0 + momentum) / eta
+ assert too_negative_radius > 1.0
def check_intermittent_feedback_tracking():