Update from HH
[Flyspeck/.git] / legacy / oldnonlinear / nonlinear / experiments / test_may_2012.hl
1 (* MAY 2012 EXPERIMENTS TO SPEED THINGS UP.
2    Especially ZTG...F23 stuff.
3 *)
4
5
6 (*
7 let truncate_vol_x = new_definition(`truncate_vol_x c x1 x2 x3 x4 x5 x6 =
8         (truncate_sqrt c (delta_x x1 x2 x3 x4 x5 x6))/ (&12)`);;
9
10 let truncate_sol_x = new_definition(`truncate_sol_x c x1 x2 x3 x4 x5 x6 =
11         (truncate_dih_x c x1 x2 x3 x4 x5 x6) +
12         (truncate_dih_x c x2 x3 x1 x5 x6 x4) +  
13           (truncate_dih_x c x3 x1 x2 x6 x4 x5) -  pi`);;
14
15 let vol3r_123 = new_definition `vol3r_123 = 
16   compose6 vol_x proj_x1 proj_x2 proj_x3 two6 two6 two6`;;
17
18 let truncate_vol3r_123 = new_definition `truncate_vol3r_123 c = 
19   compose6 (truncate_vol_x c) proj_x1 proj_x2 proj_x3 two6 two6 two6`;;
20
21 let sol_x_123 = new_definition `sol_x_123 = 
22     compose6 sol_x proj_x1 proj_x2 proj_x3 two6 two6 two6`;;
23
24 let truncate_vol3f_123 = new_definition `truncate_vol3f_123' c f = 
25     scalar6 (rotate4 sol_x_123 + rotate5 sol_x_123 + rotate6 sol_x_123)
26       (&2 * mm1/ pi)    
27     - 
28       scalar6 
29     ((uni(f,(scalar6 proj_y1  #0.5))) * rotate4 (truncate_dih_x c) +
30     (uni(f,(scalar6 proj_y1  #0.5))) * rotate5 (truncate_dih_x c) +
31     (uni(f,(scalar6 proj_y1  #0.5))) * rotate6 (truncate_dih_x c))
32       (&8 * mm2 / pi)`;;
33
34
35 let vol3r_456 = new_definition `vol3r_456 =  mk_456 vol_x`;;
36 let sol_x_456 = new_definition `sol_x_456 = mk_456 sol_x`;;
37
38 *)
39
40 (*
41 let gamma3f_456 = new_definition `gamma3f_456 d f a b c x4 x5 x6 = 
42   truncate_vol3r_456 d a b c x4 x5 x6 - 
43     truncate_vol3f_456 d f a b c x4 x5 x6`;;
44 *)
45
46
47
48 (*
49 let truncate_sol_y = new_definition(`truncate_sol_y c
50         = y_of_x (truncate_sol_x c)`);;
51
52 let truncate_vol3r = new_definition `truncate_vol3r c y1 y2 y3 r = 
53   truncate_vol_y c r r r y1 y2 y3`;;
54
55 let truncate_vol3r_x = new_definition `truncate_vol3r_x c x1 x2 x3 r2 = 
56   truncate_vol_x c r2 r2 r2 x1 x2 x3`;;
57
58 let truncate_vol3f = new_definition `truncate_vol3f c y1 y2 y3 r f = 
59   (&2 * mm1 / pi) * 
60         (truncate_sol_y c y1 y2 r r r y3 +
61            truncate_sol_y c y2 y3 r r r y1 +
62            truncate_sol_y c y3 y1 r r r y2)
63     - (&8 * mm2/pi) *
64        (f(y1/ &2)* truncate_dih_y c y1 y2 r r r y3 +
65           f(y2/ &2)* truncate_dih_y c y2 y3 r r r y1 +
66           f(y3/ &2)* truncate_dih_y c y3 y1 r r r y2)`;;
67
68 let truncate_gamma3f = new_definition `truncate_gamma3f c y1 y2 y3 r f = 
69   truncate_vol3r c y1 y2 y3 r - truncate_vol3f c y1 y2 y3 r f`;;
70
71 let truncate_gamma3f_x = new_definition 
72   `truncate_gamma3f_x c x1 x2 x3 r2 f2 = 
73   truncate_vol3r_x c x1 x2 x3 r2 - truncate_vol3f_x c x1 x2 x3 r2 f2`;;
74
75
76 let truncate_gamma23f = new_definition 
77   `truncate_gamma23f c y1 y2 y3 y4 y5 y6 w1 w2 r f =
78       (truncate_gamma3f c y1 y2 y6 r f / &w1 + 
79          truncate_gamma3f c y1 y3 y5 r f / &w2
80       + (dih_y y1 y2 y3 y4 y5 y6 - 
81            truncate_dih_y c y1 y2 r r r y6 - 
82            truncate_dih_y c y1 y3 r r r y5) * 
83          (vol2r y1 r - vol2f y1 r f)/(&2 * pi)) `;;
84
85 let vol2r_x = new_definition `vol2r_x x r2 = &2 * pi * 
86   (r2 - (x / (&4)))/(&3)`;;
87
88 let vol2f_x = new_definition  `vol2f_x x r2 f2 =  
89   (&2 * mm1 / pi) *  &2 *pi* (&1- sqrt (x / r2) / &2)
90     - (&8 * mm2/pi) * &2 * pi * f2 (x/ (&2)) `;;
91
92
93
94 (* use if we know sqrt is bounded away from 0 *)
95
96
97 note : f2 (x/ &2) = f(y / &2) when y^2 = x.
98 rework these definitions.  I don't like the sqrt(x/ &2).
99
100 let lmfun_x = new_definition `lmfun_x x = lmfun  (sqrt (x / &2))`;;
101  *)
102
103
104
105
106 (*
107 let truncate_gamma23f_x = new_definition 
108   `truncate_gamma23f_x c x1 x2 x3 x4 x5 x6 w1 w2 r2 f2 =
109       (truncate_gamma3f_x c x1 x2 x6 r2 f2 / &w1 + 
110          truncate_gamma3f_x c x1 x3 x5 r2 f2 / &w2
111       + (dih_x x1 x2 x3 x4 x5 x6 - 
112            truncate_dih_x c x1 x2 r2 r2 r2 x6 - 
113            truncate_dih_x c x1 x3 r2 r2 r2 x5) * 
114          (vol2r_x x1 r2 - vol2f_x x1 r2 f2)/(&2 * pi)) `;;
115
116 let truncate_gamma23_x_sample = new_definition
117  `truncate_gamma23_x_sample x1 x2 x3 x4 x5 x6 = truncate_gamma23f_x (#0.14)
118     x1 x2 x3 x4 x5 x6 1 1 (&2) lmfun_x`;;
119
120 Ineq.make_F23 0 0;;
121
122 let sample_ineq = 
123  {ineq =
124     `!y1 y2 y3 y4 y5 y6.
125          ineq
126          [&2 * hminus,y1,&2 * hplus; &2,y2,&2 * hminus; &2,y3,&2 * hminus; 
127          &2,
128          y4,
129          sqrt8; &2,y5,&2 * hminus; &2,y6,&2 * hminus]
130          (delta_y y1 y2 sqrt2 sqrt2 sqrt2 y6 < #0.14 \/
131           delta_y y1 sqrt2 y3 sqrt2 y5 sqrt2 < #0.14 \/
132           y_of_x rad2_x y1 y2 y3 y4 y5 y6 < &2 \/
133           y_of_x truncate_gamma23_x_sample y1 y2 y3 y4 y5 y6  >
134           a_spine5 + b_spine5 * dih_y y1 y2 y3 y4 y5 y6)`;
135    idv = "ZTG truncate test/first split";
136    doc = "
137      Test on make_F23 0 0.
138      This is the $2$- and $3$-cell inequality for five or more leaves.";
139    tags =
140     [Tex; Split [0]; Set_rad2; Delta126min 0.139999999999;
141      Delta135min 0.139999999999; Marchal; Cfsqp_branch 3;
142      Flypaper ["OXLZLEZ"]; Penalty (200., 5000.);]};;
143 *)