Changeset 8b6880 in git
 Timestamp:
 Nov 26, 2022, 2:22:39 PM (2 months ago)
 Branches:
 (u'spielwiese', 'ad2543eab51733612ba7d118afc77edca719600e')
 Children:
 07fefd7e1818a24a256b720bb0c7021058b855b9
 Parents:
 b3594cbd522dbba3563a80c89f0e99a9eb523ec2
 gitauthor:
 Oleksandr Iena <o.g.yena@gmail.com>20221126 14:22:39+01:00
 gitcommitter:
 Oleksandr Iena <o.g.yena@gmail.com>20221128 22:47:47+01:00
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

Singular/LIB/chern.lib
rb3594cb r8b6880 177 177 as well a nonsymmetric remainder 178 178 EXAMPLE: example symNsym; shows an example 179 NOTE: constants are notconsidered symmetric179 NOTE: constants are considered symmetric 180 180 " 181 181 { … … 215 215 list l=symm(list(A@(1..nV) )); // symmetric functions in A@(i) 216 216 intvec v=leadexp(f), 0; // the exponent of the leading monomial 217 int exponent; 218 // We proceed as if the initial polynomial were symmetric. 219 // Under this assumption the leading monomial will always be of the form 220 // A@(1)^n1 * A@(2)^n2 * ... * A@(nV)^nnV, n1 >= n2 >= ... >= nnV. 221 // Everything which contradicts this assumption is considered as a part of the remainder. 217 222 while(v[N1]!=0) 218 223 { 219 224 mon=leadcoef(f); // leading coefficient of f 220 225 monc=mon; 221 for(i=1; v[N1+i1]!=0 ;i++ ) 222 { 223 mon = mon*c@(i)^( v[N1+i1]v[N1+i] ); 224 monc = monc*l[i]^( v[N1+i1]v[N1+i] ); // has the same leading coefficient as f 225 } 226 rez1=rez1+mon; // add a monomial 227 f=fmonc; // subtract the monomial 226 for(i=1; i<=nV && mon !=0 ;i++ ) 227 { 228 exponent = v[N1+i1]v[N1+i]; 229 if( exponent >=0 ) // symmetric case 230 { 231 mon = mon*c@(i)^exponent; 232 monc = monc*l[i]^exponent; // has the same leading coefficient as f 233 } 234 else // not the symmetric case 235 { 236 mon=0; 237 monc=0; 238 } 239 } 240 if(mon==0) // not the symmetric case 241 { 242 rez2=rez2+lead(f); 243 f=flead(f); 244 } 245 else // symmetric case 246 { 247 rez1=rez1+mon; // add a monomial 248 f=fmonc; // subtract the monomial 249 } 228 250 v=leadexp(f), 0; 229 251 } … … 245 267 list l=c(1..3); 246 268 // The symmetric part of f = 3x2 + 3y2 + 3z2 + 7xyz + y 247 // in terms of the elemen atary symmetric functions c(1), c(2), c(3)269 // in terms of the elementary symmetric functions c(1), c(2), c(3) 248 270 // and the remainder 249 271 poly f = 3x2 + 3y2 + 3z2 + 7xyz + y; 250 272 print( symNsym(f, l) ); 251 // Take a symmetri xpolynomial in variables x and z273 // Take a symmetric polynomial in variables x and z 252 274 f=x2+xz+z2; 253 275 // Express it in terms of the elementary the symmetric functions … … 2479 2501 print( cProj(1) ); 2480 2502 2481 // the coefficients of the total Chern class of the complex projective line2503 // the coefficients of the total Chern class of the complex projective plane 2482 2504 print( cProj(2) ); 2483 2505 2484 // the coefficients of the total Chern class of the complex projective line 2506 // the coefficients of the total Chern class of the complex projective space 2507 // of dimension three 2485 2508 print( cProj(3) ); 2486 2509 }
Note: See TracChangeset
for help on using the changeset viewer.