eds.tst 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. % Twisting type N solutions of GR %
  3. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  4. % The problem is to analyse an ansatz for a particular type of vacuum
  5. % solution to Einstein's equations for general relativity. The analysis was
  6. % described by Finley and Price (Proc Aspects of GR and Math Phys
  7. % (Plebanski Festschrift), Mexico City June 1993). The equations resulting
  8. % from the ansatz are:
  9. % F - F*gamma = 0
  10. % 3 3
  11. %
  12. % F *x + 2*F *x + x *F - x *Delta*F = 0
  13. % 2 2 1 2 1 2 1 2 2 1
  14. %
  15. % 2*F *x + 2*F *x + 2*F *x + 2*F *x + x *F = 0
  16. % 2 3 2 3 2 2 3 3 3 2 2 3 3 2 2 3 2 2 3 3
  17. %
  18. % Delta =0 Delta neq 0
  19. % 3 1
  20. %
  21. % gamma =0 gamma neq 0
  22. % 2 1
  23. % where the unknowns are {F,x,gamma,Delta} and the indices refer to
  24. % derivatives with respect to an anholonomic basis. The highest order is 4,
  25. % but the 4th order jet bundle is too large for practical computation, so
  26. % it is necessary to construct partial prolongations. There is a single
  27. % known solution, due to Hauser, which is verified at the end.
  28. on evallhseqp,edssloppy,edsverbose;
  29. off arbvars,edsdebug;
  30. pform {F,x,Delta,gamma,v,y,u}=0;
  31. pform v(i)=0,omega(i)=1;
  32. indexrange {i,j,k,l}={1,2,3};
  33. % Construct J1({v,y,u},{x}) and transform coordinates. Use ordering
  34. % statement to get v eliminated in favour of x where possible.
  35. % NB Coordinate change cc1 is invertible only when x(-1) neq 0.
  36. J1 := contact(1,{v,y,u},{x});
  37. korder x(-1),x(-2),v(-3);
  38. cc1 := {x(-v) = x(-1),
  39. x(-y) = x(-2),
  40. x(-u) = -x(-1)*v(-3)};
  41. J1 := restrict(pullback(J1,cc1),{x(-1) neq 0});
  42. % Set up anholonomic cobasis
  43. bc1 := {omega(1) = d v - v(-3)*d u,
  44. omega(2) = d y,
  45. omega(3) = d u};
  46. J1 := transform(J1,bc1);
  47. % Prolong to J421: 4th order in x, 2nd in F and 1st in rest
  48. J2 := prolong J1$
  49. J20 := J2 cross {F}$
  50. J31 := prolong J20$
  51. J310 := J31 cross {Delta,gamma}$
  52. J421 := prolong J310$
  53. cc4 := first pullback_maps;
  54. % Apply first order de and restrictions
  55. de1 := {Delta(-3) = 0,
  56. gamma(-2) = 0,
  57. Delta(-1) neq 0,
  58. gamma(-1) neq 0};
  59. J421 := pullback(J421,de1)$
  60. % Main de in original coordinates
  61. de2 := {F(-3,-3) - gamma*F,
  62. x(-1)*F(-2,-2) + 2*x(-1,-2)*F(-2)
  63. + (x(-1,-2,-2) - x(-1)*Delta)*F,
  64. x(-2,-3)*(F(-2,-3)+F(-3,-2)) + x(-2,-2,-3)*F(-3)
  65. + x(-2,-3,-3)*F(-2) + (1/2)*x(-2,-2,-3,-3)*F};
  66. % This is not expressed in terms of current coordinates.
  67. % Missing coordinates are seen from 1-form variables in following
  68. d de2 xmod cobasis J421;
  69. % The necessary equation is contained in the last prolongation
  70. pullback(d de2,cc4) xmod cobasis J421;
  71. % Apply main de
  72. pb1 := first solve(pullback(de2,cc4),{F(-3,-3),F(-2,-2),F(-2,-3)});
  73. Y421 := pullback(J421,pb1)$
  74. % Check involution
  75. on ranpos;
  76. characters Y421;
  77. dim_grassmann_variety Y421;
  78. % 15+2*7 = 29 > 28: Y421 not involutive, so prolong
  79. Y532 := prolong Y421$
  80. characters Y532;
  81. dim_grassmann_variety Y532;
  82. % 22+2*6 = 34: just need to check for integrability conditions
  83. torsion Y532;
  84. % Y532 involutive. Dimensions?
  85. dim Y532;
  86. length one_forms Y532;
  87. % The following puts in part of Hauser's solution and ends up with an ODE
  88. % system (all characters 0), so no more solutions, as described by Finley
  89. % at MG6.
  90. hauser := {x=-v+(1/2)*(y+u)**2,delta=3/(8x),gamma=3/(8v)};
  91. H532 := pullback(Y532,hauser)$
  92. lift ws;
  93. characters ws;
  94. clear v(i),omega(i);
  95. clear F,x,Delta,gamma,v,y,u,omega;
  96. off ranpos;
  97. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  98. % Isometric embeddings of Ricci-flat R(4) in ISO(10) %
  99. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  100. % Determine the Cartan characters of a Ricci-flat embedding of R(4) into
  101. % the orthonormal frame bundle ISO(10) over flat R(6). Reference:
  102. % Estabrook & Wahlquist, Class Quant Grav 10(1993)1851
  103. % Indices
  104. indexrange {p,q,r,s}={1,2,3,4,5,6,7,8,9,10},
  105. {i,j,k,l}={1,2,3,4},{a,b,c,d}={5,6,7,8,9,10};
  106. % Metric for R10
  107. pform g(p,q)=0;
  108. g(p,q) := 0$ g(-p,-q) := 0$ g(-p,-p) := g(p,p) := 1$
  109. % Hodge map for R4
  110. pform epsilon(i,j,k,l)=0;
  111. index_symmetries epsilon(i,j,k,l):antisymmetric;
  112. epsilon(1,2,3,4) := 1;
  113. % Coframe for ISO(10)
  114. % NB index_symmetries must come after o(p,-q) := ... (EXCALC bug)
  115. pform e(r)=1,o(r,s)=1;
  116. korder index_expand {e(r)};
  117. e(-p) := g(-p,-q)*e(q)$
  118. o(p,-q) := o(p,r)*g(-r,-q)$
  119. index_symmetries o(p,q):antisymmetric;
  120. % Structure equations
  121. flat_no_torsion := {d e(p) => -o(p,-q)^e(q),
  122. d o(p,q) => -o(p,-r)^o(r,q)};
  123. % Coframing structure
  124. ISO := coframing({e(p),o(p,q)},flat_no_torsion)$
  125. dim ISO;
  126. % 4d curvature 2-forms
  127. pform F(i,j)=2;
  128. index_symmetries F(i,j):antisymmetric;
  129. F(-i,-j) := -g(-i,-k)*o(k,-a)^o(a,-j);
  130. % EDS for vacuum GR (Ricci-flat) in 4d
  131. GR0 := eds({e(a),epsilon(i,j,k,l)*F(-j,-k)^e(-l)},
  132. {e(i)},
  133. ISO)$
  134. % Find an integral element, and linearise
  135. Z := integral_element GR0$
  136. GRZ := linearise(GR0,Z)$
  137. % This actually tells us the characters already:
  138. % {45-39,39-29,29-21,21} = {6,10,8,21}
  139. % Get the characters and dimension at Z
  140. characters GRZ;
  141. dim_grassmann_variety GRZ;
  142. % 6+2*10+3*8+4*21 = 134, so involutive
  143. clear e(r),o(r,s),g(p,q),epsilon(i,j,k,l),F(i,j);
  144. clear e,o,g,epsilon,F,Z;
  145. indexrange 0;
  146. %%%%%%%%%%%%%%%%%%%%%%%%%%
  147. % Janet's PDE system %
  148. %%%%%%%%%%%%%%%%%%%%%%%%%%
  149. % This is something of a standard test problem in analysing integrability
  150. % conditions. Although it looks very innocent, it must be prolonged five
  151. % times from the second jet bundle before reaching involution. The initial
  152. % equations are just
  153. %
  154. % u =w, u =u *y + v
  155. % y y z z x x
  156. load sets;
  157. off varopt;
  158. pform {x,y,z,u,v,w}=0$
  159. janet := contact(2,{x,y,z},{u,v,w})$
  160. janet := pullback(janet,{u(-y,-y)=w,u(-z,-z)=y*u(-x,-x)+v})$
  161. % Prolong to involution
  162. involutive janet;
  163. involution janet;
  164. involutive ws;
  165. % Solve the homogeneous system, for which the
  166. % involutive prolongation is completely integrable
  167. fdomain u=u(x,y,z),v=v(x,y,z),w=w(x,y,z);
  168. janet := {@(u,y,y)=0,@(u,z,z)=y*@(u,x,x)};
  169. janet := involution pde2eds janet$
  170. % Check if completely integrable
  171. if frobenius janet then write "yes" else write "no";
  172. length one_forms janet;
  173. % So there are 12 constants in the solution: there should be 12 invariants
  174. length(C := invariants janet);
  175. solve(for i:=1:length C collect
  176. part(C,i) = mkid(k,i),coordinates janet \ {x,y,z})$
  177. S := select(lhs ~q = u,first ws);
  178. % Check solution
  179. mkdepend dependencies;
  180. sub(S,{@(u,y,y),@(u,z,z)-y*@(u,x,x)});
  181. clear u(i,j),v(i,j),w(i,j),u(i),v(i),w(i);
  182. clear x,y,z,u,v,w,C,S;
  183. end;