Update from HH
[Flyspeck/.git] / formal_lp / old / formal_interval / tests_cmp.hl
1 needs "../formal_lp/formal_interval/m_taylor_old.hl";;
2 needs "../formal_lp/formal_interval/m_examples_poly.hl";;
3
4 (******************************)
5 (* Test 1 *)
6
7 let pp = 4;;
8
9 let poly_tm = lv_poly;;
10 let x_tm, z_tm = lv_dom;;
11
12 let n = (get_dim o fst o dest_abs) poly_tm;;
13 let xx1, zz1 = convert_to_float_list pp false x_tm, convert_to_float_list pp true z_tm;;
14
15
16 let dom_th = mk_m_center_domain n pp xx1 zz1;;
17 let eval = eval_m_taylor_poly0 pp poly_tm;;
18 let eval_old = M_taylor_old.eval_m_taylor_poly0 pp poly_tm;;
19
20 let t_th = eval pp pp dom_th;;
21 let t_th_old = eval_old pp pp dom_th;;
22
23 let bound = eval_m_taylor_upper_bound n pp t_th;;
24 let bound_old = M_taylor_old.eval_m_taylor_upper_bound n pp t_th_old;;
25
26 let p1 = eval_m_taylor_partial_upper n pp 1 t_th;;
27 let p1_old = M_taylor_old.eval_m_taylor_upper_partial n pp 1 t_th_old;;
28
29 let p_bounds = map (fun i -> eval_m_taylor_partial_bound n pp i t_th) (1--n);;
30 let p_bounds_old = map (fun i -> M_taylor_old.eval_m_taylor_interval_partial n pp i t_th_old) (1--n);;
31
32
33 (* 10: 0.764 *)
34 test 100 (mk_m_center_domain n pp xx1) zz1;;
35
36 (* 10: 1.148 *)
37 test 100 (eval pp pp) dom_th;;
38 (* 10: 1.148 *)
39 test 100 (eval_old pp pp) dom_th;;
40
41 (* 10: 0.744 *)
42 test 100 (eval_m_taylor_upper_bound n pp) t_th;;
43 (* 10: 1.168 *)
44 test 100 (M_taylor_old.eval_m_taylor_upper_bound n pp) t_th_old;;
45
46 (* 10: 0.204 *)
47 test 100 (eval_m_taylor_partial_upper n pp 1) t_th;;
48 (* 10: 0.252 *)
49 test 100 (M_taylor_old.eval_m_taylor_upper_partial n pp 1) t_th_old;;
50
51 (* 10: 0.944 *)
52 test 100 (map (fun i -> eval_m_taylor_partial_bound n pp i t_th)) (1--n);;
53 (* 10: 1.176 *)
54 test 100 (map (fun i -> M_taylor_old.eval_m_taylor_interval_partial n pp i t_th_old)) (1--n);;
55
56
57
58 (******************************)
59 (* Test 2 *)
60
61 let pp = 4;;
62
63 let poly_tm = butcher_poly;;
64 let x_tm, z_tm = butcher_dom;;
65
66 let n = (get_dim o fst o dest_abs) poly_tm;;
67 let xx1, zz1 = convert_to_float_list pp false x_tm, convert_to_float_list pp true z_tm;;
68
69
70 let dom_th = mk_m_center_domain n pp xx1 zz1;;
71 let eval = eval_m_taylor_poly0 pp poly_tm;;
72 let eval_old = M_taylor_old.eval_m_taylor_poly0 pp poly_tm;;
73
74 let t_th = eval pp pp dom_th;;
75 let t_th_old = eval_old pp pp dom_th;;
76
77 let bound = eval_m_taylor_upper_bound n pp t_th;;
78 let bound_old = M_taylor_old.eval_m_taylor_upper_bound n pp t_th_old;;
79
80 let p1 = eval_m_taylor_partial_upper n pp 1 t_th;;
81 let p1_old = M_taylor_old.eval_m_taylor_upper_partial n pp 1 t_th_old;;
82
83 let p_bounds = map (fun i -> eval_m_taylor_partial_bound n pp i t_th) (1--n);;
84 let p_bounds_old = map (fun i -> M_taylor_old.eval_m_taylor_interval_partial n pp i t_th_old) (1--n);;
85
86
87 (* 10: 1.400 *)
88 test 100 (mk_m_center_domain n pp xx1) zz1;;
89
90 (* 10: 1.644 *)
91 test 100 (eval pp pp) dom_th;;
92 (* 10: 1.680 *)
93 test 100 (eval_old pp pp) dom_th;;
94
95 (* 10: 1.516 *)
96 test 100 (eval_m_taylor_upper_bound n pp) t_th;;
97 (* 10: 2.428 *)
98 test 100 (M_taylor_old.eval_m_taylor_upper_bound n pp) t_th_old;;
99
100 (* 10: 0.300 *)
101 test 100 (eval_m_taylor_partial_upper n pp 1) t_th;;
102 (* 10: 0.408 *)
103 test 100 (M_taylor_old.eval_m_taylor_upper_partial n pp 1) t_th_old;;
104
105 (* 10: 1.988 *)
106 test 100 (map (fun i -> eval_m_taylor_partial_bound n pp i t_th)) (1--n);;
107 (* 10: 2.560 *)
108 test 100 (map (fun i -> M_taylor_old.eval_m_taylor_interval_partial n pp i t_th_old)) (1--n);;
109
110
111
112 (******************************)
113 (* Test 3 *)
114
115 let pp = 10;;
116
117 let poly_tm = heart_poly;;
118 let x_tm, z_tm = heart_dom;;
119
120 let n = (get_dim o fst o dest_abs) poly_tm;;
121 let xx1, zz1 = convert_to_float_list pp false x_tm, convert_to_float_list pp true z_tm;;
122
123
124 let dom_th = mk_m_center_domain n pp xx1 zz1;;
125 let eval = eval_m_taylor_poly0 pp poly_tm;;
126 let eval_old = M_taylor_old.eval_m_taylor_poly0 pp poly_tm;;
127
128 let t_th = eval pp pp dom_th;;
129 let t_th_old = eval_old pp pp dom_th;;
130
131 let bound = eval_m_taylor_upper_bound n pp t_th;;
132 let bound_old = M_taylor_old.eval_m_taylor_upper_bound n pp t_th_old;;
133
134 let p1 = eval_m_taylor_partial_upper n pp 1 t_th;;
135 let p1_old = M_taylor_old.eval_m_taylor_upper_partial n pp 1 t_th_old;;
136
137 let p_bounds = map (fun i -> eval_m_taylor_partial_bound n pp i t_th) (1--n);;
138 let p_bounds_old = map (fun i -> M_taylor_old.eval_m_taylor_interval_partial n pp i t_th_old) (1--n);;
139
140
141 (* 10: 2.368 *)
142 test 100 (mk_m_center_domain n pp xx1) zz1;;
143
144 (* 10: 9.977 *)
145 test 100 (eval pp pp) dom_th;;
146 (* 10: 9.756 *)
147 test 100 (eval_old pp pp) dom_th;;
148
149 (* 10: 3.920 *)
150 test 100 (eval_m_taylor_upper_bound n pp) t_th;;
151 (* 10: 6.124 *)
152 test 100 (M_taylor_old.eval_m_taylor_upper_bound n pp) t_th_old;;
153
154 (* 10: 0.572 *)
155 test 100 (eval_m_taylor_partial_upper n pp 1) t_th;;
156 (* 10: 0.664 *)
157 test 100 (M_taylor_old.eval_m_taylor_upper_partial n pp 1) t_th_old;;
158
159 (* 10: 5.024 *)
160 test 100 (map (fun i -> eval_m_taylor_partial_bound n pp i t_th)) (1--n);;
161 (* 10: 6.336 *)
162 test 100 (map (fun i -> M_taylor_old.eval_m_taylor_interval_partial n pp i t_th_old)) (1--n);;
163
164
165