experiments/laser_and_mirrors.py

changeset 3
c3a4f4bb87f7
parent 1
a4137aedcb3a
equal deleted inserted replaced
1:a4137aedcb3a 3:c3a4f4bb87f7
16 algorithm_overrides = laser_and_mirrors_aux.algorithm_overrides 16 algorithm_overrides = laser_and_mirrors_aux.algorithm_overrides
17 17
18 18
19 # Setup routine 19 # Setup routine
20 def setup(prefix): 20 def setup(prefix):
21 dat, auxtrue, μ_bound, μ_true, plot_factory = laser_and_mirrors_aux.generic_setup( 21 dat, auxtrue, _μ_bound, μ_true, plot_factory = laser_and_mirrors_aux.generic_setup(
22 prefix 22 prefix
23 ) 23 )
24 24
25 μ0 = DiscreteMeasure_2_f64([]) 25 μ0 = DiscreteMeasure_2_f64([])
26 26
27 reg = RegTerm.NonnegRadon( 27 reg = RegTerm.NonnegRadon(1.5e-6)
28 10e-7 # 5e-7 # 3e-7
29 )
30 28
31 dat_simple = ComposeFnWithOperator(dat, InjectSecond(auxtrue), xbound=μ_bound) 29 dat_simple = ComposeFnWithOperator(dat, InjectSecond(auxtrue))
32 dat_simple.curvature_bound_components = lambda: (None, None) 30 dat_simple.curvature_bound_components = lambda: (None, None)
33 print("Initial value:", dat_simple.apply(μ0)) 31 print("Initial data term value:", dat_simple.apply(μ0))
34 print("Value at true μ:", dat_simple.apply(μ_true)) 32 print("Data term value at true μ:", dat_simple.apply(μ_true))
35 33
36 return Problem( 34 return Problem(
37 dataterm=dat_simple, regterm=reg, μinit=μ0, plot_factory=plot_factory 35 dataterm=dat_simple, regterm=reg, μinit=μ0, plot_factory=plot_factory
38 ) 36 )

mercurial