Changeset d41540 in git
- Timestamp:
- Apr 9, 2009, 2:04:42 PM (14 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
- Children:
- 360d44ebd8adf880d631138132cbbbbb75737c6a
- Parents:
- ad711e62aa4616b2021988701854eaa06e60a109
- Location:
- Singular/LIB
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/dmod.lib
rad711e6 rd41540 1 1 ////////////////////////////////////////////////////////////////////////////// 2 version="$Id: dmod.lib,v 1.3 8 2009-04-08 16:51:07seelisch Exp $";2 version="$Id: dmod.lib,v 1.39 2009-04-09 12:04:41 seelisch Exp $"; 3 3 category="Noncommutative"; 4 4 info=" … … 89 89 convloc(L); replace global orderings with local in the ringlist L 90 90 minIntRoot(P,fact); minimal integer root among the roots of a maximal ideal P 91 var num(s); the number of the variable with the name s91 varNum(s); the number of the variable with the name s 92 92 isRational(n); check whether n is a rational number 93 93 … … 387 387 RETURN: ring 388 388 PURPOSE: compute the D-module structure of basering[1/f]*f^s 389 NOTE: activate th isring with the @code{setring} command.389 NOTE: activate the output ring with the @code{setring} command. 390 390 @* In the output ring D[s], the ideal LD1 is generated by the elements 391 391 @* in Ann F^s in D[s], coming from logarithmic derivations. … … 538 538 PURPOSE: compute the annihilator ideal of f^s in D[s], where D is the Weyl 539 539 @* algebra, according to the algorithm by Briancon and Maisonobe 540 NOTE: Activate thisring with the @code{setring} command. In this ring,540 NOTE: activate the output ring with the @code{setring} command. In this ring, 541 541 @* - the ideal LD is the annihilator of f^s. 542 542 @* If eng <>0, @code{std} is used for Groebner basis computations, … … 955 955 PURPOSE: compute the D-module structure of basering[1/f]*f^s, according 956 956 @* to the algorithm by Briancon and Maisonobe 957 NOTE: activate th isring with the @code{setring} command. In this ring,957 NOTE: activate the output ring with the @code{setring} command. In this ring, 958 958 @* - the ideal LD (which is a Groebner basis) is the needed D-module structure, 959 959 @* which is obtained by substituting the minimal integer root of a Bernstein … … 1252 1252 RETURN: ring 1253 1253 PURPOSE: compute the annihilator ideal of f^s in the Weyl Algebra, 1254 @* based on the output of Sannfs-like procedure 1255 NOTE: Activate this ring with the @code{setring} command. In this ring, 1254 @* based on the output of Sannfs-like procedure 1255 @* annfs2 uses shorter expressions in the variable s (the idea of Noro). 1256 NOTE: activate the output ring with the @code{setring} command. In this ring, 1256 1257 @* - the ideal LD (which is a Groebner basis) is the annihilator of f^s, 1257 1258 @* - the list BS contains the roots with multiplicities of the BS polynomial. 1258 1259 @* If eng <>0, @code{std} is used for Groebner basis computations, 1259 1260 @* otherwise and by default @code{slimgb} is used. 1260 @* annfs2 uses shorter expressions in the variable s (the idea of Noro).1261 1261 DISPLAY: If @code{printlevel}=1, progress debug messages will be printed, 1262 1262 @* if @code{printlevel}>=2, all the debug messages will be printed. … … 1414 1414 PURPOSE: compute the annihilator ideal of f^s in the Weyl Algebra, 1415 1415 @* based on the output of Sannfs like procedure 1416 NOTE: activate th isring with the @code{setring} command. In this ring,1416 NOTE: activate the output ring with the @code{setring} command. In this ring, 1417 1417 @* - the ideal LD (which is a Groebner basis) is the annihilator of f^s, 1418 1418 @* - the list BS contains the roots with multiplicities of a Bernstein polynomial of f. … … 1997 1997 PURPOSE: compute the generic Ann F^s and exceptional parametric constellations 1998 1998 @* of a polynomial with parametric coefficients with the BM algorithm 1999 NOTE: activate th isring with the @code{setring} command. In this ring,1999 NOTE: activate the output ring with the @code{setring} command. In this ring, 2000 2000 @* - the ideal LD is the D-module structure oa Ann F^s 2001 @* - the ideal Param contains the list of the special parameters.2001 @* - the ideal Param contains special parameters as entries 2002 2002 @* If eng <>0, @code{std} is used for Groebner basis computations, 2003 2003 @* otherwise, and by default @code{slimgb} is used. … … 2240 2240 PURPOSE: compute the D-module structure of basering[1/f]*f^s where 2241 2241 @* f = F[1]*..*F[P], according to the algorithm by Briancon and Maisonobe. 2242 NOTE: activate th isring with the @code{setring} command. In this ring,2242 NOTE: activate the output ring with the @code{setring} command. In this ring, 2243 2243 @* - the ideal LD is the needed D-mod structure, 2244 2244 @* - the list BS is the Bernstein ideal of a polynomial f = F[1]*..*F[P]. … … 2569 2569 PURPOSE: compute the D-module structure of basering[1/f]*f^s, 2570 2570 @* according to the algorithm by Oaku and Takayama 2571 NOTE: activate th isring with the @code{setring} command. In this ring,2571 NOTE: activate the output ring with the @code{setring} command. In this ring, 2572 2572 @* - the ideal LD (which is a Groebner basis) is the needed D-module structure, 2573 2573 @* which is obtained by substituting the minimal integer root of a Bernstein … … 2951 2951 PURPOSE: compute the D-module structure of basering[1/f]*f^s, according to the 2952 2952 @* 1st step of the algorithm by Oaku and Takayama in the ring D[s] 2953 NOTE: activate th isring with the @code{setring} command.2953 NOTE: activate the output ring with the @code{setring} command. 2954 2954 @* In the output ring D[s], the ideal LD (which is NOT a Groebner basis) 2955 2955 @* is the needed D-module structure. … … 3235 3235 PURPOSE: compute the D-module structure of basering[1/f]*f^s, according to the 3236 3236 @* 1st step of the algorithm by Briancon and Maisonobe in the ring D[s]. 3237 NOTE: Activate thisring with the @code{setring} command.3237 NOTE: activate the output ring with the @code{setring} command. 3238 3238 @* In the output ring D[s], the ideal LD (which is NOT a Groebner basis) is 3239 3239 @* the needed D-module structure. … … 3441 3441 RETURN: ring 3442 3442 PURPOSE: compute Ann f^s and Groebner basis of Ann f^s+f in D[s] 3443 NOTE: activate th isring with the @code{setring} command.3443 NOTE: activate the output ring with the @code{setring} command. 3444 3444 @* This procedure, unlike SannfsBM, returns a ring with the degrevlex 3445 3445 @* ordering in all variables. 3446 @* In the ring D[s], the ideal LD (which IS a Groebner basis) is the needed ideal.3446 @* In the ring D[s], the ideal LD is the ideal needed (which is returned as a Groebner basis). 3447 3447 @* If eng <>0, @code{std} is used for Groebner basis computations, 3448 3448 @* otherwise, and by default @code{slimgb} is used. … … 3638 3638 // Are there polynomials, depending on @s only? 3639 3639 nselect(LD,v); 3640 // It is not the case. Are there leading monomials in @s only?3640 // It is not the case. Are there leading terms in @s only? 3641 3641 nselect(lead(LD),v); 3642 3642 } … … 3647 3647 RETURN: ring 3648 3648 PURPOSE: compute Ann f^s and Groebner basis of Ann f^s+f in D[s] 3649 NOTE: activate th isring with the @code{setring} command.3649 NOTE: activate the output ring with the @code{setring} command. 3650 3650 @* This procedure, unlike SannfsBM, returns a ring with the degrevlex 3651 3651 @* ordering in all variables. … … 3871 3871 PURPOSE: compute the D-module structure of basering[1/f]*f^s, according to the 3872 3872 @* Levandovskyy's modification of the algorithm by Oaku and Takayama in D[s] 3873 NOTE: activate th isring with the @code{setring} command.3873 NOTE: activate the output ring with the @code{setring} command. 3874 3874 @* In the ring D[s], the ideal LD (which is NOT a Groebner basis) is 3875 3875 @* the needed D-module structure. … … 4102 4102 RETURN: ring 4103 4103 PURPOSE: compute the D-module structure of basering[1/f]*f^s, according to the Levandovskyy's modification of the algorithm by Oaku and Takayama in the ring D[s], where D is the Weyl algebra 4104 NOTE: activate th isring with the @code{setring} command.4104 NOTE: activate the output ring with the @code{setring} command. 4105 4105 @* In the ring D[s], the ideal LD (which is NOT a Groebner basis) is the needed D-module structure. 4106 4106 @* If eng <>0, @code{std} is used for Groebner basis computations, … … 4328 4328 PURPOSE: compute the D-module structure of basering[1/f]*f^s, according to 4329 4329 @* the Levandovskyy's modification of the algorithm by Oaku and Takayama 4330 NOTE: activate th isring with the @code{setring} command. In this ring,4330 NOTE: activate the output ring with the @code{setring} command. In this ring, 4331 4331 @* - the ideal LD (which is a Groebner basis) is the needed D-module structure, 4332 4332 @* which is obtained by substituting the minimal integer root of a Bernstein … … 4373 4373 PURPOSE: compute the annihilator ideal of f^s in the Weyl Algebra, based 4374 4374 @* on the output of Sannfs-like procedure 4375 NOTE: activate th isring with the @code{setring} command. In this ring,4375 NOTE: activate the output ring with the @code{setring} command. In this ring, 4376 4376 @* - the ideal LD (which is a Groebner basis) is the annihilator of f^s, 4377 4377 @* - the list BS contains the roots with multiplicities of BS polynomial of f. … … 4527 4527 // RETURN: ring 4528 4528 // PURPOSE: compute the D-module structure of basering[1/f]*f^s 4529 // NOTE: activate th isring with the @code{setring} command. In this ring,4529 // NOTE: activate the output ring with the @code{setring} command. In this ring, 4530 4530 // @* - the ideal LD is the needed D-mod structure, 4531 4531 // @* - the ideal BS is the list of roots of a Bernstein polynomial of f. … … 4815 4815 RETURN: list 4816 4816 PURPOSE: convert a ringlist L into another ringlist, 4817 @* where all the 'p' orderings are replaced with the 's' orderings .4817 @* where all the 'p' orderings are replaced with the 's' orderings, e.g. @code{dp} by @code{ds}. 4818 4818 ASSUME: L is a result of a ringlist command 4819 4819 EXAMPLE: example convloc; shows examples … … 4881 4881 int ppl = printlevel-voice+2; 4882 4882 // int mir = minIntRoot(L[1],0); 4883 int ns = var num("s");4883 int ns = varNum("s"); 4884 4884 if (!ns) 4885 4885 { … … 5017 5017 poly f1 = x*y*(x+y); 5018 5018 ideal I1 = bernstein(f1)[1]; // a local Bernstein poly 5019 I1; 5019 5020 minIntRoot(I1,0); 5020 5021 poly f2 = x2-y3; 5021 5022 ideal I2 = bernstein(f2)[1]; 5023 I2; 5022 5024 minIntRoot(I2,0); 5023 5025 // now we illustrate the behaviour of factorize … … 5026 5028 poly f3 = 9*(x+2/3)*(x+1)*(x+4/3); //global b-poly of f1=x*y*(x+y) 5027 5029 ideal I3 = factorize(f3,1); 5030 I3; 5028 5031 minIntRoot(I3,1); 5029 5032 // and a more interesting situation … … 5031 5034 poly f = x3 + y3 + z3; 5032 5035 ideal I = bernstein(f)[1]; 5036 I; 5033 5037 minIntRoot(I,0); 5034 5038 } … … 5036 5040 proc isHolonomic(def M) 5037 5041 "USAGE: isHolonomic(M); M an ideal/module/matrix 5038 RETURN: int, 1 if M is holonomic and 0 otherwise5042 RETURN: int, 1 if M is holonomic over the base ring, and 0 otherwise 5039 5043 ASSUME: basering is a Weyl algebra in characteristic 0 5040 PURPOSE: check the modules for the property of holonomy5041 NOTE: M is holonomic , if 2*dim(M) = dim(R), where R is a5042 groundring; dim stays for Gelfand-Kirillov dimension5044 PURPOSE: check whether M is holonomic over the base ring 5045 NOTE: M is holonomic if 2*dim(M) = dim(R), where R is the 5046 base ring; dim stays for Gelfand-Kirillov dimension 5043 5047 EXAMPLE: example isHolonomic; shows examples 5044 5048 " … … 5084 5088 RETURN: ring 5085 5089 PURPOSE: set up the polynomial, describing a Reiffen curve 5086 NOTE: activate th is ring with the @code{setring} command and5090 NOTE: activate the output ring with the @code{setring} command and 5087 5091 @* find the curve as a polynomial RC. 5088 @* A Reiffen curve is defined as F= x^p + y^q + xy^{q-1}, q >= p+1 >= 55092 @* A Reiffen curve is defined as RC = x^p + y^q + xy^{q-1}, q >= p+1 >= 5 5089 5093 5090 5094 EXAMPLE: example reiffen; shows examples … … 5187 5191 "USAGE: checkRoot(f,alpha [,S,eng]); poly f, number alpha, string S, int eng 5188 5192 RETURN: int 5189 ASSUME: Basering is commutative ring, alpha is a rational number.5193 ASSUME: Basering is a commutative ring, alpha is a rational number. 5190 5194 PURPOSE: check whether a rational number alpha is a root of the global 5191 5195 @* Bernstein-Sato polynomial of f and compute its multiplicity, … … 5195 5199 @* 'alg1' (default) - for the algorithm 1 of [LM08] 5196 5200 @* 'alg2' - for the algorithm 2 of [LM08] 5197 @* The output of type int is:5201 @* Depending on the value of S, the output of type int is: 5198 5202 @* 'alg1': 1 only if -alpha is a root of the global Bernstein-Sato polynomial 5199 5203 @* 'alg2': the multiplicity of -alpha as a root of the global Bernstein-Sato … … 5304 5308 ASSUME: Basering is D[s], I is the annihilator of f^s in D[s], 5305 5309 @* that is basering and I are the output of Sannfs-like procedure, 5306 @* f is a polynomial in K[ _x] and alpha is a rational number.5310 @* f is a polynomial in K[x] and alpha is a rational number. 5307 5311 RETURN: int, 1 if -alpha is a root of the Bernstein-Sato polynomial of f 5308 5312 PURPOSE: check, whether alpha is a root of the global Bernstein-Sato polynomial of f … … 5659 5663 } 5660 5664 5661 proc var num(string s)5662 "USAGE: var num(s); string s5665 proc varNum(string s) 5666 "USAGE: varNum(s); string s 5663 5667 RETURN: int 5664 5668 PURPOSE: returns the number of the variable with the name s 5665 5669 @* among the variables of basering or 0 if there is no such variable 5666 EXAMPLE: example var num; shows examples5670 EXAMPLE: example varNum; shows examples 5667 5671 " 5668 5672 { … … 5680 5684 { 5681 5685 "EXAMPLE:"; echo = 2; 5682 ring X = 0,(x,y1, z(0),tTa),dp;5683 var num("z(0)");5684 var num("tTa");5685 var num("xyz");5686 ring X = 0,(x,y1,t,z(0),z,tTa),dp; 5687 varNum("z"); 5688 varNum("t"); 5689 varNum("xyz"); 5686 5690 } 5687 5691 -
Singular/LIB/dmodapp.lib
rad711e6 rd41540 1 1 ////////////////////////////////////////////////////////////////////////////// 2 version="$Id: dmodapp.lib,v 1.2 5 2009-03-11 09:43:29 SingularExp $";2 version="$Id: dmodapp.lib,v 1.26 2009-04-09 12:04:41 seelisch Exp $"; 3 3 category="Noncommutative"; 4 4 info=" … … 16 16 @* cyclic modules. The procedures for the localization are DLoc,SDLoc and DLoc0. 17 17 @* 18 @* - annihilator in Weyl algebra of a given polynomial F from R as well as18 @* - annihilator in D of a given polynomial F from R as well as 19 19 @* of a given rational function G/F from Quot(R). These can be computed via 20 20 @* procedures annPoly resp. annRat. … … 960 960 "USAGE: annRat(g,f); f, g polynomials 961 961 RETURN: ring 962 PURPOSE: compute the annihilator of the rational function g/f in Weyl algebra962 PURPOSE: compute the annihilator of the rational function g/f in the Weyl algebra D 963 963 NOTE: activate the output ring with the @code{setring} command. 964 964 @* In the output ring, the ideal LD (in Groebner basis) is the annihilator. … … 1095 1095 "USAGE: annPoly(f); f a poly 1096 1096 RETURN: ring 1097 PURPOSE: compute the complete annihilator ideal of f in Weyl algebra1097 PURPOSE: compute the complete annihilator ideal of f in the Weyl algebra D 1098 1098 NOTE: activate the output ring with the @code{setring} command. 1099 1099 @* In the output ring, the ideal LD (in Groebner basis) is the annihilator. … … 1280 1280 "USAGE: insertGenerator(id,p[,k]); id an ideal/module, p a poly/vector, k an optional int 1281 1281 RETURN: same as id 1282 PURPOSE: insert an element into an ideal or a module1282 PURPOSE: inserts p into the first argument at k-th index position and returns the enlarged object 1283 1283 NOTE: If k is given, p is inserted at position k, otherwise (and by default), 1284 1284 @* p is inserted at the beginning. … … 1357 1357 "USAGE: deleteGenerator(id,k); id an ideal/module, k an int 1358 1358 RETURN: same as id 1359 PURPOSE: deletes the k-th element from an ideal or a module1359 PURPOSE: deletes the k-th generator from the first argument and returns the altered object 1360 1360 EXAMPLE: example insertGenerator; shows examples 1361 1361 " … … 1797 1797 "USAGE: bFactor(f); f poly 1798 1798 RETURN: list 1799 PURPOSE: computes the roots of irreducible factors of an univariate poly1799 PURPOSE: tries to compute the roots of a univariate poly f 1800 1800 NOTE: The output list consists of two or three entries: 1801 @* the roots of f asideal, their multiplicities as intvec, and,1801 @* roots of f as an ideal, their multiplicities as intvec, and, 1802 1802 @* if present, a third one being the product of all irreducible factors 1803 1803 @* of degree greater than one, given as string. -
Singular/LIB/freegb.lib
rad711e6 rd41540 1 1 ////////////////////////////////////////////////////////////////////////////// 2 version="$Id: freegb.lib,v 1.2 0 2009-04-08 11:11:20 SingularExp $";2 version="$Id: freegb.lib,v 1.21 2009-04-09 12:04:41 seelisch Exp $"; 3 3 category="Noncommutative"; 4 4 info=" 5 LIBRARY: freegb.lib Twosided Noncommutative Groebner bases in Free Algebras via Letterplace5 LIBRARY: freegb.lib Compute two-sided Groebner bases in free algebras via letterplace 6 6 AUTHOR: Viktor Levandovskyy, levandov@math.rwth-aachen.de 7 7 … … 58 58 "USAGE: setLetterplaceAttributes(R, d, b); R a ring, b,d integers 59 59 RETURN: ring with special attributes set 60 PURPOSE: sets attributes for a letterplace ring: 60 PURPOSE: sets attributes for a letterplace ring: 61 61 @* 'isLetterplaceRing' = true, 'uptodeg' = d, 'lV' = b, where 62 62 @* 'uptodeg' stands for the degree bound, 63 63 @* 'lV' for the number of variables in the block 0. 64 NOTE: Activate the resulting ring by using @code{setring} 64 65 " 65 66 { … … 475 476 PURPOSE: compute the two-sided Groebner basis of an ideal, encoded by L in 476 477 the free associative algebra, up to degree d 478 NOTE: Apply @code{lst2str} to the output in order to obtain a human-readable 479 representation 477 480 EXAMPLE: example freeGBasis; shows examples 478 481 " … … 2221 2224 2222 2225 proc lp2lstr(ideal K, def save) 2223 "USAGE: lp2lstr(K,s); K an ideal, s a ring 2224 RETURN: nothing (exports object @LN into s)2226 "USAGE: lp2lstr(K,s); K an ideal, s a ring name 2227 RETURN: nothing (exports object @LN into the ring named s) 2225 2228 ASSUME: basering has a letterplace ring structure 2226 2229 PURPOSE: converts letterplace ideal to list of modules … … 2507 2510 "EXAMPLE:"; echo = 2; 2508 2511 // define a ring in letterplace form as follows: 2509 ring r = 0,(x(1),y(1),x(2),y(2),x(3),y(3),x(4),y(4)),dp; 2510 poly a = x(1)*y(2); poly b = y(1); 2512 ring r = 0,(x(1),y(1),x(2),y(2),x(3),y(3),x(4),y(4)),dp; 2511 2513 def R = setLetterplaceAttributes(r,4,2); // supply R with letterplace structure 2512 2514 setring R; 2515 poly a = x(1)*y(2); poly b = y(1); 2513 2516 lpMult(b,a); 2514 2517 lpMult(a,b); -
Singular/LIB/gkdim.lib
rad711e6 rd41540 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: gkdim.lib,v 1.1 1 2007-11-28 16:36:45 motsakExp $";2 version="$Id: gkdim.lib,v 1.12 2009-04-09 12:04:41 seelisch Exp $"; 3 3 category="Noncommutative"; 4 4 info=" 5 LIBRARY: GKdim.lib Procedures for calculating the Gelfand-Kirillov dimension5 LIBRARY: gkdim.lib Procedures for calculating the Gelfand-Kirillov dimension 6 6 AUTHORS: Lobillo, F.J., jlobillo@ugr.es 7 7 @* Rabelo, C., crabelo@ugr.es … … 15 15 /////////////////////////////////////////////////////////////////////////////////// 16 16 static proc idGKdim(ideal I) 17 "USAGE: GKdim(I), I is a left ideal17 "USAGE: idGKdim(I), I is a left ideal 18 18 RETURN: int, the Gelfand-Kirillov dimension of the R/I 19 19 NOTE: uses the dim procedure, if the factor-module is zero, -1 is returned … … 48 48 "USAGE: GKdim(L); L is a left ideal/module/matrix 49 49 RETURN: int 50 PURPOSE: compute the Gelfand-Kirillov dimension of the factor-module, whose presentation is given by L 50 PURPOSE: compute the Gelfand-Kirillov dimension of the factor-module, whose presentation is given by L, e.g. R^r/L 51 51 NOTE: if the factor-module is zero, -1 is returned 52 52 EXAMPLE: example GKdim; shows examples … … 118 118 ideal B = 1; 119 119 GKdim(B); 120 GKdim(0) == nvars(basering); // should be true, i.e., evaluated to 1 120 121 } 121 122 /////////////////////////////////////////////////////////////////////////////// -
Singular/LIB/involut.lib
rad711e6 rd41540 1 version="$Id: involut.lib,v 1.1 5 2007-12-18 11:18:36 SingularExp $";1 version="$Id: involut.lib,v 1.16 2009-04-09 12:04:41 seelisch Exp $"; 2 2 category="Noncommutative"; 3 3 info=" 4 LIBRARY: involut.lib Procedures for Computations and Operations with Involutions4 LIBRARY: involut.lib Computations and operations with involutions 5 5 AUTHORS: Oleksandr Iena, yena@mathematik.uni-kl.de, 6 6 @* Markus Becker, mbecker@mathematik.uni-kl.de, 7 7 @* Viktor Levandovskyy, levandov@mathematik.uni-kl.de 8 8 9 THEORY: Involution is an anti isomorphism of a noncommutative algebra with the9 THEORY: Involution is an anti-isomorphism of a noncommutative algebra with the 10 10 property that applied an involution twice, one gets an identity. Involution is linear with respect to the ground field. In this library we compute linear involutions, distinguishing the case of a diagonal matrix (such involutions are called homothetic) and a general one. 11 11 … … 14 14 15 15 NOTE: This library provides algebraic tools for computations and operations 16 with algebraic involutions and linear automorphisms of non commutative algebras16 with algebraic involutions and linear automorphisms of non-commutative algebras 17 17 18 18 PROCEDURES: … … 32 32 RETURN: ideal, representing an involution map 33 33 PURPOSE: compute classical involutions (i.e. acting rather on operators than on variables) for some particular noncommutative algebras 34 ASSUME: the procedure is aimed at noncommutative algebras with differential, shift or advance operators arising in Control Theory. It has to be executed in the ring. 34 ASSUME: the procedure is aimed at non-commutative algebras with differential, shift or advance operators arising in Control Theory. 35 It has to be executed in a ring. 35 36 EXAMPLE: example ncdetection; shows an example 36 37 "{ … … 165 166 D[1,4]=1; D[2,5]=1; D[3,6]=1; 166 167 def r = nc_algebra(1,D); setring r; 168 map F = r; 167 169 ncdetection(); 170 F; // F(F) should be maxideal(1) 168 171 kill r, R; 169 172 //---------------------------------------- 170 173 ring R=0,(x,S),dp; 171 174 def r = nc_algebra(1,-S); setring r; 175 map F = r; 172 176 ncdetection(); 177 F; // F(F) should be maxideal(1) 173 178 kill r, R; 174 179 //---------------------------------------- … … 177 182 D[1,2]=1; D[1,3]=-S; 178 183 def r = nc_algebra(1,D); setring r; 184 map F = r; 179 185 ncdetection(); 186 F; // F(F) should be maxideal(1) 180 187 } 181 188 … … 280 287 PURPOSE: applies the involution, presented by theta to the object m 281 288 THEORY: for an involution theta and two polynomials a,b from the algebra, theta(ab) = theta(b) theta(a); theta is linear with respect to the ground field 289 NOTE: This is generalized ''theta(m)'' for data types unsupported by ''map''. 282 290 EXAMPLE: example involution; shows an example 283 291 "{ … … 342 350 def r = nc_algebra(1,1); setring r; // Weyl-Algebra 343 351 map F = r,x,-d; 352 F(F); // should be maxideal(1) for an involution 344 353 poly f = x*d^2+d; 345 354 poly If = involution(f,F); … … 420 429 "USAGE: findInvo(); 421 430 RETURN: a ring containing a list L of pairs, where 422 @* L[i][1] = Groebner Basis of an i-th associated prime,431 @* L[i][1] = ideal; a Groebner Basis of an i-th associated prime, 423 432 @* L[i][2] = matrix, defining a linear map, with entries, reduced with respect to L[i][1] 424 433 PURPOSE: computed the ideal of linear involutions of the basering … … 537 546 def a = makeWeyl(1); 538 547 setring a; // this algebra is a first Weyl algebra 548 a; 539 549 def X = findInvo(); 540 550 setring X; // ring with new variables, corr. to unknown coefficients 551 X; 541 552 L; 542 553 // look at the matrix in the new variables, defining the linear involution 543 554 print(L[1][2]); 544 555 L[1][1]; // where new variables obey these relations 556 idJ; 545 557 } 546 558 /////////////////////////////////////////////////////////////////////////// … … 548 560 "USAGE: findInvoDiag(); 549 561 RETURN: a ring together with a list of pairs L, where 550 @* L[i][1] = Groebner Basis of an i-th associated prime,562 @* L[i][1] = ideal; a Groebner Basis of an i-th associated prime, 551 563 @* L[i][2] = matrix, defining a linear map, with entries, reduced with respect to L[i][1] 552 PURPOSE: compute the ideal ofhomothetic (diagonal) involutions of the basering564 PURPOSE: compute homothetic (diagonal) involutions of the basering 553 565 NOTE: for convenience, the full ideal of relations @code{idJ} 554 566 and the initial matrix with indeterminates @code{matD} are exported in the output ring … … 665 677 def a = makeWeyl(1); 666 678 setring a; // this algebra is a first Weyl algebra 679 a; 667 680 def X = findInvoDiag(); 668 681 setring X; // ring with new variables, corresponding to unknown coefficients 682 X; 669 683 // print matrices, defining linear involutions 670 684 print(L[1][2]); // a first matrix: we see it is constant 671 685 print(L[2][2]); // and a second possible matrix; it is constant too 672 686 L; // let us take a look on the whole list 687 idJ; 673 688 } 674 689 ///////////////////////////////////////////////////////////////////// … … 676 691 "USAGE: findAuto(n); n an integer 677 692 RETURN: a ring together with a list of pairs L, where 678 @* L[i][1] = Groebner Basis of an i-th associated prime,693 @* L[i][1] = ideal; a Groebner Basis of an i-th associated prime, 679 694 @* L[i][2] = matrix, defining a linear map, with entries, reduced with respect to L[i][1] 680 PURPOSE: compute sthe ideal of linear automorphisms of the basering, given by a matrix, n-th power of which gives identity (i.e. unipotent matrix)695 PURPOSE: compute the ideal of linear automorphisms of the basering, given by a matrix, n-th power of which gives identity (i.e. unipotent matrix) 681 696 NOTE: if n=0, a matrix, defining an automorphism is not assumed to be unipotent but just non-degenerate. A nonzero parameter @code{@@p} is introduced as the value of the determinant of the matrix above. 682 697 @* For convenience, the full ideal of relations @code{idJ} and the initial matrix with indeterminates @code{matD} are mutually exported in the output ring … … 810 825 def a = makeWeyl(1); 811 826 setring a; // this algebra is a first Weyl algebra 812 def X = findAuto(2); 827 a; 828 def X = findAuto(2); // in contrast to findInvo look for automorphisms 813 829 setring X; // ring with new variables - unknown coefficients 830 X; 814 831 size(L); // we have (size(L)) families in the answer 815 832 // look at matrices, defining linear automorphisms: … … 817 834 print(L[2][2]); // and a second possible matrix; it is diagonal 818 835 // L; // we can take a look on the whole list, too 836 idJ; 819 837 kill X; kill a; 820 838 //----------- find all the linear automorphisms -------------------- … … 827 845 size(L); // here, we have 1 parametrized family 828 846 print(L[1][2]); // here, @p is a nonzero parameter 829 } 847 det(L[1][2]-@p); // check whether determinante is zero 848 } -
Singular/LIB/ncalg.lib
rad711e6 rd41540 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: ncalg.lib,v 1.3 1 2009-03-30 18:11:39 motsakExp $";2 version="$Id: ncalg.lib,v 1.32 2009-04-09 12:04:42 seelisch Exp $"; 3 3 category="Noncommutative"; 4 4 info=" 5 LIBRARY: ncalg.lib Definitions of important G R-algebras5 LIBRARY: ncalg.lib Definitions of important G- and GR-algebras 6 6 AUTHORS: Viktor Levandovskyy, levandov@mathematik.uni-kl.de, 7 7 @* Oleksandr Motsak, U@D, where U={motsak}, D={mathematik.uni-kl.de} … … 10 10 @* For universal enveloping algebras of finite dimensional Lie algebras sl_n, gl_n, g_2 etc. 11 11 there are functions @code{makeUsl}, @code{makeUgl}, @code{makeUg2} etc. 12 @* There are quantized enveloping algebras U_q(sl_2) and U_q(sl_3) (viafunctions @code{makeQsl2}, @code{makeQsl3})13 and non-standard quantum deformation of so_3, accessible via @code{makeQso3} function.12 @* For quantized enveloping algebras U_q(sl_2) and U_q(sl_3), there are functions @code{makeQsl2}, @code{makeQsl3}) 13 and for non-standard quantum deformation of so_3, there is the function @code{makeQso3}. 14 14 @* For bigger algebras we suppress the output of the (lengthy) list of non-commutative relations 15 15 and provide only the number of these relations instead. … … 585 585 @* @code{v} is an optional intvec. 586 586 @* In addition, the ideal called @code{GKZid} containing actual equations is calculated and exported to the ring. 587 NOTE: activate the ring with the @code{setring} command. This procedure is elaborated by Oleksandr Iena587 NOTE: activate the output ring with the @code{setring} command. This procedure is elaborated by Oleksandr Iena 588 588 ASSUME: This procedure uses toric_lib and therefore inherits its input requirements: 589 589 @* possible values for input variable @code{alg} are: \"ect\",\"pt\",\"blr\", \"hs\", \"du\". -
Singular/LIB/ncdecomp.lib
rad711e6 rd41540 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: ncdecomp.lib,v 1.1 3 2007-11-28 16:36:46 motsakExp $";2 version="$Id: ncdecomp.lib,v 1.14 2009-04-09 12:04:42 seelisch Exp $"; 3 3 category="Noncommutative"; 4 4 info=" … … 103 103 proc CentralQuot(module I, ideal G) 104 104 "USAGE: CentralQuot(M, G), M a module, G an ideal 105 ASSUME: G is an ideal in the center 105 ASSUME: G is an ideal in the center of the base ring 106 106 RETURN: module 107 107 PURPOSE: compute the central quotient M:G … … 132 132 ideal I = e3,f3,h3-4*h; 133 133 I = std(I); 134 poly C=4*e*f+h^2-2*h; 135 ideal G = (C-8)*(C-24); 136 ideal R = CentralQuot(I,G); 134 poly C=4*e*f+h^2-2*h; // C in Z(U(sl2)), the central element 135 ideal G = (C-8)*(C-24); // G normal factor in Z(U(sl2)), subideal in the center 136 ideal R = CentralQuot(I,G); // same as I:G 137 137 R; 138 138 } … … 140 140 proc CentralSaturation(module M, ideal T) 141 141 "USAGE: CentralSaturation(M, T), for a module M and an ideal T 142 ASSUME: T is an ideal in the center 142 ASSUME: T is an ideal in the center of the base ring 143 143 RETURN: module 144 144 PURPOSE: compute the central saturation of M by T, that is M:T^{\infty}, by repititive application of @code{CentralQuot} … … 181 181 proc CenCharDec(module I, def #) 182 182 "USAGE: CenCharDec(I, C); I a module, C an ideal 183 ASSUME: C consists of generators of the center 183 ASSUME: C consists of generators of the center of the base ring 184 184 RETURN: a list L, where each entry consists of three records (if a finite decomposition exists) 185 @* L[*][1] ('ideal' type), the central character as themaximal ideal in the center,185 @* L[*][1] ('ideal' type), the central character as a maximal ideal in the center, 186 186 @* L[*][2] ('module' type), the Groebner basis of the weight module, corresponding to the character in L[*][1], 187 187 @* L[*][3] ('int' type) is the vector space dimension of the weight module (-1 in case of infinite dimension); 188 188 PURPOSE: compute a finite decomposition of C into central characters or determine that there is no finite decomposition 189 NOTE: actual decomposition is asum of L[i][2] above;189 NOTE: actual decomposition is the sum of L[i][2] above; 190 190 @* some modules have no finite decomposition (in such case one gets warning message) 191 @* The function @code{central} in @code{central.lib} may be used to obtain C, when needed. 191 192 SEE ALSO: CentralQuot, CentralSaturation 192 193 EXAMPLE: example CenCharDec; shows examples … … 335 336 ASSUME: Z consists of pairwise commutative elements 336 337 RETURN: ideal, of two-sided generators, not a Groebner basis 337 PURPOSE: computes anintersection of M with the subalgebra, generated by Z338 PURPOSE: computes the intersection of M with the subalgebra, generated by Z 338 339 NOTE: usually Z consists of generators of the center 340 @* The function @code{central} from @code{central.lib} may be used to obtain the center Z, if needed. 339 341 EXAMPLE: example IntersectWithSub; shows an example 340 342 " -
Singular/LIB/perron.lib
rad711e6 rd41540 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: perron.lib,v 1.1 3 2009-03-30 18:41:56 motsakExp $";2 version="$Id: perron.lib,v 1.14 2009-04-09 12:04:42 seelisch Exp $"; 3 3 category="Noncommutative"; 4 4 info=" … … 195 195 setring RB; 196 196 Relations; 197 // one more test: 198 setring A; 199 map T=RA,I; 200 T(Relations); // should be zero 197 201 } 198 202 -
Singular/LIB/qmatrix.lib
rad711e6 rd41540 1 version="$Id: qmatrix.lib,v 1.1 5 2007-10-31 17:23:49 SingularExp $";1 version="$Id: qmatrix.lib,v 1.16 2009-04-09 12:04:42 seelisch Exp $"; 2 2 category="Noncommutative"; 3 3 info=" … … 81 81 "USAGE: LengthSymElement(v); v intvec 82 82 RETURN: int 83 PURPOSE: determine the length of v83 PURPOSE: determine the length of the permutation given by v in some S(n) 84 84 ASSUME: v represents an element of S(n); otherwise the output may have no sense 85 85 SEE ALSO: SymGroup, LengthSym … … 110 110 "USAGE: LengthSym(M); M an intmat 111 111 RETURN: intvec 112 PURPOSE: determine a vector, where the i-th element is the length of the i-th row of M112 PURPOSE: determine a vector, where the i-th element is the length of the permutation of S(n) given by the i-th row of M 113 113 ASSUME: M represents a subset of S(n) (each row must be an element of S(n)); otherwise, the output may have no sense 114 114 SEE ALSO: SymGroup, LengthSymElement … … 144 144 @* algebra is not used because double indexes are not allowed 145 145 @* in the variables. Instead the variables are listed by reading 146 @* the rows of the usual matrix representation. 146 @* the rows of the usual matrix representation, that is, there 147 @* will be n*n variables (one for each entry an n*N generic matrix), 148 @* listed row-wise 147 149 SEE ALSO: qminor 148 150 EXAMPLE: example quantMat; shows examples … … 217 219 proc qminor(intvec I, intvec J, int nr) 218 220 "USAGE: qminor(I,J,n); I,J intvec, n int 219 RETURN: poly, the quantum minor 221 RETURN: poly, the quantum minor of a generic n*n quantum matrix 220 222 ASSUME: I is the ordered list of the rows to consider in the minor, 221 223 @* J is the ordered list of the columns to consider in the minor, 222 224 @* I and J must have the same number of elements, 223 225 @* n is the order of the quantum matrix algebra you are working with (quantMat(n)). 226 @* The base ring should be constructed using @code{quantMat}. 224 227 SEE ALSO: quantMat 225 228 EXAMPLE: example qminor; shows examples
Note: See TracChangeset
for help on using the changeset viewer.