Bifurcation-Calibrated Stale-Gradient Controller / verify_controller.py

Failed on benchmark

Raw ⬇ ZIP
 1import json
 2import numpy as np
 3from bifurcation_controller import fit_return_map, DelayedTwoModeController
 4
 5rng=np.random.default_rng(2088)
 6n,q=1,1; V=-2.0; kappa=.75; mu=.001; radius=.2
 7y=np.sign(rng.normal(size=400))*np.exp(rng.uniform(np.log(.03),np.log(.7),400))
 8D=V*y**(2*n)+kappa*mu/(np.abs(y)**(2*q)+1e-12)
 9y_next=y+D
10fit=fit_return_map(y,y_next,mu,n,q,radius)
11ctrl=DelayedTwoModeController(.001, 100, fit)
12rows=[]
13for ratio in [.25,.5,1.,2.]:
14    m=fit.mu_max*ratio
15    rows.append({'mu_ratio':ratio,'amplitude':float(fit.predicted_amplitude(m)), 'within_r':bool(fit.predicted_amplitude(m)<=radius+1e-12)})
16out={'fit':{'V':fit.V,'kappa':fit.kappa,'M':fit.M,'mu_max':fit.mu_max},'requested_delay':100,'safe_delay':ctrl.delay,'boundary':rows}
17print(json.dumps(out,indent=2))
18open('controller_check.json','w').write(json.dumps(out,indent=2))