[BACK]Return to over.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097 / debug

Annotation of OpenXM/src/k097/debug/over.sm1, Revision 1.1.1.1

1.1       maekawa     1: /permuteOrderMatrix {
                      2: %% order perm puermuteOrderMatrix newOrder
                      3:   /arg2 set /arg1 set
                      4:   [/order /perm /newOrder /k ] pushVariables
                      5:   [
                      6:     /order arg1 def
                      7:     /perm arg2 def
                      8:     ( Hi0 ) print
                      9:     order transpose /order set
                     10:     ( Hi1 ) print pstack
                     11:     order 1 copy /newOrder set pop
                     12:
                     13:     0 1 << perm length 1 sub >>
                     14:     {
                     15:        /k set
                     16:        newOrder << perm k get >> << order k get >> put
                     17:     } for
                     18:     newOrder transpose /newOrder set
                     19:   ] pop
                     20:   /arg1 newOrder def
                     21:   popVariables
                     22:   arg1
                     23: } def
                     24:
                     25: /elimination_order {
                     26: %% [x-list d-list params]  (x,y,z) elimination_order
                     27: %%  vars                    evars
                     28: %% [x-list d-list params order]
                     29:   /arg2 set  /arg1 set
                     30:   [/vars /evars /univ /order /perm /univ0 /compl] pushVariables
                     31:   /vars arg1 def /evars [arg2 to_records pop] def
                     32:   [
                     33:     /univ vars 0 get reverse
                     34:           vars 1 get reverse join
                     35:     def
                     36:
                     37:     << univ length 2 sub >>
                     38:     << evars length >>
                     39:     eliminationOrderTemplate /order set
                     40:     %%(Hello2 ) print pstack
                     41:
                     42:     [[1]] order oplus [[1]] oplus /order set
                     43:     %%(Hello3 ) print pstack
                     44:
                     45:     /univ0 [univ reverse aload pop pop] reverse def %% [e,x,y,h] --> [x,y,h]
                     46:
                     47:     %%(Hello4 ) print pstack
                     48:     /compl
                     49:       [univ 0 get] evars join evars univ0 complement join
                     50:     def
                     51:     compl univ
                     52:     getPerm /perm set
                     53:     %%perm :: univ :: compl ::
                     54:     (Hello5 ) print pstack
                     55:     order :: perm ::
                     56:     order perm permuteOrderMatrix /order set
                     57:     (Hello6 ) print pstack
                     58:
                     59:
                     60:     vars [order] join /arg1 set
                     61:   ] pop
                     62:   popVariables
                     63:   arg1
                     64: } def
                     65:
                     66: [
                     67: (z0,z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12,z13,z14,z15,z16,z17,z18,z19,z20,z21,z22,z23,z24,z25,z26,z27,z28,z29) ring_of_differential_operators
                     68:  ( ) elimination_order 0]
                     69: define_ring

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>