Changeset e8bf369 in git for Singular/LIB/powers.lib
- Timestamp:
- Jun 26, 2008, 3:17:43 PM (16 years ago)
- Branches:
- (u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
- Children:
- 4bf7611fbd40e148feb7eae45c84e0cfe66f2ad0
- Parents:
- afd7439f041adcaccb208f49d906d263a0ab36c7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/powers.lib
rafd7439 re8bf369 1 1 // version string automatically expanded by CVS 2 version="$Id: powers.lib,v 1. 2 2008-05-29 16:59:32motsak Exp $";2 version="$Id: powers.lib,v 1.3 2008-06-26 13:17:43 motsak Exp $"; 3 3 category="Linear algebra"; 4 4 … … 10 10 11 11 PROCEDURES: 12 SymmetricBasis(int, int) return a basis of a k-th symmetric power13 SymmetricPower(module,int) return k-th symmetric power of a matrix14 15 ExteriorBasis(int, int) return a basis of a k-th exterior power16 ExteriorPower(module,int) return k-th exterior power of a matrix12 symmetricBasis(int, int) return a basis of a k-th symmetric power 13 symmetricPower(module,int) return k-th symmetric power of a matrix 14 15 exteriorBasis(int, int) return a basis of a k-th exterior power 16 exteriorPower(module,int) return k-th exterior power of a matrix 17 17 18 18 "; … … 22 22 LIB "nctools.lib"; // for SuperCommutative 23 23 24 25 24 // thanks to Oleksandr Iena for his persistence ;-) 26 25 27 proc SymmetricBasis(int n, int k)28 "USAGE: SymmetricBasis(n, k); n int, k int26 proc symmetricBasis(int n, int k) 27 "USAGE: symmetricBasis(n, k); n int, k int 29 28 RETURN: ring: the basis of the k-th symmetric power of a n-dim vector space 30 29 NOTE: The output consists of a polynomial ring in n variables, together with the ideal called I. 31 30 The ideal I is the basis of the k-th symmetric power of a n-dim vector space (ordered lexicographically). 32 31 The char. of the returned ring is the same as of current basis ring or zero. 33 SEE ALSO: ExteriorBasis32 SEE ALSO: exteriorBasis 34 33 KEYWORDS: symmetric basis 35 EXAMPLE: example SymmetricBasis; shows an example"34 EXAMPLE: example symmetricBasis; shows an example" 36 35 { 37 36 int p = 0; … … 53 52 { "EXAMPLE:"; echo = 2; 54 53 55 def r = SymmetricBasis(2, 3); setring r; r;54 def r = symmetricBasis(2, 3); setring r; r; 56 55 I; // basis of 3rd sym. power of a 2-dim v.s. 57 56 kill r; 58 57 59 58 ring r = (0),(a, b, c, d), dp; r; 60 def g = SymmetricBasis(3, 2); setring g; g; I;59 def g = symmetricBasis(3, 2); setring g; g; I; 61 60 62 61 kill g, r; 63 62 64 63 ring r = (32003),(a, b, c, d), dp; r; 65 def g = SymmetricBasis(4, 2); setring g; g; I;66 } 67 68 proc ExteriorBasis(int n, int k)69 "USAGE: ExteriorBasis(n, k); n int, k int64 def g = symmetricBasis(4, 2); setring g; g; I; 65 } 66 67 proc exteriorBasis(int n, int k) 68 "USAGE: exteriorBasis(n, k); n int, k int 70 69 RETURN: ring: the basis of the k-th exterior power of a n-dim vector space 71 70 NOTE: The output consists of a polynomial ring in n variables, together with the ideal called I. … … 73 72 The char. of the returned ring is the same as of current basis ring or zero. 74 73 75 SEE ALSO: SymmetricBasis74 SEE ALSO: symmetricBasis 76 75 KEYWORDS: exterior basis 77 EXAMPLE: example ExteriorBasis; shows an example"76 EXAMPLE: example exteriorBasis; shows an example" 78 77 { 79 78 int p = 0; … … 96 95 { "EXAMPLE:"; echo = 2; 97 96 98 def r = ExteriorBasis(2, 3); setring r; r;97 def r = exteriorBasis(2, 3); setring r; r; 99 98 "Basis: ", I; // basis of 3rd sym. power of a 2-dim v.s. 100 99 kill r; 101 100 102 101 ring r = (0),(a, b, c, d), dp; r; 103 def g = ExteriorBasis(3, 2); setring g; g; "Basis: ", I;102 def g = exteriorBasis(3, 2); setring g; g; "Basis: ", I; 104 103 105 104 kill g, r; 106 105 107 106 ring r = (32003),(a, b, c, d), dp; r; 108 def g = ExteriorBasis(4, 2); setring g; g; "Basis: ", I;109 } 110 111 112 113 proc SymmetricPower(module A, int k)114 "USAGE: SymmetricPower(A, k); A module, k int107 def g = exteriorBasis(4, 2); setring g; g; "Basis: ", I; 108 } 109 110 111 112 proc symmetricPower(module A, int k) 113 "USAGE: symmetricPower(A, k); A module, k int 115 114 RETURN: module: the k-th symmetric power of A 116 115 NOTE: the chosen bases (ordered lexicographically) and 117 116 temporary data may be shown if printlevel is big enough 118 SEE ALSO: ExteriorPower117 SEE ALSO: exteriorPower 119 118 KEYWORDS: symmetric power 120 EXAMPLE: example SymmetricPower; shows an example"119 EXAMPLE: example symmetricPower; shows an example" 121 120 { 122 121 int p = printlevel - voice + 2; … … 129 128 130 129 ///////////////////////////////////////////////////////////////// 131 def Tn = SymmetricBasis(N, k); setring Tn;130 def Tn = symmetricBasis(N, k); setring Tn; 132 131 ideal Ink = I; 133 132 dbprint(p-3, "Temporary Source Ring", basering); … … 135 134 136 135 ///////////////////////////////////////////////////////////////// 137 def Tm = SymmetricBasis(M, k); setring Tm;136 def Tm = symmetricBasis(M, k); setring Tm; 138 137 ideal Imk = I; 139 138 dbprint(p-3, "Temporary Image Ring", basering); … … 223 222 module A = a*gen(1), b * gen(1), c*gen(1), d * gen(1); 224 223 225 print( SymmetricPower(A, 2));226 print( SymmetricPower(A, 3));224 print(symmetricPower(A, 2)); 225 print(symmetricPower(A, 3)); 227 226 228 227 module B = a*gen(1) + c* gen(2), b * gen(1) + d * gen(2); 229 228 230 print( SymmetricPower(B, 2));231 print( SymmetricPower(B, 3));229 print(symmetricPower(B, 2)); 230 print(symmetricPower(B, 3)); 232 231 233 232 kill r; … … 236 235 module A = a*gen(1), b * gen(1), c*gen(1), d * gen(1); 237 236 238 print( SymmetricPower(A, 2));239 print( SymmetricPower(A, 3));237 print(symmetricPower(A, 2)); 238 print(symmetricPower(A, 3)); 240 239 241 240 module B = a*gen(1) + c* gen(2), b * gen(1) + d * gen(2); 242 241 243 print( SymmetricPower(B, 2));244 print( SymmetricPower(B, 3));242 print(symmetricPower(B, 2)); 243 print(symmetricPower(B, 3)); 245 244 246 245 kill r; … … 251 250 252 251 253 proc ExteriorPower(module A, int k)254 "USAGE: ExteriorPower(A, k); A module, k int252 proc exteriorPower(module A, int k) 253 "USAGE: exteriorPower(A, k); A module, k int 255 254 RETURN: module: the k-th exterior power of A 256 255 NOTE: the chosen bases and temporary data 257 256 may be shown if printlevel is big enough. 258 257 Last rows may be invisible if zero. 259 SEE ALSO: SymmetricPower258 SEE ALSO: symmetricPower 260 259 KEYWORDS: exterior power 261 EXAMPLE: example ExteriorPower; shows an example"260 EXAMPLE: example exteriorPower; shows an example" 262 261 { 263 262 int p = printlevel - voice + 2; … … 270 269 271 270 ///////////////////////////////////////////////////////////////// 272 def Tn = ExteriorBasis(N, k); setring Tn;271 def Tn = exteriorBasis(N, k); setring Tn; 273 272 ideal Ink = I; 274 273 dbprint(p-3, "Temporary Source Ring", basering); … … 276 275 277 276 ///////////////////////////////////////////////////////////////// 278 def Tm = ExteriorBasis(M, k); setring Tm;277 def Tm = exteriorBasis(M, k); setring Tm; 279 278 ideal Imk = I; 280 279 dbprint(p-3, "Temporary Image Ring", basering); … … 364 363 module A = a*gen(1), b * gen(1), c*gen(1), d * gen(1); 365 364 366 print( ExteriorPower(A, 2));367 print( ExteriorPower(A, 3));365 print(exteriorPower(A, 2)); 366 print(exteriorPower(A, 3)); 368 367 369 368 module B = a*gen(1) + c* gen(2), b * gen(1) + d * gen(2); 370 369 371 print( ExteriorPower(B, 2));372 print( ExteriorPower(B, 3));370 print(exteriorPower(B, 2)); 371 print(exteriorPower(B, 3)); 373 372 374 373 kill r; … … 377 376 module A = a*gen(1), b * gen(1), c*gen(1), d * gen(1); 378 377 379 print( ExteriorPower(A, 2));380 print( ExteriorPower(A, 3));378 print(exteriorPower(A, 2)); 379 print(exteriorPower(A, 3)); 381 380 382 381 module B = a*gen(1) + c* gen(2), b * gen(1) + d * gen(2); 383 382 384 print( ExteriorPower(B, 2));385 print( ExteriorPower(B, 3));383 print(exteriorPower(B, 2)); 384 print(exteriorPower(B, 3)); 386 385 387 386 kill r;
Note: See TracChangeset
for help on using the changeset viewer.