Changeset b66fdf in git
- Timestamp:
- Apr 3, 2006, 3:14:05 PM (18 years ago)
- Branches:
- (u'spielwiese', '873fc1222e995d7cb33f79d8f1792ce418c8c72c')
- Children:
- 61c541313602e9288afac56c71f3228283e313c4
- Parents:
- a7ec94356a9de1892b8bcd8a9119b7341484813b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/perron.lib
ra7ec94 rb66fdf 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: perron.lib,v 1. 1 2006-03-13 14:31:44motsak Exp $";2 version="$Id: perron.lib,v 1.2 2006-04-03 13:14:05 motsak Exp $"; 3 3 category="Noncommutative"; 4 4 info=" 5 LIBRARY: perron.lib 5 LIBRARY: perron.lib computation of algebraic dependences 6 6 AUTHORS: Oleksandr Motsak, motsak@mathematik.uni-kl.de. 7 7 … … 17 17 proc perron( ideal L, list # ) 18 18 "USAGE: perron( L [, D] ) 19 RETURN: a commutative ring, containing an exported ideal with polynomial relations with the name Relations.20 PURPOSE: 21 NOTE: The perron relation is know to exit and be minimal only if size(L) = (1+nvars(basering))!22 EXAMPLE: example sa_reduce; shows an example19 RETURN: a commutative ring, containing an exported ideal `Relations` with found polynomial relations. 20 PURPOSE: computes relations between pairwise commuting polynomials of L[, up to a given degree bound D] 21 NOTE: the implementation was partially inspired by the Perron's theorem. 22 EXAMPLE: example perron; shows an example 23 23 " 24 24 { … … 40 40 intvec W; // weights 41 41 42 for ( i = size(L); i > 0; i-- )42 for ( i = N; i > 0; i-- ) 43 43 { 44 44 W[i] = deg(L[i]); 45 45 } 46 47 46 48 47 //////////////////////////////////////////////////////////////////////// … … 126 125 // we are in COMMUTATIVERING now: 127 126 128 ideal PBWBasis = PBW_ basis_byMaxDeg( D ); // All monomials of degree(!) <= D.127 ideal PBWBasis = PBW_maxDeg( D ); // All monomials of degree(!) <= D. 129 128 // TODO: it would be better to compute weighted monomials of weight <= W[1] \cdot ... W[N]. 130 129 … … 141 140 // Images; 142 141 143 def T = KER( Images ); // Compute relations in NC ring142 def T = linearMapKernel( Images ); // Compute relations in NC ring 144 143 145 144 // T; … … 150 149 if( (typeof(T) != "module") and (typeof(T) != "int" ) ) 151 150 { 152 ERROR( "Wrong output from the ' KER' function!" );151 ERROR( "Wrong output from the 'linearMapKernel' function!" ); 153 152 } 154 153 … … 157 156 if( T != 0 ) 158 157 { 159 ERROR( "Wrong output from the ' KER' function!" );158 ERROR( "Wrong output from the 'linearMapKernel' function!" ); 160 159 } 161 160 } … … 175 174 176 175 setring COMMUTATIVERING; 177 ideal result = LinearCombinations( PBWBasis, KER );176 ideal result = linearCombinations( PBWBasis, KER ); 178 177 179 178 kill KER; … … 225 224 D[1,2]=-z; D[1,3]=2*x; D[2,3]=-2*y; 226 225 ncalgebra(1,D); // this algebra is U(sl_2) 227 ideal L = x^p, y^p, z^p-z, 4*x*y+z^2-2*z; // the [p]-Center226 ideal L = x^p, y^p, z^p-z, 4*x*y+z^2-2*z; // the center 228 227 def R = perron( L, p ); 229 228 setring R; 230 229 R; 231 Relations; // it was exported from perron to be in a returned ring. 230 Relations; // it was exported from perron to be in the returned ring. 231 kill R; 232 // perron can be also used in a commutative case, for example: 233 ring r=0,(x,y,z),dp; 234 ideal J = xy+z2, z2+y2, x2y2-2xy3+y4; 235 def R = perron(J); 236 setring R; 237 Relations; 232 238 } 233 239
Note: See TracChangeset
for help on using the changeset viewer.