rbmatlab 0.10.01
|
00001 function OK=test_lebesgue 00002 % this is a script showing the ei_detailed construction for a function which 00003 % empirically interpolated turns out to have the worst possible Lebesgue 00004 % constant `\Lambda = \max_{x} \sum_{m=1}^M |\xi_m(x)| = 2^M - 1` 00005 % 00006 00007 descr.maxfuncs = 10; 00008 00009 descr.name = 'Lebesgue-Test'; 00010 descr.verbose = 0; 00011 descr.rb_problem_type='LebesgueTest'; 00012 00013 [dmodel, rmodel] = gen_models(descr); 00014 00015 model_data = gen_model_data(dmodel); 00016 00017 dummy_arg_generator = SnapshotsGenerator.Random(dmodel, 'dummy', [0 1], true, false); 00018 ei_generator = SnapshotsGenerator.SpaceOpEvals(dmodel, 'ei_bad', dummy_arg_generator, dmodel.local_op, true, false); 00019 ei_plugin = Greedy.Plugin.EI(ei_generator); 00020 ei_plugin.stop_Mmax = 3; 00021 ei_plugin.ei_target_error = 'interpol'; 00022 ei_plugin.compute_lebesgue = true; 00023 ei_plugin.use_l2_error = false; 00024 00025 M_train = ParameterSampling.Uniform(dmodel.maxfuncs-1); 00026 M_train.init_sample(dmodel); 00027 disp(M_train.sample); 00028 ei_algorithm = Greedy.Algorithm(ei_plugin, M_train); 00029 00030 detailed_data = ei_algorithm.init_basis(rmodel, model_data); 00031 detailed_data = ei_algorithm.basis_extension(rmodel, detailed_data); 00032 00033 OK = (detailed_data.get_field('lebesgue') == detailed_data.get_field('max_lebesgue')); 00034 00035 end 00036