eds.tex 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. \chapter{EDS: Exterior differential systems}
  2. \label{EDS}
  3. \typeout{{EDS: Exterior differential systems}}
  4. {\footnotesize
  5. \begin{center}
  6. David Hartley \\
  7. Physics and Mathematical Physics \\
  8. University of Adelaide SA 5005, Australia \\
  9. e-mail: DHartley@physics.adelaide.edu.au
  10. \end{center}
  11. }
  12. \ttindex{EDS: Exterior differential dystems}
  13. \ttindex{EDS}
  14. \section{Introduction}
  15. Exterior differential systems give a geometrical framework for partial
  16. differential equations and more general differential geometric problems.
  17. The geometrical formulation has several advantages stemming from its
  18. coordinate-independence, including superior treatment of nonlinear and
  19. global problems. {\tt EDS} provides a number of tools for setting up and
  20. manipulating exterior differential systems and implements many features of
  21. the theory. Its main strengths are the ability to use anholonomic or moving
  22. frames and the care taken with nonlinear problems.
  23. The package is loaded
  24. %\footnote{The package {\tt EXCALC}
  25. %(Chap. \ref{EXCALC} p. \pageref{EXCALC}) and the package {\tt XIDEAL}
  26. %(Chap. \ref{XIDEAL} p. \pageref{XIDEAL}) are loaded automatically with
  27. %this package.}
  28. by typing \quad {\tt load eds;} \par
  29. Reading the full documentation, which comes with this
  30. package, is strongly recommended.
  31. The test file eds.tst, which is also in the package, provides
  32. three inspiring examples on the subject. \\
  33. EDS uses E.~Schr{\"u}fer's EXCALC package for the underlying
  34. exterior calculus operations.
  35. \section{Data Structures and Concepts}
  36. \subsection{EDS}
  37. A simple \meta{EDS}, or exterior differential system, is a triple
  38. {\tt (S,$\Omega$,M)}, where {\it M} is a {\it coframing}, {\it S} is a
  39. system on {\it M}, and {\it $\Omega$} is an independence condition.
  40. Exterior differential equations without independence condition are not
  41. treated by {\tt EDS}. {\it $\Omega$} should be either a decomposable
  42. \meta{p-form} or a \meta{system} of 1-forms on {\it M}. \\
  43. More generally an \meta{EDS} is a list of simple \meta{EDS} objects
  44. where the various coframings are all disjoint. \\
  45. The solutions of {\it (S,$\Omega$,M)} are integral manifolds, or immersions
  46. on which {\it S} vanishes and the rank of $\Omega$ is preserved. Solutions
  47. at a single point are described by integral elements.
  48. \subsection{Coframing}
  49. Within the context of {\tt EDS}, a {\it coframing} means a real
  50. finite-dimensional differentiable manifold with a given global cobasis.
  51. The information about a coframing required by {\tt EDS} is kept in a
  52. \meta{coframing} object. The cobasis is the identifying element of
  53. an {\tt EDS}. In addition to the cobasis, there can be given {\it coordinates,
  54. structure equations} and {\it restrictions}.
  55. In addition to the cobasis, {\it coordinates, structure equations} and
  56. {\it restrictions} can be given.
  57. The coordinates may be an incomplete or
  58. overcomplete set. The structure equations express the exterior derivative of the
  59. coordinates and cobasis elements as needed. All coordinate differentials must
  60. be expressed in terms of the given cobasis, but not all cobasis derivatives
  61. need be known.
  62. The restrictions are a set of inequalities describing point sets
  63. not in the manifold. \\
  64. Please note that the \meta{coframing} object is by no means a full description
  65. of a differentiable manifold. However, the \meta{coframing} object carries
  66. sufficient information about the underlying manifold to allow a range of exterior
  67. systems calculations to be carried out.
  68. \subsection{Systems and background coframing}
  69. The label \meta{system} refers to a list $\{<${\it p-form expr}$>,\ldots\}$ of
  70. differential forms. If an {\tt EDS} operator also accepts a \meta{system} as
  71. argument, then any extra information which is required is taken from the
  72. background coframing. \\
  73. It is possible to activate the rules and orderings of a \f{COFRAMING} operator
  74. globally, by making it the {\it background coframing}. All subsequent \f{EXCALC}
  75. \ttindex{EXCALC} operations will be governed by those rules. Operations on
  76. \meta{EDS} objects are unaffected, since their coframings are still activated
  77. locally.
  78. \subsection{Integral elements}
  79. An \meta{integral element} of an exterior system $(S,\Omega,M)$ is a subspace
  80. $P \subset T_pM$ of the tangent space at some point $p \in M$. This integral
  81. element can be represented by its annihilator $P^\perp \subset T^*_pM$, comprising
  82. those 1-forms at $p$ which annihilate every vector in $P$. This can also be understood
  83. as a maximal set of 1-forms at $p$ such that $S \simeq 0 \pmod{P^\perp}$ and the
  84. rank of $\Omega$ is preserved modulo $P^\perp$. \\
  85. An \meta{integral element} in EDS is a distribution of 1-forms on $M$,
  86. specified as a \meta{system} of 1-forms.
  87. \subsection{Properties and normal form}
  88. For large problems, it can require a great deal of computation to establish
  89. whether, for example, a system is closed or not. In order to save
  90. recomputing such properties, an \meta{EDS} object carries a list of
  91. \meta{properties} of the form
  92. \begin{list}{}
  93. \item {\tt \{\meta{keyword} = \meta{value},$\cdots$\}}
  94. \end{list}
  95. where \meta{keyword} is one of \f{closed}, \f{quasilinear}, \f{pfaffian} or
  96. \f{involutive}, and \meta{value} is either \f{0} (false) or \f{1}
  97. (true). These properties are suppressed when an \meta{EDS} is printed,
  98. unless the \f{nat} switch is \f{off}. They can be examined using the
  99. \f{PROPERTIES} operator. \\
  100. Parts of the theory of exterior differential systems apply only at points
  101. on the underlying manifold where the system is in some sense
  102. non-singular. To ensure the theory applies, EDS automatically works all
  103. exterior systems $(S,\Omega,M)$ into a {\em normal form}. This means that
  104. the Pfaffian component of $S$ and the independence condition $\Omega$ are
  105. in {\it solved} forms, distinguished terms from the 1-forms in $S$ have
  106. been eliminated from the rest of $S$ and from $\Omega$ and any 1-forms in
  107. $S$ which vanish modulo the independence condition are removed from the
  108. system and their coefficients are appended as 0-forms.
  109. \section{The EDS Package}
  110. In the descriptions of the various operators we define the following
  111. abbreviations for function parameters:
  112. \vspace{0.25cm}
  113. \begin{tabular}{ll}
  114. $E$, $E'$ & \meta{EDS}\\
  115. $S$ & \meta{system}\\
  116. $M$, $N$ & \meta{coframing}, or a \meta{system} specifying a \meta{coframing}\\
  117. $r$ & \meta{integer}\\
  118. $\Omega$ & \meta{p-form}\\
  119. $f$ & \meta{map}\\
  120. $rsx$ & \meta{list of inequalities}\\
  121. $cob$ & \meta{list of 1-form variables}\\
  122. $crd$, $dep$, $ind$
  123. & \meta{list of 0-form variables}\\
  124. $drv$ & \meta{list of rules for exterior derivatives}\\
  125. $pde$ & \meta{list of expressions or equations}\\
  126. $X$ & \meta{transform}\\
  127. $T$ & \meta{tableau}\\
  128. $P$ & \meta{integral element}\\
  129. \end{tabular}
  130. \subsection{Constructing EDS objects}
  131. An EDS \meta{coframing} is constructed using the \f{COFRAMING} operator.
  132. In one form it examines the argument for 0-form and 1-form variables. The more
  133. basic syntax takes the \meta{cobasis} as a list of 1-forms, \meta{coordinates}
  134. as a list of 0-forms, \meta{restrictions} as a list of inequalities and
  135. \meta{structure equations} as a list giving the exterior derivatives of the
  136. coordinates and cobasis elements. All arguments except the cobasis are optional. \\
  137. A simple \meta{EDS} is constructed using the \f{EDS} operator where the
  138. \meta{indep. condition} can be either a decomposable \meta{p-form} or a
  139. \meta{system} of 1-forms. The \meta{coframing} and the \meta{properties}
  140. arguments can be omitted. The {\it EDS} is put into normal form before being
  141. returned. With \f{SET\_COFRAMING} the background coframing is set. \\
  142. The operator \f{PDS2EDS} encodes a PDE system into an \meta{EDS} object. \\
  143. \begin{tabular}{lll}
  144. \f{COFRAMING}(cob,crd,rsx,drv)\ttindex{COFRAMING} &
  145. \f{COFRAMING}(S)\ttindex{COFRAMING} &
  146. \f{EDS}(S,$\Omega$,M)\ttindex{EDS} \\
  147. \f{CONTACT}(r,M,N)\ttindex{CONTACT} &
  148. \f{PDE2EDS}(pde,dep,ind)\ttindex{PDE2EDS} &
  149. \f{SET\_COFRAMING}(M)\ttindex{SET\_COFRAMING} \\
  150. \f{SET\_COFRAMING}(E)\ttindex{SET\_COFRAMING} &
  151. \f{SET\_COFRAMING}()\ttindex{SET\_COFRAMING}
  152. \end{tabular}
  153. \vspace{0.5cm}
  154. {\bf Example:}
  155. \begin{verbatim}
  156. 1: load eds;
  157. 2: pform {x,y,z,p,q}=0,{e(i),w(i,j)}=1;
  158. 3: indexrange {i,j,k}={1,2},{a,b,c}={3};
  159. 4: eds({d z - p*d x - q*d y, d p^d q},{d x,d y});
  160. EDS({d z - p*d x - q*d y,d p^d q},d x^d y)
  161. 5: OMrules:=index_expand {d e(i)=>-w(i,-j)^e(j),w(i,-j)+w(j,-i)=>0}$
  162. 6: eds({e(a)},{e(i)}) where OMrules;
  163. 3 1 2
  164. EDS({e },{e ,e })
  165. 7: coframing ws;
  166. 3 2 1 2 1 2 2
  167. coframing({e ,w ,e ,e },{},{d e => - e ^w ,
  168. 1 1
  169. 2 1 2
  170. d e => e ^w },{})
  171. 1
  172. \end{verbatim}
  173. \subsection{Inspecting EDS objects}
  174. Using these operators you can get parts of your \meta{EDS} object. The
  175. \f{PROPERTIES}(E) operator for example returns a list of properties which are
  176. normally not printed out, unless the \f{NAT}\ttindex{NAT} switch is off. \\
  177. \begin{tabular}{lll}
  178. \f{COFRAMING}(E)\ttindex{COFRAMING} &
  179. \f{COFRAMING}()\ttindex{COFRAMING} &
  180. \f{COBASIS}(M)\ttindex{COBASIS} \\
  181. \f{COBASIS}(E)\ttindex{COBASIS} &
  182. \f{COORDINATES}(M)\ttindex{COORDINATES} &
  183. \f{COORDINATES}(E)\ttindex{COORDINATES} \\
  184. \f{STRUCTURE\_EQUATIONS}(M)\ttindex{STRUCTURE\_EQUATIONS} &
  185. \f{STRUCTURE\_EQUATIONS}(E)\ttindex{STRUCTURE\_EQUATIONS} &
  186. \f{RESTRICTIONS}(M)\ttindex{RESTRICTIONS} \\
  187. \f{RESTRICTIONS}(E)\ttindex{RESTRICTIONS} &
  188. \f{SYSTEM}(E)\ttindex{SYSTEM} &
  189. \f{INDEPENDENCE}(E)\ttindex{INDEPENDENCE} \\
  190. \f{PROPERTIES}(E)\ttindex{PROPERTIES} &
  191. \f{ONE\_FORMS}(E)\ttindex{ONE\_FORMS} &
  192. \f{ONE\_FORMS}(S)\ttindex{ONE\_FORMS} \\
  193. \f{ZERO\_FORMS}(E)\ttindex{ZERO\_FORMS} &
  194. \f{ZERO\_FORMS}(S)\ttindex{ZERO\_FORMS} &
  195. \end{tabular}
  196. \vspace{0.5cm}
  197. {\bf Example:}
  198. \begin{verbatim}
  199. 8: depend u,x,y; depend v,x,y;
  200. 9: pde2eds({df(u,y,y)=df(v,x),df(v,y)=y*df(v,x)});
  201. EDS({d u - u *d x - u *d y, d u - u *d x - u *d y,
  202. x y x x x y x
  203. d u - u *d x - v *d y, d v - v *d x - v *y*d y},d x^d y)
  204. y y x x x x
  205. 10: dependencies;
  206. {{u,y,x},{v,y,x}}
  207. 11: coordinates contact(3,{x},{u});
  208. {x,u,u ,u ,u }
  209. x x x x x x
  210. 12: fdomain u=u(x);
  211. 13: coordinates {d u+d y};
  212. {x,y}
  213. \end{verbatim}
  214. \subsection{Manipulating EDS objects}
  215. These operators allow you to manipulate your \meta{EDS} objects. The
  216. \f{AUGMENT}(E,S) operator, see example below, appends the extra forms in the second
  217. argument to the system part of the first. The original \meta{EDS} remains
  218. unchanged. As another example by using the \f{TRANSFORM} operator
  219. a change of the cobasis is made, where the argument \meta{transform} is a list of
  220. substitutions. \\
  221. \begin{tabular}{llll}
  222. \f{AUGMENT}(E,S)\ttindex{AUGMENT} &
  223. $M$ \f{CROSS} $N$\ttindex{CROSS} &
  224. $E$ \f{CROSS} $N$\ttindex{CROSS} &
  225. \f{PULLBACK(E,f)}\ttindex{PULLBACK} \\
  226. \f{PULLBACK}(S,f)\ttindex{PULLBACK} &
  227. \f{PULLBACK}($\Omega$,f)\ttindex{PULLBACK} &
  228. \f{PULLBACK}(M,f)\ttindex{PULLBACK} &
  229. \f{RESTRICT}(E,f)\ttindex{RESTRICT} \\
  230. \f{RESTRICT}(S,f)\ttindex{RESTRICT} &
  231. \f{RESTRICT}($\Omega$,f)\ttindex{RESTRICT} &
  232. \f{RESTRICT}(M,f)\ttindex{RESTRICT} &
  233. \f{TRANSFORM}(M,X)\ttindex{TRANSFORM} \\
  234. \f{TRANSFORM}(E,X)\ttindex{TRANSFORM} &
  235. \f{TRANSFORM}(S,X)\ttindex{TRANSFORM} &
  236. \f{TRANSFORM}($\Omega$,X)\ttindex{TRANSFORM} &
  237. \f{LIFT(E)}\ttindex{LIFT} \\
  238. \end{tabular}
  239. \vspace{0.5cm}
  240. {\bf Example:}
  241. \begin{verbatim}
  242. % Non-Pfaffian system for a Monge-Ampere equation
  243. 14: PFORM {x,y,z}=0$
  244. 15: S := CONTACT(1,{x,y},{z});
  245. s := EDS({d z - z *d x - z *d y},d x^d y)
  246. x y
  247. 16: S:= AUGMENT(S,{d z(-x)^d z(-y)});
  248. s := EDS({d z - z *d x - z *d y,
  249. x y
  250. d z ^d z },d x^d y)
  251. x y
  252. \end{verbatim}
  253. \subsection{Analysing and Testing exterior systems}
  254. {\bf Analysing exterior systems} \par
  255. This section introduces higher level operators for extracting information about
  256. exterior systems. Many of them require a \meta{EDS} in normal form generated
  257. in positive degree as input, but some can also analyse a \meta{system} or a
  258. single \meta{p-form}. \\
  259. \begin{tabular}{lll}
  260. \f{CARTAN\_SYSTEM}(E)\ttindex{CARTAN\_SYSTEM} &
  261. \f{CARTAN\_SYSTEM}(S)\ttindex{CARTAN\_SYSTEM} &
  262. \f{CARTAN\_SYSTEM}($\Omega$)\ttindex{CARTAN\_SYSTEM} \\
  263. \f{CAUCHY\_SYSTEM}(E)\ttindex{CAUCHY\_SYSTEM} &
  264. \f{CAUCHY\_SYSTEM}(S)\ttindex{CAUCHY\_SYSTEM} &
  265. \f{CAUCHY\_SYSTEM}($\Omega$)\ttindex{CAUCHY\_SYSTEM} \\
  266. \f{CHARACTERS}(E)\ttindex{CHARACTERS} &
  267. \f{CHARACTERS}(T)\ttindex{CHARACTERS} &
  268. \f{CHARACTERS}(E,P)\ttindex{CHARACTERS} \\
  269. \f{CLOSURE}(E)\ttindex{CLOSURE} &
  270. \f{DERIVED\_SYSTEM}(E)\ttindex{DERIVED\_SYSTEMS} &
  271. \f{DERIVED\_SYSTEM}(S)\ttindex{DERIVED\_SYSTEMS} \\
  272. \f{DIM\_GRASSMANN\_VARIETY}(E)\ttindex{DIM\_GRASSMANN\_VARIETY} &
  273. \f{DIM\_GRASSMANN\_VARIETY}(E,P)\ttindex{DIM\_GRASSMANN\_VARIETY} &
  274. \f{DIM}(M)\ttindex{DIM} \\
  275. \f{DIM}(E)\ttindex{DIM} &
  276. \f{INVOLUTION}(E)\ttindex{INVOLUTION} &
  277. \f{LINEARISE}(E,P)\ttindex{LINEARISE} \\
  278. \f{INTEGRAL\_ELEMENT}(E)\ttindex{INTEGRAL\_ELEMENT} &
  279. \f{PROLONG}(E)\ttindex{PROLONG} &
  280. \f{TABLEAU}(E)\ttindex{TABLEAU} \\
  281. \f{TORSION}(E)\ttindex{TORSION} &
  282. \f{GRASSMANN\_VARIETY}(E)\ttindex{GRASSMANN\_VARIETY} &
  283. \end{tabular}
  284. \par
  285. \ \\
  286. {\bf Testing exterior systems} \par
  287. The following operators allow various properties of an \meta{EDS} to be checked.
  288. The result is either a {\bf 1} or a {\bf 0}, so these operators can be used in
  289. boolean expressions. Since checking these properties is very time-consuming, the
  290. result of the first test is stored on the \meta{properties} record of an
  291. \meta{EDS} to avoid re-checking. This memory can be cleared using the
  292. \f{CLEANUP}\ttindex{CLEANUP} opearator. \\
  293. \begin{tabular}{llll}
  294. \f{CLOSED}(E)\ttindex{CLOSED} &
  295. \f{CLOSED}(S)\ttindex{CLOSED} &
  296. \f{CLOSED}($\Omega$)\ttindex{CLOSED} &
  297. \f{INVOLUTIVE}(E)\ttindex{INVOLUTIVE} \\
  298. \f{PFAFFIAN}(E)\ttindex{PFAFFIAN} &
  299. \f{QUASILINEAR}(E)\ttindex{QUASILINEAR} &
  300. \f{SEMILINEAR}(E)\ttindex{SEMILINEAR} &
  301. $E$ \f{EQUIV} $E'$\ttindex{EQUIV} \\
  302. \end{tabular}
  303. \vspace{0.5cm}
  304. \subsection{Switches}
  305. EDS provides several switches to govern the display of information and enhance
  306. the speed or reliability of the calculations. For example the switch \f{EDSVERBOSE}
  307. if {\tt ON} will display additional information as the calculation progresses,
  308. which might generate too much output for larger problems. \\
  309. All switches are {\tt OFF} by default.
  310. \begin{tabular}{llllll}
  311. \f{EDSVERBOSE}\ttindex{EDSVERBOSE} &
  312. \f{EDSDEBUG}\ttindex{EDSDEBUG} &
  313. \f{EDSSLOPPY}\ttindex{EDSSLOPPY} &
  314. \f{EDSDISJOINT}\ttindex{EDSDISJOINT} &
  315. \f{RANPOS}\ttindex{RANPOS} &
  316. \f{GENPOS}\ttindex{GENPOS} \\
  317. \end{tabular}
  318. \subsection{Auxilliary functions}
  319. The operators of this section are designed to ease working with exterior forms
  320. and exterior systems in {\REDUCE}\ . \\
  321. \begin{tabular}{lll}
  322. \f{COORDINATES}(S)\ttindex{COORDINATES} &
  323. \f{INVERT}(X)\ttindex{INVERT} &
  324. \f{STRUCTURE\_EQUATIONS}(X)\ttindex{STRUCTURE\_EQUATIONS} \\
  325. \f{STRUCTURE\_EQUATIONS}(X,$X^{-1}$)\ttindex{STRUCTURE\_EQUATIONS} &
  326. \f{LINEAR\_DIVISORS}($\Omega$)\ttindex{LINEAR\_DIVISORS} &
  327. \f{EXFACTORS}($\Omega$)\ttindex{EXFACTORS} \\
  328. \f{INDEX\_EXPAND}(ANY)\ttindex{INDEX\_EXPAND} &
  329. \f{PDE2JET}(pde,dep,ind)\ttindex{PDE2JET} &
  330. \f{MKDEPEND}(list)\ttindex{MKDEPEND} \\
  331. \f{DISJOIN}(f,g,...)\ttindex{DISJOIN} &
  332. \f{CLEANUP}(E)\ttindex{CLEANUP} &
  333. \f{CLEANUP}(M)\ttindex{CLEANUP} \\
  334. \f{REORDER}(E)\ttindex{REORDER} &
  335. \f{REORDER}(M)\ttindex{REORDER} &
  336. \end{tabular}
  337. \subsection{Experimental Functions}
  338. The following operators are experimental facilities since, they are
  339. either algorithmically not well-founded, or their implementation is
  340. very unstable, or they have known bugs. \\
  341. \begin{tabular}{lll}
  342. \f{POINCARE}($\Omega$)\ttindex{POINCARE} &
  343. \f{INVARIANTS}(E,crd)\ttindex{INVARIANTS} &
  344. \f{INVARIANTS}(S,crd)\ttindex{INVARIANTS} \\
  345. \f{SYMBOL\_RELATIONS}(E,$\pi$)\ttindex{SYMBOL\_RELATIONS} &
  346. \f{SYMBOL\_MATRIX}(E,$\xi$)\ttindex{SYMBOL\_MATRIX} &
  347. \f{CHARACTERISTIC\_VARIETY}(E,$\xi$)\ttindex{CHARACTERISTIC\_VARIETY} \\
  348. \end{tabular}
  349. \vspace{0.5cm}
  350. {\bf Example:}
  351. \begin{verbatim}
  352. 17: % Riemann invariants for Euler-Poisson-Darboux equation.
  353. 17: % Set up the EDS for the equation, and examine tableau.
  354. 17: depend u,x,y; EPD :=PDE2EDS{DF(u,x,y)=-(df(u,x)+df(u,y))/(x+y)}$
  355. 19: tableau EPD;
  356. [d u 0 ]
  357. [ x x ]
  358. [ ]
  359. [ 0 d u ]
  360. [ y y]
  361. 20: % 1-form dx is characteristic: construct characteristic EDS.
  362. 20: xvars {}; C := cartan_system select(~f^d x=0,system closure epd)$
  363. 22: S := augment(eds(system EPD,d y),C)$
  364. 23: % Compute derived flag
  365. 23: while not equiv(S,S1 := derived_system S) do S := S1;
  366. 24: % Stabilised. Find the Riemann invariants.
  367. 24: invariants(S,reverse coordinates S);
  368. {x,
  369. u *x + u *y + u,
  370. x x
  371. - u *x - u *y - 2*u }
  372. x x x x x
  373. \end{verbatim}