1 (* MAY 2012 EXPERIMENTS TO SPEED THINGS UP.
2 Especially ZTG...F23 stuff.
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)`);;
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`);;
15 let vol3r_123 = new_definition `vol3r_123 =
16 compose6 vol_x proj_x1 proj_x2 proj_x3 two6 two6 two6`;;
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`;;
21 let sol_x_123 = new_definition `sol_x_123 =
22 compose6 sol_x proj_x1 proj_x2 proj_x3 two6 two6 two6`;;
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)
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))
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`;;
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`;;
49 let truncate_sol_y = new_definition(`truncate_sol_y c
50 = y_of_x (truncate_sol_x c)`);;
52 let truncate_vol3r = new_definition `truncate_vol3r c y1 y2 y3 r =
53 truncate_vol_y c r r r y1 y2 y3`;;
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`;;
58 let truncate_vol3f = new_definition `truncate_vol3f c y1 y2 y3 r f =
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)
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)`;;
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`;;
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`;;
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)) `;;
85 let vol2r_x = new_definition `vol2r_x x r2 = &2 * pi *
86 (r2 - (x / (&4)))/(&3)`;;
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)) `;;
94 (* use if we know sqrt is bounded away from 0 *)
97 note : f2 (x/ &2) = f(y / &2) when y^2 = x.
98 rework these definitions. I don't like the sqrt(x/ &2).
100 let lmfun_x = new_definition `lmfun_x x = lmfun (sqrt (x / &2))`;;
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)) `;;
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`;;
126 [&2 * hminus,y1,&2 * hplus; &2,y2,&2 * hminus; &2,y3,&2 * hminus;
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";
137 Test on make_F23 0 0.
138 This is the $2$- and $3$-cell inequality for five or more leaves.";
140 [Tex; Split [0]; Set_rad2; Delta126min 0.139999999999;
141 Delta135min 0.139999999999; Marchal; Cfsqp_branch 3;
142 Flypaper ["OXLZLEZ"]; Penalty (200., 5000.);]};;