Changeset 7687d1f in git
- Timestamp:
- Mar 12, 2018, 2:09:33 PM (5 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a657104b677b4c461d018cbf3204d72d34ad66a9')
- Children:
- 9db8343e5043f1916262be4000d0b798d2cf2b8c
- Parents:
- d0a636833da147bea367c9ea4d6492e3e3812d2d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/fpalgebras.lib
rd0a6368 r7687d1f 43 43 LIB "general.lib"; 44 44 //////////////////////////////////////////////////////////////////// 45 46 //////////////////////////////////////////////////////////////////// 47 // Simple Algebras ///////////////////////////////////////////////// 48 //////////////////////////////////////////////////////////////////// 49 50 proc simpleAlgebra(string a, int d) // TODO name 51 "USAGE: simpleAlgebra(a,d); a a string, d an integer 52 RETURN: ring 53 NOTE: - the ring contains the ideal I, which contains the required relations 54 @* - a gives the name of the algebra 55 @* - d gives the degreebound for the Letterplace ring 56 @* 57 @* a must be one of the following: 58 @* integrodiff3 59 @* toeplitz 60 @* weyl1 61 @* usl2 62 @* usl2h 63 @* shift1inverse 64 @* exterior2 65 @* quadrowmm 66 @* shift1 67 @* weyl1inverse 68 @* 69 " 70 { 71 if (d < 2) { 72 ERROR("Degbound d is too small. Must be at least 2."); 73 } 74 int baseringdef; 75 if (defined(basering)) // if a basering is defined, it should be saved for later use 76 { 77 def save = basering; 78 baseringdef = 1; 79 } 80 81 if (a == "integrodiff3") { 82 ring r = 0,(d,I,x),dp; 83 def R = makeLetterplaceRing(d); 84 setring(R); 85 ideal I = d(1)*x(2)-x(1)*d(2)-1, 86 I(1)*x(2)-x(1)*I(2)+I(1)*I(2), 87 d(1)*I(2)-1; 88 } 89 if (a == "toeplitz") { 90 ring r = 0,(y,x),dp; 91 def R = makeLetterplaceRing(d); 92 setring(R); 93 ideal I = y(1)*x(2)-1; 94 } 95 if (a == "weyl1") { 96 ring r = 0,(d,x),dp; 97 def R = makeLetterplaceRing(d); 98 setring(R); 99 ideal I = d(1)*x(2)-x(1)*d(2)-1; 100 } 101 if (a == "usl2") { 102 ring r = 0,(h,f,e),dp; 103 def R = makeLetterplaceRing(d); 104 setring(R); 105 ideal I = f(1)*e(2)-e(1)*f(2)+h(1), 106 h(1)*e(2)-e(1)*h(2)-2*e(1), 107 h(1)*f(2)-f(1)*h(2)+2*f(1); 108 } 109 if (a == "usl2h") { 110 ring r = 0,(H,h,f,e),dp; 111 def R = makeLetterplaceRing(d); 112 setring(R); 113 ideal I = f(1)*e(2)-e(1)*f(2)+h(1)*H(2), 114 h(1)*e(2)-e(1)*h(2)-2*e(1)*H(2), 115 h(1)*f(2)-f(1)*h(2)+2*f(1)*H(2), 116 f(1)*H(2)-H(1)*f(2), 117 e(1)*H(2)-H(1)*e(2), 118 h(1)*H(2)-H(1)*h(2); 119 } 120 if (a == "shift1inverse") { 121 ring r = 0,(d,x,t),dp; 122 def R = makeLetterplaceRing(d); 123 setring(R); 124 ideal I = d(1)*x(2)-x(1)*d(2)-d(1), 125 t(1)*x(2)-1, 126 x(1)*t(2)-1; 127 } 128 if (a == "exterior2") { 129 ring r = 0,(y,x),dp; 130 def R = makeLetterplaceRing(d); 131 setring(R); 132 ideal I = y(1)*x(2)+x(1)*y(2), 133 x(1)*x(2), 134 y(1)*y(2); 135 } 136 if (a == "quadrowmm") { 137 ring r = 0,(y,x),dp; 138 def R = makeLetterplaceRing(d); 139 setring(R); 140 ideal I = y(1)*x(2)-x(1)*y(2), 141 x(1)*x(2), 142 y(1)*y(2); 143 } 144 if (a == "shift1") { 145 ring r = 0,(s,x),dp; 146 def R = makeLetterplaceRing(d); 147 setring(R); 148 ideal I = s(1)*x(2)-x(1)*s(2)-s(1); 149 } 150 if (a == "weyl1inverse") { 151 ring r = 0,(d,x,t),dp; 152 def R = makeLetterplaceRing(d); 153 setring(R); 154 ideal I = d(1)*x(2)-x(1)*d(2)-1, 155 t(1)*x(2)-1, 156 x(1)*t(2)-1; 157 } 158 159 if (!defined(I)) { 160 ERROR("Illegal argument for algebra"); 161 } 162 163 export(I); 164 if (baseringdef == 1) {setring save;} 165 return(R); 166 } 45 167 46 168 ////////////////////////////////////////////////////////////////////
Note: See TracChangeset
for help on using the changeset viewer.