Annotation of OpenXM/src/kan96xx/Doc/cv0.sm1, Revision 1.1.1.1
1.1 maekawa 1:
2: /example1 {
3: [(x,y,a,b,c,d) %% change here
4: ring_of_differential_operators
5: (Dx,Dy) %% change here
6: elimination_order 0] swap01 define_ring
7:
8: [[(x*Dx-a). (-b).] [(-c). ((x-1)*Dx-d).] [(Dy). (0).] [(0). (Dy).]] %% give equations
9: /ff set
10: ff { { [[$h$. $1$.]] replace } map } map /ff set
11: /ff ff homogenize def
12: [ff] groebner /ans set
13: ans 0 get {[[$h$. $1$.]] replace} map /gg set
14: (Now, you get the characteristic variety) message
15: (When your result is given as [I_1 I_2 ...], ) message
16: (the characteristic variety is V(I_1) \cup V(I_2) \cup ... ) message
17: gg characteristic-v print ( ) message ( ) message
18: } def
19:
20:
21: /characteristic-v {
22: /arg1 set
23: [/gb /lps /i /n /ans /maxp /ansp /k] pushVariables
24: [ /gb arg1 def
25: /ans [ ] def
26: /maxp 0 def
27: /lps gb {lpoint} map def
28: 0 1 << lps length 1 sub >>
29: {
30: /i set
31: lps i get maxp gt
32: { /maxp lps i get def }
33: { }
34: ifelse
35: } for
36:
37: %%lps print
38: /ans [
39: 0 1 maxp { pop [ ] } for
40: ] def
41:
42: gb toVectors /gb set
43:
44: 0 1 << lps length 1 sub >>
45: {
46: /i set /k lps i get def
47: /ansp ans k get def
48: << gb i get >> k get principal /f set
49: /ansp ansp [f] join def
50: ans k ansp put
51: } for
52:
53: /arg1 ans def
54: ] pop
55: popVariables
56: arg1
57: } def
58:
59: %%%%%%%%%%%%%%%%%%%%%%%%%%
60:
61:
62: ( ) message
63: (cv0.sm1 11/10, 1994. This program computes characteristic varieties.) message
64: (Type in example1 ; for a demo.) message
65:
66:
67:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>