- Timestamp:
- Mar 15, 2022, 4:37:20 PM (2 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- c1d1d924a0316c8dd9d96b185d6269552e5dcac3
- Parents:
- b8cd6e55df305b9b3acc9333479391768183129631f6493f817b702a6f55e8cdcdc8d11d7231b65a
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2022-03-15 16:37:20+01:00
- git-committer:
- GitHub <noreply@github.com>2022-03-15 16:37:20+01:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/puiseuxexpansions.lib
rb8cd6e r31d614 368 368 int stop; 369 369 int newMaxDeg; 370 list l = newtonpoly2(f);371 372 //list l = newtonpoly(f);373 374 //if((l[1][1] == 0) && (l[1][2] == 0))375 //{376 // "ERROR: The polynomial must pass through the origin.";377 // list cs = list();378 //} else379 //{380 370 381 371 poly @c; … … 394 384 int cod = 0; 395 385 int mi; 386 387 // Case of Puiseux expansions with finite number of terms 388 list dd = Integralbasis::divideBy(f, var(2)); 389 if(dd[2]>0) 390 { 391 for(i = 1; i <= dd[2]; i++) 392 { 393 cs[size(cs) + 1] = list(0, 1); 394 cs[size(cs)][6] = list(cod); 395 cod++; 396 } 397 f = dd[1]; 398 } 399 400 401 list l = newtonpoly2(f); 402 403 //list l = newtonpoly(f); 404 405 //if((l[1][1] == 0) && (l[1][2] == 0)) 406 //{ 407 // "ERROR: The polynomial must pass through the origin."; 408 // list cs = list(); 409 //} else 410 //{ 411 396 412 397 413 //for(i = 1; i<size(l); i++) … … 922 938 // We compute the Puiseux expansions in this new ring 923 939 poly f = imap(R_PP, PP_numer); 924 list fFacs = factorize(f);925 fFacs = Integralbasis::sortFactors(fFacs);926 940 list p; 927 list pTemp; 928 for(i = 1; i <= size(fFacs[1]); i++) 929 { 930 if((fFacs[1][i] != 1) and (deg(fFacs[1][i], intvec(0,1)) > 0)) 931 { 932 p = p + puiseuxMain(fFacs[1][i], maxDeg, 0, 0, 1); 933 } 934 } 941 942 // NOT WORKING - WE NEED TO CONSIDER ALSO THE MULTIPLICITIES 943 // If we develop to a fix degree we can split the computations. 944 // If we want to compute the singular parts then we cannot split. 945 //if(maxDeg != -1) 946 //{ 947 // // We compute the Puiseux expansions in this new ring 948 // list fFacs = factorize(f); 949 // fFacs = Integralbasis::sortFactors(fFacs); 950 // 951 // for(i = 1; i <= size(fFacs[1]); i++) 952 // { 953 // if((fFacs[1][i] != 1) and (deg(fFacs[1][i], intvec(0,1)) > 0)) 954 // { 955 // p = p + puiseuxMain(fFacs[1][i], maxDeg, 0, 0, 1); 956 // } 957 // } 958 //} else 959 //{ 960 // p = puiseuxMain(f, maxDeg, 0, 0, 1); 961 //} 962 963 p = puiseuxMain(f, maxDeg, 0, 0, 1); 935 964 936 965 // We create a list of type Puiseux with one element for each Puiseux
Note: See TracChangeset
for help on using the changeset viewer.