1
2(SDEFUN |JVF;diff;JB$;1| ((|jb| JB) ($ $))
3        (CONS (LIST (|spadConstant| $ 14)) (LIST |jb|)))
4
5(SDEFUN |JVF;diffX;Pi$;2| ((|i| |PositiveInteger|) ($ $))
6        (SPADCALL (SPADCALL |i| (QREFELT $ 16)) (QREFELT $ 15)))
7
8(SDEFUN |JVF;diffU;Pi$;3| ((|i| |PositiveInteger|) ($ $))
9        (SPADCALL (SPADCALL |i| (QREFELT $ 18)) (QREFELT $ 15)))
10
11(SDEFUN |JVF;diffP;PiL$;4|
12        ((|i| |PositiveInteger|) (|mu| |List| (|NonNegativeInteger|)) ($ $))
13        (SPADCALL (SPADCALL |i| |mu| (QREFELT $ 21)) (QREFELT $ 15)))
14
15(SDEFUN |JVF;monom| ((|c| D) (|jb| JB) ($ |OutputForm|))
16        (COND
17         ((SPADCALL |c| (QREFELT $ 24))
18          (SPADCALL (SPADCALL "D" (QREFELT $ 27))
19                    (SPADCALL |jb| (QREFELT $ 28)) (QREFELT $ 29)))
20         ('T
21          (SPADCALL (SPADCALL |c| (QREFELT $ 30))
22                    (SPADCALL (SPADCALL "D" (QREFELT $ 27))
23                              (SPADCALL |jb| (QREFELT $ 28)) (QREFELT $ 29))
24                    (QREFELT $ 31)))))
25
26(SDEFUN |JVF;coerce;$Of;6| ((|v| $) ($ |OutputForm|))
27        (SPROG
28         ((#1=#:G432 NIL) (|c| NIL) (#2=#:G433 NIL) (|jb| NIL) (#3=#:G431 NIL))
29         (SEQ
30          (COND
31           ((NULL (QCDR |v|)) (SPADCALL (|spadConstant| $ 32) (QREFELT $ 30)))
32           ((EQL (LENGTH (QCDR |v|)) 1)
33            (|JVF;monom| (|SPADfirst| (QCAR |v|)) (|SPADfirst| (QCDR |v|)) $))
34           ('T
35            (SPADCALL (ELT $ 33)
36                      (PROGN
37                       (LETT #3# NIL)
38                       (SEQ (LETT |jb| NIL) (LETT #2# (QCDR |v|))
39                            (LETT |c| NIL) (LETT #1# (QCAR |v|)) G190
40                            (COND
41                             ((OR (ATOM #1#) (PROGN (LETT |c| (CAR #1#)) NIL)
42                                  (ATOM #2#) (PROGN (LETT |jb| (CAR #2#)) NIL))
43                              (GO G191)))
44                            (SEQ
45                             (EXIT
46                              (LETT #3# (CONS (|JVF;monom| |c| |jb| $) #3#))))
47                            (LETT #1# (PROG1 (CDR #1#) (LETT #2# (CDR #2#))))
48                            (GO G190) G191 (EXIT (NREVERSE #3#))))
49                      (QREFELT $ 36)))))))
50
51(SDEFUN |JVF;coefficients;$L;7| ((|v| $) ($ |List| D))
52        (SPADCALL (QCAR |v|) (QREFELT $ 39)))
53
54(SDEFUN |JVF;directions;$L;8| ((|v| $) ($ |List| JB))
55        (SPADCALL (QCDR |v|) (QREFELT $ 42)))
56
57(SDEFUN |JVF;coefficient;$JBD;9| ((|v| $) (|jb| JB) ($ D))
58        (SPROG ((|pos| (|Integer|)))
59               (SEQ (LETT |pos| (SPADCALL |jb| (QCDR |v|) (QREFELT $ 45)))
60                    (EXIT
61                     (COND
62                      ((< |pos| (PROGN (QCDR |v|) 1)) (|spadConstant| $ 32))
63                      ('T (SPADCALL (QCAR |v|) |pos| (QREFELT $ 46))))))))
64
65(SDEFUN |JVF;copy;2$;10| ((|v| $) ($ $))
66        (CONS (SPADCALL (QCAR |v|) (QREFELT $ 39))
67              (SPADCALL (QCDR |v|) (QREFELT $ 42))))
68
69(PUT '|JVF;Zero;$;11| '|SPADreplace| '(XLAM NIL (CONS NIL NIL)))
70
71(SDEFUN |JVF;Zero;$;11| (($ $)) (CONS NIL NIL))
72
73(SDEFUN |JVF;zero?;$B;12| ((|v| $) ($ |Boolean|)) (NULL (QCDR |v|)))
74
75(SDEFUN |JVF;-;2$;13| ((|v| $) ($ $))
76        (SPROG ((#1=#:G444 NIL) (|c| NIL) (#2=#:G443 NIL))
77               (SEQ
78                (CONS
79                 (PROGN
80                  (LETT #2# NIL)
81                  (SEQ (LETT |c| NIL) (LETT #1# (QCAR |v|)) G190
82                       (COND
83                        ((OR (ATOM #1#) (PROGN (LETT |c| (CAR #1#)) NIL))
84                         (GO G191)))
85                       (SEQ
86                        (EXIT
87                         (LETT #2# (CONS (SPADCALL |c| (QREFELT $ 52)) #2#))))
88                       (LETT #1# (CDR #1#)) (GO G190) G191
89                       (EXIT (NREVERSE #2#))))
90                 (QCDR |v|)))))
91
92(SDEFUN |JVF;+;3$;14| ((|v| $) (|w| $) ($ $))
93        (SPROG
94         ((|lj2| (|List| JB)) (|lc2| (|List| D)) (|resJ| (|List| JB))
95          (|resC| (|List| D)) (|sum| (D)) (#1=#:G461 NIL) (|c1| NIL)
96          (#2=#:G462 NIL) (|j1| NIL))
97         (SEQ
98          (COND ((SPADCALL |v| (QREFELT $ 51)) |w|)
99                ((SPADCALL |w| (QREFELT $ 51)) |v|)
100                ('T
101                 (SEQ (LETT |lc2| (SPADCALL (QCAR |w|) (QREFELT $ 39)))
102                      (LETT |lj2| (SPADCALL (QCDR |w|) (QREFELT $ 42)))
103                      (LETT |resC| NIL) (LETT |resJ| NIL)
104                      (SEQ (LETT |j1| NIL) (LETT #2# (QCDR |v|))
105                           (LETT |c1| NIL) (LETT #1# (QCAR |v|)) G190
106                           (COND
107                            ((OR (ATOM #1#) (PROGN (LETT |c1| (CAR #1#)) NIL)
108                                 (ATOM #2#) (PROGN (LETT |j1| (CAR #2#)) NIL))
109                             (GO G191)))
110                           (SEQ
111                            (SEQ G190
112                                 (COND
113                                  ((NULL
114                                    (COND ((NULL |lj2|) NIL)
115                                          ('T
116                                           (SPADCALL (|SPADfirst| |lj2|) |j1|
117                                                     (QREFELT $ 54)))))
118                                   (GO G191)))
119                                 (SEQ
120                                  (LETT |resC|
121                                        (CONS (|SPADfirst| |lc2|) |resC|))
122                                  (LETT |resJ|
123                                        (CONS (|SPADfirst| |lj2|) |resJ|))
124                                  (LETT |lc2| (CDR |lc2|))
125                                  (EXIT (LETT |lj2| (CDR |lj2|))))
126                                 NIL (GO G190) G191 (EXIT NIL))
127                            (EXIT
128                             (COND
129                              ((OR (NULL |lj2|)
130                                   (NULL
131                                    (SPADCALL (|SPADfirst| |lj2|) |j1|
132                                              (QREFELT $ 55))))
133                               (SEQ (LETT |resC| (CONS |c1| |resC|))
134                                    (EXIT (LETT |resJ| (CONS |j1| |resJ|)))))
135                              ('T
136                               (SEQ
137                                (LETT |sum|
138                                      (SPADCALL |c1| (|SPADfirst| |lc2|)
139                                                (QREFELT $ 56)))
140                                (COND
141                                 ((NULL (SPADCALL |sum| (QREFELT $ 57)))
142                                  (SEQ (LETT |resC| (CONS |sum| |resC|))
143                                       (EXIT
144                                        (LETT |resJ| (CONS |j1| |resJ|))))))
145                                (LETT |lc2| (CDR |lc2|))
146                                (EXIT (LETT |lj2| (CDR |lj2|))))))))
147                           (LETT #1# (PROG1 (CDR #1#) (LETT #2# (CDR #2#))))
148                           (GO G190) G191 (EXIT NIL))
149                      (EXIT
150                       (CONS (SPADCALL (NREVERSE |resC|) |lc2| (QREFELT $ 58))
151                             (SPADCALL (NREVERSE |resJ|) |lj2|
152                                       (QREFELT $ 59))))))))))
153
154(SDEFUN |JVF;*;D2$;15| ((|f| D) (|v| $) ($ $))
155        (SPROG ((#1=#:G467 NIL) (|c| NIL) (#2=#:G466 NIL))
156               (SEQ
157                (COND ((SPADCALL |f| (QREFELT $ 57)) (|spadConstant| $ 50))
158                      ('T
159                       (CONS
160                        (PROGN
161                         (LETT #2# NIL)
162                         (SEQ (LETT |c| NIL) (LETT #1# (QCAR |v|)) G190
163                              (COND
164                               ((OR (ATOM #1#)
165                                    (PROGN (LETT |c| (CAR #1#)) NIL))
166                                (GO G191)))
167                              (SEQ
168                               (EXIT
169                                (LETT #2#
170                                      (CONS (SPADCALL |f| |c| (QREFELT $ 61))
171                                            #2#))))
172                              (LETT #1# (CDR #1#)) (GO G190) G191
173                              (EXIT (NREVERSE #2#))))
174                        (QCDR |v|)))))))
175
176(SDEFUN |JVF;prolong;$Nni$;16| ((|v| $) (|q| |NonNegativeInteger|) ($ $))
177        (SPROG
178         ((|oldDir| (|List| JB)) (|oldCo| #1=(|List| D)) (|newDir| (|List| JB))
179          (|newCo| #1#) (|res| ($)) (|newco| (D))
180          (|nu| (|List| (|NonNegativeInteger|))) (#2=#:G528 NIL) (|i| NIL)
181          (|j| (|Integer|)) (#3=#:G503 NIL) (|newjv| (JB)) (#4=#:G498 NIL)
182          (#5=#:G496 NIL) (#6=#:G527 NIL) (|k| NIL)
183          (|mu| (|List| (|NonNegativeInteger|))) (|a| (|PositiveInteger|))
184          (|jm| (|SparseEchelonMatrix| JB D)) (#7=#:G525 NIL) (|jv| NIL)
185          (#8=#:G526 NIL) (|co| NIL) (#9=#:G524 NIL) (|qq| NIL)
186          (#10=#:G487 NIL) (#11=#:G523 NIL) (#12=#:G522 NIL) (#13=#:G521 NIL)
187          (#14=#:G519 NIL) (#15=#:G520 NIL) (#16=#:G476 NIL) (#17=#:G518 NIL)
188          (#18=#:G517 NIL) (|dxi| (|Matrix| D))
189          (|ind2| #19=(|List| (|PositiveInteger|))) (|eta| #1#) (|ind1| #19#)
190          (|xi| #1#) (|jt| (|Symbol|)) (#20=#:G515 NIL) (#21=#:G516 NIL)
191          (|coeffs| (|List| D)) (|dirs| (|List| JB)))
192         (SEQ
193          (COND ((ZEROP |q|) |v|)
194                ('T
195                 (SEQ (LETT |dirs| (SPADCALL |v| (QREFELT $ 43)))
196                      (LETT |coeffs| (SPADCALL |v| (QREFELT $ 40)))
197                      (LETT |xi| NIL) (LETT |eta| NIL) (LETT |ind1| NIL)
198                      (LETT |ind2| NIL)
199                      (SEQ (LETT |co| NIL) (LETT #21# |coeffs|) (LETT |jv| NIL)
200                           (LETT #20# |dirs|) G190
201                           (COND
202                            ((OR (ATOM #20#) (PROGN (LETT |jv| (CAR #20#)) NIL)
203                                 (ATOM #21#)
204                                 (PROGN (LETT |co| (CAR #21#)) NIL))
205                             (GO G191)))
206                           (SEQ (LETT |jt| (SPADCALL |jv| (QREFELT $ 64)))
207                                (EXIT
208                                 (COND
209                                  ((EQUAL |jt| '|Indep|)
210                                   (SEQ (LETT |xi| (CONS |co| |xi|))
211                                        (EXIT
212                                         (LETT |ind1|
213                                               (CONS
214                                                (SPADCALL |jv| (QREFELT $ 65))
215                                                |ind1|)))))
216                                  ((EQUAL |jt| '|Dep|)
217                                   (SEQ (LETT |eta| (CONS |co| |eta|))
218                                        (EXIT
219                                         (LETT |ind2|
220                                               (CONS
221                                                (SPADCALL |jv| (QREFELT $ 65))
222                                                |ind2|)))))
223                                  ('T
224                                   (|error|
225                                    "not base vector field in prolong")))))
226                           (LETT #20#
227                                 (PROG1 (CDR #20#) (LETT #21# (CDR #21#))))
228                           (GO G190) G191 (EXIT NIL))
229                      (LETT |dxi|
230                            (MAKE_MATRIX1 (LENGTH |xi|) (QREFELT $ 10)
231                                          (|spadConstant| $ 32)))
232                      (SEQ (LETT |i| 1) (LETT |co| NIL) (LETT #18# |xi|) G190
233                           (COND
234                            ((OR (ATOM #18#)
235                                 (PROGN (LETT |co| (CAR #18#)) NIL))
236                             (GO G191)))
237                           (SEQ
238                            (LETT |jm| (SPADCALL (LIST |co|) (QREFELT $ 68)))
239                            (EXIT
240                             (SEQ (LETT |j| 1) (LETT #17# (QREFELT $ 10)) G190
241                                  (COND ((|greater_SI| |j| #17#) (GO G191)))
242                                  (SEQ
243                                   (EXIT
244                                    (QSETAREF2O |dxi| |i| |j|
245                                                (QCAR
246                                                 (SPADCALL |co|
247                                                           (PROG1
248                                                               (LETT #16# |j|)
249                                                             (|check_subtype2|
250                                                              (> #16# 0)
251                                                              '(|PositiveInteger|)
252                                                              '(|NonNegativeInteger|)
253                                                              #16#))
254                                                           |jm|
255                                                           (QREFELT $ 70)))
256                                                1 1)))
257                                  (LETT |j| (|inc_SI| |j|)) (GO G190) G191
258                                  (EXIT NIL))))
259                           (LETT #18#
260                                 (PROG1 (CDR #18#) (LETT |i| (|inc_SI| |i|))))
261                           (GO G190) G191 (EXIT NIL))
262                      (LETT |j| (QREFELT $ 12)) (LETT |oldCo| NIL)
263                      (SEQ (LETT |i| NIL) (LETT #15# |ind2|) (LETT |co| NIL)
264                           (LETT #14# |eta|) G190
265                           (COND
266                            ((OR (ATOM #14#) (PROGN (LETT |co| (CAR #14#)) NIL)
267                                 (ATOM #15#) (PROGN (LETT |i| (CAR #15#)) NIL))
268                             (GO G191)))
269                           (SEQ
270                            (SEQ G190 (COND ((NULL (> |j| |i|)) (GO G191)))
271                                 (SEQ
272                                  (LETT |oldCo|
273                                        (CONS (|spadConstant| $ 32) |oldCo|))
274                                  (EXIT (LETT |j| (- |j| 1))))
275                                 NIL (GO G190) G191 (EXIT NIL))
276                            (LETT |oldCo| (CONS |co| |oldCo|))
277                            (EXIT (LETT |j| (- |j| 1))))
278                           (LETT #14#
279                                 (PROG1 (CDR #14#) (LETT #15# (CDR #15#))))
280                           (GO G190) G191 (EXIT NIL))
281                      (COND
282                       ((NULL (ZEROP |j|))
283                        (SEQ (LETT |i| 1) (LETT #13# |j|) G190
284                             (COND ((|greater_SI| |i| #13#) (GO G191)))
285                             (SEQ
286                              (EXIT
287                               (LETT |oldCo|
288                                     (CONS (|spadConstant| $ 32) |oldCo|))))
289                             (LETT |i| (|inc_SI| |i|)) (GO G190) G191
290                             (EXIT NIL))))
291                      (LETT |oldDir|
292                            (PROGN
293                             (LETT #12# NIL)
294                             (SEQ (LETT |i| 1) (LETT #11# (QREFELT $ 12)) G190
295                                  (COND ((|greater_SI| |i| #11#) (GO G191)))
296                                  (SEQ
297                                   (EXIT
298                                    (LETT #12#
299                                          (CONS
300                                           (SPADCALL
301                                            (PROG1 (LETT #10# |i|)
302                                              (|check_subtype2| (> #10# 0)
303                                                                '(|PositiveInteger|)
304                                                                '(|NonNegativeInteger|)
305                                                                #10#))
306                                            (QREFELT $ 18))
307                                           #12#))))
308                                  (LETT |i| (|inc_SI| |i|)) (GO G190) G191
309                                  (EXIT (NREVERSE #12#)))))
310                      (LETT |res| |v|)
311                      (SEQ (LETT |qq| 1) (LETT #9# |q|) G190
312                           (COND ((|greater_SI| |qq| #9#) (GO G191)))
313                           (SEQ (LETT |newCo| NIL) (LETT |newDir| NIL)
314                                (SEQ (LETT |co| NIL) (LETT #8# |oldCo|)
315                                     (LETT |jv| NIL) (LETT #7# |oldDir|) G190
316                                     (COND
317                                      ((OR (ATOM #7#)
318                                           (PROGN (LETT |jv| (CAR #7#)) NIL)
319                                           (ATOM #8#)
320                                           (PROGN (LETT |co| (CAR #8#)) NIL))
321                                       (GO G191)))
322                                     (SEQ
323                                      (LETT |jm|
324                                            (SPADCALL (LIST |co|)
325                                                      (QREFELT $ 68)))
326                                      (LETT |a| (SPADCALL |jv| (QREFELT $ 65)))
327                                      (LETT |mu|
328                                            (SPADCALL |jv| (QREFELT $ 72)))
329                                      (EXIT
330                                       (SEQ
331                                        (LETT |k|
332                                              (MAX 1
333                                                   (SPADCALL |jv|
334                                                             (QREFELT $ 74))))
335                                        (LETT #6# (QREFELT $ 10)) G190
336                                        (COND ((> |k| #6#) (GO G191)))
337                                        (SEQ
338                                         (LETT |newjv|
339                                               (PROG2
340                                                   (LETT #4#
341                                                         (SPADCALL |jv|
342                                                                   (PROG1
343                                                                       (LETT
344                                                                        #5#
345                                                                        |k|)
346                                                                     (|check_subtype2|
347                                                                      (> #5# 0)
348                                                                      '(|PositiveInteger|)
349                                                                      '(|NonNegativeInteger|)
350                                                                      #5#))
351                                                                   (QREFELT $
352                                                                            76)))
353                                                   (QCDR #4#)
354                                                 (|check_union2| (QEQCAR #4# 0)
355                                                                 (QREFELT $ 6)
356                                                                 (|Union|
357                                                                  (QREFELT $ 6)
358                                                                  "0")
359                                                                 #4#)))
360                                         (LETT |newco|
361                                               (QCAR
362                                                (SPADCALL |co|
363                                                          (PROG1 (LETT #3# |k|)
364                                                            (|check_subtype2|
365                                                             (> #3# 0)
366                                                             '(|PositiveInteger|)
367                                                             '(|NonNegativeInteger|)
368                                                             #3#))
369                                                          |jm|
370                                                          (QREFELT $ 70))))
371                                         (SEQ (LETT |j| 1) (LETT |i| NIL)
372                                              (LETT #2# |ind1|) G190
373                                              (COND
374                                               ((OR (ATOM #2#)
375                                                    (PROGN
376                                                     (LETT |i| (CAR #2#))
377                                                     NIL))
378                                                (GO G191)))
379                                              (SEQ
380                                               (LETT |nu|
381                                                     (SPADCALL |mu|
382                                                               (QREFELT $ 77)))
383                                               (SPADCALL |nu| |i|
384                                                         (+
385                                                          (SPADCALL |nu| |i|
386                                                                    (QREFELT $
387                                                                             78))
388                                                          1)
389                                                         (QREFELT $ 79))
390                                               (EXIT
391                                                (LETT |newco|
392                                                      (SPADCALL |newco|
393                                                                (SPADCALL
394                                                                 (QAREF2O |dxi|
395                                                                          |j|
396                                                                          |k| 1
397                                                                          1)
398                                                                 (SPADCALL
399                                                                  (SPADCALL |a|
400                                                                            |nu|
401                                                                            (QREFELT
402                                                                             $
403                                                                             80))
404                                                                  (QREFELT $
405                                                                           81))
406                                                                 (QREFELT $
407                                                                          61))
408                                                                (QREFELT $
409                                                                         82)))))
410                                              (LETT #2#
411                                                    (PROG1 (CDR #2#)
412                                                      (LETT |j|
413                                                            (|inc_SI| |j|))))
414                                              (GO G190) G191 (EXIT NIL))
415                                         (LETT |res|
416                                               (SPADCALL |res|
417                                                         (SPADCALL |newco|
418                                                                   (SPADCALL
419                                                                    |newjv|
420                                                                    (QREFELT $
421                                                                             15))
422                                                                   (QREFELT $
423                                                                            62))
424                                                         (QREFELT $ 60)))
425                                         (LETT |newCo| (CONS |newco| |newCo|))
426                                         (EXIT
427                                          (LETT |newDir|
428                                                (CONS |newjv| |newDir|))))
429                                        (LETT |k| (+ |k| 1)) (GO G190) G191
430                                        (EXIT NIL))))
431                                     (LETT #7#
432                                           (PROG1 (CDR #7#)
433                                             (LETT #8# (CDR #8#))))
434                                     (GO G190) G191 (EXIT NIL))
435                                (LETT |oldCo| |newCo|)
436                                (EXIT (LETT |oldDir| |newDir|)))
437                           (LETT |qq| (|inc_SI| |qq|)) (GO G190) G191
438                           (EXIT NIL))
439                      (EXIT |res|)))))))
440
441(SDEFUN |JVF;eval;$2D;17| ((|v| $) (|f| D) ($ D))
442        (SPROG
443         ((|res| (D)) (#1=#:G532 NIL) (|c| NIL) (#2=#:G533 NIL) (|jb| NIL))
444         (SEQ (LETT |res| (|spadConstant| $ 32))
445              (SEQ (LETT |jb| NIL) (LETT #2# (QCDR |v|)) (LETT |c| NIL)
446                   (LETT #1# (QCAR |v|)) G190
447                   (COND
448                    ((OR (ATOM #1#) (PROGN (LETT |c| (CAR #1#)) NIL) (ATOM #2#)
449                         (PROGN (LETT |jb| (CAR #2#)) NIL))
450                     (GO G191)))
451                   (SEQ
452                    (EXIT
453                     (LETT |res|
454                           (SPADCALL |res|
455                                     (SPADCALL |c|
456                                               (SPADCALL |f| |jb|
457                                                         (QREFELT $ 84))
458                                               (QREFELT $ 61))
459                                     (QREFELT $ 56)))))
460                   (LETT #1# (PROG1 (CDR #1#) (LETT #2# (CDR #2#)))) (GO G190)
461                   G191 (EXIT NIL))
462              (EXIT |res|))))
463
464(SDEFUN |JVF;commutator;3$;18| ((|v| $) (|w| $) ($ $))
465        (SPROG
466         ((|res2| ($)) (|rjb| (|List| JB)) (|rco| (|List| D)) (|sum| (D))
467          (#1=#:G550 NIL) (|c1| NIL) (#2=#:G551 NIL) (|j1| NIL) (#3=#:G548 NIL)
468          (|c2| NIL) (#4=#:G549 NIL) (|j2| NIL) (|res1| ($)) (#5=#:G546 NIL)
469          (#6=#:G547 NIL) (#7=#:G544 NIL) (#8=#:G545 NIL))
470         (SEQ (LETT |rco| NIL) (LETT |rjb| NIL)
471              (SEQ (LETT |j1| NIL) (LETT #8# (QCDR |v|)) (LETT |c1| NIL)
472                   (LETT #7# (QCAR |v|)) G190
473                   (COND
474                    ((OR (ATOM #7#) (PROGN (LETT |c1| (CAR #7#)) NIL)
475                         (ATOM #8#) (PROGN (LETT |j1| (CAR #8#)) NIL))
476                     (GO G191)))
477                   (SEQ (LETT |sum| (|spadConstant| $ 32))
478                        (SEQ (LETT |j2| NIL) (LETT #6# (QCDR |w|))
479                             (LETT |c2| NIL) (LETT #5# (QCAR |w|)) G190
480                             (COND
481                              ((OR (ATOM #5#) (PROGN (LETT |c2| (CAR #5#)) NIL)
482                                   (ATOM #6#)
483                                   (PROGN (LETT |j2| (CAR #6#)) NIL))
484                               (GO G191)))
485                             (SEQ
486                              (EXIT
487                               (LETT |sum|
488                                     (SPADCALL |sum|
489                                               (SPADCALL |c2|
490                                                         (SPADCALL |c1| |j2|
491                                                                   (QREFELT $
492                                                                            84))
493                                                         (QREFELT $ 61))
494                                               (QREFELT $ 56)))))
495                             (LETT #5# (PROG1 (CDR #5#) (LETT #6# (CDR #6#))))
496                             (GO G190) G191 (EXIT NIL))
497                        (EXIT
498                         (COND
499                          ((NULL (SPADCALL |sum| (QREFELT $ 57)))
500                           (SEQ (LETT |rco| (CONS |sum| |rco|))
501                                (EXIT (LETT |rjb| (CONS |j1| |rjb|))))))))
502                   (LETT #7# (PROG1 (CDR #7#) (LETT #8# (CDR #8#)))) (GO G190)
503                   G191 (EXIT NIL))
504              (LETT |res1| (CONS (NREVERSE |rco|) (NREVERSE |rjb|)))
505              (LETT |rco| NIL) (LETT |rjb| NIL)
506              (SEQ (LETT |j2| NIL) (LETT #4# (QCDR |w|)) (LETT |c2| NIL)
507                   (LETT #3# (QCAR |w|)) G190
508                   (COND
509                    ((OR (ATOM #3#) (PROGN (LETT |c2| (CAR #3#)) NIL)
510                         (ATOM #4#) (PROGN (LETT |j2| (CAR #4#)) NIL))
511                     (GO G191)))
512                   (SEQ (LETT |sum| (|spadConstant| $ 32))
513                        (SEQ (LETT |j1| NIL) (LETT #2# (QCDR |v|))
514                             (LETT |c1| NIL) (LETT #1# (QCAR |v|)) G190
515                             (COND
516                              ((OR (ATOM #1#) (PROGN (LETT |c1| (CAR #1#)) NIL)
517                                   (ATOM #2#)
518                                   (PROGN (LETT |j1| (CAR #2#)) NIL))
519                               (GO G191)))
520                             (SEQ
521                              (EXIT
522                               (LETT |sum|
523                                     (SPADCALL |sum|
524                                               (SPADCALL |c1|
525                                                         (SPADCALL |c2| |j1|
526                                                                   (QREFELT $
527                                                                            84))
528                                                         (QREFELT $ 61))
529                                               (QREFELT $ 56)))))
530                             (LETT #1# (PROG1 (CDR #1#) (LETT #2# (CDR #2#))))
531                             (GO G190) G191 (EXIT NIL))
532                        (EXIT
533                         (COND
534                          ((NULL (SPADCALL |sum| (QREFELT $ 57)))
535                           (SEQ (LETT |rco| (CONS |sum| |rco|))
536                                (EXIT (LETT |rjb| (CONS |j2| |rjb|))))))))
537                   (LETT #3# (PROG1 (CDR #3#) (LETT #4# (CDR #4#)))) (GO G190)
538                   G191 (EXIT NIL))
539              (LETT |res2| (CONS (NREVERSE |rco|) (NREVERSE |rjb|)))
540              (EXIT (SPADCALL |res2| |res1| (QREFELT $ 86))))))
541
542(SDEFUN |JVF;table;LTda;19| ((|lv| |List| $) ($ |TwoDimensionalArray| $))
543        (SPROG
544         ((|c| ($)) (#1=#:G560 NIL) (|v2| NIL) (|j| NIL) (|v1| ($)) (|i| NIL)
545          (#2=#:G559 NIL) (|res| (|TwoDimensionalArray| $))
546          (|len| (|NonNegativeInteger|)))
547         (SEQ (LETT |len| (SPADCALL |lv| (QREFELT $ 89)))
548              (EXIT
549               (COND ((ZEROP |len|) (|error| "empty list in table"))
550                     ('T
551                      (SEQ
552                       (LETT |res|
553                             (SPADCALL |len| |len| (|spadConstant| $ 50)
554                                       (QREFELT $ 91)))
555                       (SEQ (LETT #2# NIL) (LETT |i| 1) G190
556                            (COND (#2# (GO G191)))
557                            (SEQ (LETT |v1| (SPADCALL |lv| (QREFELT $ 92)))
558                                 (LETT |lv| (SPADCALL |lv| (QREFELT $ 93)))
559                                 (EXIT
560                                  (SEQ (LETT |j| (+ |i| 1)) (LETT |v2| NIL)
561                                       (LETT #1# |lv|) G190
562                                       (COND
563                                        ((OR (ATOM #1#)
564                                             (PROGN (LETT |v2| (CAR #1#)) NIL))
565                                         (GO G191)))
566                                       (SEQ
567                                        (LETT |c|
568                                              (SPADCALL |v1| |v2|
569                                                        (QREFELT $ 87)))
570                                        (SPADCALL |res| |i| |j| |c|
571                                                  (QREFELT $ 94))
572                                        (EXIT
573                                         (SPADCALL |res| |j| |i|
574                                                   (SPADCALL |c|
575                                                             (QREFELT $ 53))
576                                                   (QREFELT $ 94))))
577                                       (LETT #1#
578                                             (PROG1 (CDR #1#)
579                                               (LETT |j| (+ |j| 1))))
580                                       (GO G190) G191 (EXIT NIL))))
581                            (LETT |i|
582                                  (PROG1 (|inc_SI| |i|)
583                                    (LETT #2# (SPADCALL |lv| (QREFELT $ 95)))))
584                            (GO G190) G191 (EXIT NIL))
585                       (EXIT |res|))))))))
586
587(SDEFUN |JVF;lie;3$;20| ((|v| $) (|w| $) ($ $))
588        (SPADCALL |v| |w| (QREFELT $ 87)))
589
590(DECLAIM (NOTINLINE |JetVectorField;|))
591
592(DEFUN |JetVectorField| (&REST #1=#:G566)
593  (SPROG NIL
594         (PROG (#2=#:G567)
595           (RETURN
596            (COND
597             ((LETT #2#
598                    (|lassocShiftWithFunction| (|devaluateList| #1#)
599                                               (HGET |$ConstructorCache|
600                                                     '|JetVectorField|)
601                                               '|domainEqualList|))
602              (|CDRwithIncrement| #2#))
603             ('T
604              (UNWIND-PROTECT
605                  (PROG1 (APPLY (|function| |JetVectorField;|) #1#)
606                    (LETT #2# T))
607                (COND
608                 ((NOT #2#)
609                  (HREM |$ConstructorCache| '|JetVectorField|))))))))))
610
611(DEFUN |JetVectorField;| (|#1| |#2|)
612  (SPROG
613   ((|pv$| NIL) (#1=#:G565 NIL) ($ NIL) (|dv$| NIL) (DV$2 NIL) (DV$1 NIL))
614   (PROGN
615    (LETT DV$1 (|devaluate| |#1|))
616    (LETT DV$2 (|devaluate| |#2|))
617    (LETT |dv$| (LIST '|JetVectorField| DV$1 DV$2))
618    (LETT $ (GETREFV 102))
619    (QSETREFV $ 0 |dv$|)
620    (QSETREFV $ 3
621              (LETT |pv$|
622                    (|buildPredVector| 0 0
623                                       (LIST
624                                        (|HasCategory| |#2| '(|AbelianGroup|))
625                                        (LETT #1#
626                                              (|HasCategory| |#2|
627                                                             '(|AbelianMonoid|)))
628                                        (OR
629                                         (|HasCategory| |#2| '(|AbelianGroup|))
630                                         #1#)))))
631    (|haddProp| |$ConstructorCache| '|JetVectorField| (LIST DV$1 DV$2)
632                (CONS 1 $))
633    (|stuffDomainSlots| $)
634    (QSETREFV $ 6 |#1|)
635    (QSETREFV $ 7 |#2|)
636    (SETF |pv$| (QREFELT $ 3))
637    (QSETREFV $ 10 (SPADCALL (QREFELT $ 9)))
638    (QSETREFV $ 12 (SPADCALL (QREFELT $ 11)))
639    (QSETREFV $ 13
640              (|Record| (|:| |Coeff| (|List| |#2|)) (|:| |Dir| (|List| |#1|))))
641    $)))
642
643(MAKEPROP '|JetVectorField| '|infovec|
644          (LIST
645           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
646              (|PositiveInteger|) (0 . |numIndVar|) '|nn| (4 . |numDepVar|)
647              '|mm| '|Rep| (8 . |One|) |JVF;diff;JB$;1| (12 . X)
648              |JVF;diffX;Pi$;2| (17 . U) |JVF;diffU;Pi$;3| (|List| 73) (22 . P)
649              |JVF;diffP;PiL$;4| (|Boolean|) (28 . |one?|) (|String|)
650              (|OutputForm|) (33 . |message|) (38 . |coerce|) (43 . |sub|)
651              (49 . |coerce|) (54 . *) (60 . |Zero|) (64 . +)
652              (|Mapping| 26 26 26) (|List| 26) (70 . |reduce|)
653              |JVF;coerce;$Of;6| (|List| 7) (76 . |copy|)
654              |JVF;coefficients;$L;7| (|List| 6) (81 . |copy|)
655              |JVF;directions;$L;8| (|Integer|) (86 . |position|) (92 . |qelt|)
656              |JVF;coefficient;$JBD;9| |JVF;copy;2$;10| (98 . |empty|)
657              (CONS IDENTITY (FUNCALL (|dispatchFunction| |JVF;Zero;$;11|) $))
658              |JVF;zero?;$B;12| (102 . -) |JVF;-;2$;13| (107 . <) (113 . =)
659              (119 . +) (125 . |zero?|) (130 . |concat!|) (136 . |concat!|)
660              |JVF;+;3$;14| (142 . *) |JVF;*;D2$;15| (|Symbol|) (148 . |type|)
661              (153 . |index|) (|SparseEchelonMatrix| 6 $) (|List| $)
662              (158 . |jacobiMatrix|) (|Record| (|:| |DPhi| $) (|:| |JVars| 41))
663              (163 . |formalDiff2|) (170 . |One|) (174 . |multiIndex|)
664              (|NonNegativeInteger|) (179 . |class|) (|Union| $ '"0")
665              (184 . |differentiate|) (190 . |copy|) (195 . |qelt|)
666              (201 . |qsetelt!|) (208 . |Pm|) (214 . |coerce|) (219 . -)
667              |JVF;prolong;$Nni$;16| (225 . |differentiate|) |JVF;eval;$2D;17|
668              (231 . -) |JVF;commutator;3$;18| (|List| $$) (237 . |#|)
669              (|TwoDimensionalArray| $$) (242 . |new|) (249 . |first|)
670              (254 . |rest|) (259 . |qsetelt!|) (267 . |empty?|)
671              (|TwoDimensionalArray| $) |JVF;table;LTda;19| |JVF;lie;3$;20|
672              (|Union| $ '"failed") (|HashState|) (|SingleInteger|))
673           '#(~= 272 |zero?| 278 |table| 283 |subtractIfCan| 288 |sample| 294
674              |prolong| 298 |opposite?| 304 |lie| 310 |latex| 316 |hashUpdate!|
675              321 |hash| 327 |eval| 332 |directions| 338 |diffX| 343 |diffU|
676              348 |diffP| 353 |diff| 359 |copy| 364 |commutator| 369 |coerce|
677              375 |coefficients| 380 |coefficient| 385 |Zero| 391 = 395 - 401 +
678              412 * 418)
679           'NIL
680           (CONS (|makeByteWordVec2| 3 '(0 0 0 0 1 1 3 0 0 0 0))
681                 (CONS
682                  '#(|Module&| NIL NIL NIL |AbelianGroup&| NIL |AbelianMonoid&|
683                     |AbelianSemiGroup&| |SetCategory&| |BasicType&| NIL)
684                  (CONS
685                   '#((|Module| 7) (|BiModule| 7 7) (|LeftModule| 7)
686                      (|RightModule| 7) (|AbelianGroup|)
687                      (|CancellationAbelianMonoid|) (|AbelianMonoid|)
688                      (|AbelianSemiGroup|) (|SetCategory|) (|BasicType|)
689                      (|CoercibleTo| 26))
690                   (|makeByteWordVec2| 101
691                                       '(0 6 8 9 0 6 8 11 0 7 0 14 1 6 0 8 16 1
692                                         6 0 8 18 2 6 0 8 20 21 1 7 23 0 24 1
693                                         26 0 25 27 1 6 26 0 28 2 26 0 0 0 29 1
694                                         7 26 0 30 2 26 0 0 0 31 0 7 0 32 2 26
695                                         0 0 0 33 2 35 26 34 0 36 1 38 0 0 39 1
696                                         41 0 0 42 2 41 44 6 0 45 2 38 7 0 44
697                                         46 0 26 0 49 1 7 0 0 52 2 6 23 0 0 54
698                                         2 6 23 0 0 55 2 7 0 0 0 56 1 7 23 0 57
699                                         2 38 0 0 0 58 2 41 0 0 0 59 2 7 0 0 0
700                                         61 1 6 63 0 64 1 6 8 0 65 1 7 66 67 68
701                                         3 7 69 0 8 66 70 0 6 0 71 1 6 20 0 72
702                                         1 6 73 0 74 2 6 75 0 8 76 1 20 0 0 77
703                                         2 20 73 0 44 78 3 20 73 0 44 73 79 2 6
704                                         0 8 20 80 1 7 0 6 81 2 7 0 0 0 82 2 7
705                                         0 0 6 84 2 0 0 0 0 86 1 88 73 0 89 3
706                                         90 0 73 73 2 91 1 88 2 0 92 1 88 0 0
707                                         93 4 90 2 0 44 44 2 94 1 88 23 0 95 2
708                                         0 23 0 0 1 1 2 23 0 51 1 0 96 67 97 2
709                                         1 99 0 0 1 0 2 0 1 2 0 0 0 73 83 2 2
710                                         23 0 0 1 2 0 0 0 0 98 1 0 25 0 1 2 0
711                                         100 100 0 1 1 0 101 0 1 2 0 7 0 7 85 1
712                                         0 41 0 43 1 0 0 8 17 1 0 0 8 19 2 0 0
713                                         8 20 22 1 0 0 6 15 1 0 0 0 48 2 0 0 0
714                                         0 87 1 0 26 0 37 1 0 38 0 40 2 0 7 0 6
715                                         47 0 2 0 50 2 0 23 0 0 1 2 1 0 0 0 86
716                                         1 1 0 0 53 2 0 0 0 0 60 2 1 0 44 0 1 2
717                                         2 0 73 0 1 2 0 0 0 7 1 2 0 0 7 0 62 2
718                                         0 0 8 0 1)))))
719           '|lookupComplete|))
720