Changeset 0610f0e in git for Singular/LIB/aksaka.lib


Ignore:
Timestamp:
May 14, 2010, 6:55:39 PM (14 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
Children:
c6a37e587b929939b8736b96653178b2f7a6aef9
Parents:
f55c950f86cfcb5fbb7d28e7ef4ab01c06dcd337
Message:
format

git-svn-id: file:///usr/local/Singular/svn/trunk@12790 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/aksaka.lib

    rf55c95 r0610f0e  
    148148  //bringen x zunaechst zwischen 1/sqrt(2) und sqrt(2), so dass Reihe schnell
    149149  //konvergiert, berechnen dann Reihe bis 30. Summanden und letztendlich
    150   //log2(x)=log(x)/log(2)=(log(x/2^j)+j*log(2))/log(2)  für große x
    151   //log2(x)=log(x)/log(2)=(log(x*2^j)-j*log(2))/log(2)  für kleine x
     150  //log2(x)=log(x)/log(2)=(log(x/2^j)+j*log(2))/log(2)  fuer grosse x
     151  //log2(x)=log(x)/log(2)=(log(x*2^j)-j*log(2))/log(2)  fuer kleine x
    152152
    153153  number j=0;
     
    198198{
    199199  poly f=var(1)^2-r;             //Wurzel wird als Nullstelle eines Polys
    200                                  //mit proc nt_solve genähert
     200                                 //mit proc nt_solve genaehert
    201201  def B=basering;
    202202  ring R=(real,40),var(1),dp;
     
    332332    return(c);
    333333  }
    334   if(r==n-1)              // falls diese Bedingung erfüllt ist, ist
    335                          // ggT(a,n)=1 für 0<a<=r, schritt 4 des ASK-Alg.
     334  if(r==n-1)              // falls diese Bedingung erfuellt ist, ist
     335                         // ggT(a,n)=1 fuer 0<a<=r, schritt 4 des ASK-Alg.
    336336  {
    337337    if(printlevel>=1){"ggt(r,n)=1 fuer alle 1<r<n";pause();}
     
    341341  b=1;
    342342
    343   while(k<=M2)         //Beginn des Ordnungstests für aktuelles r
     343  while(k<=M2)         //Beginn des Ordnungstests fuer aktuelles r
    344344  {
    345345    b=((b*n) mod r);
    346     if(b==1)   //tritt Bedingung ein so gilt für aktuelles r,k:
     346    if(b==1)   //tritt Bedingung ein so gilt fuer aktuelles r,k:
    347347               //n^k=1 mod r
    348348               //tritt Bedingung ein, wird wegen k<=M2=intPart(log2(n)^2)
    349                //r erhöht,k=0 gesetzt und Ordnung erneut untersucht
    350                //tritt diese Bedingung beim größten k=intPart(log2(n)^2)
     349               //r erhoeht,k=0 gesetzt und Ordnung erneut untersucht
     350               //tritt diese Bedingung beim groessten k=intPart(log2(n)^2)
    351351               //nicht ein, so ist ord_r_(n)>log2(n)^2 und Schleife
    352                //wird nicht mehr ausgeführt
     352               //wird nicht mehr ausgefuehrt
    353353    {
    354354      if(r==2147483647)
    355355      {
    356         string e="error: r überschreitet integer Bereich und darf
     356        string e="error: r ueberschreitet integer Bereich und darf
    357357                  nicht als Grad eines Polynoms verwendet werden";
    358358        return(e);
     
    360360      r=r+1;
    361361      if(gcdN(n,r)!=1)   //falls ggt ungleich eins, Teiler von n gefunden,
    362                          //wird aufgrund von Schritt 3 des ASK-Alg. für
     362                         //wird aufgrund von Schritt 3 des ASK-Alg. fuer
    363363                         //jeden Kandidaten r getestet
    364364      {
     
    366366        return(c);
    367367      }
    368       if(r==n-1)         //falls diese Bedingung erfüllt ist,
     368      if(r==n-1)         //falls diese Bedingung erfuellt ist,
    369369                         //ist n wegen Zeile 571 prim
    370                          //wird aufgrund von Schritt 4 des ASK-Alg. für
     370                         //wird aufgrund von Schritt 4 des ASK-Alg. fuer
    371371                         //jeden Kandidaten r getestet
    372372      {
     
    375375      }
    376376
    377       k=0;               //für neuen Kandidaten r, muss k für den
    378                          //Ordnungstest zurückgesetzt werden
     377      k=0;               //fuer neuen Kandidaten r, muss k fuer den
     378                         //Ordnungstest zurueckgesetzt werden
    379379    }
    380380    k=k+1;
     
    386386  }
    387387  number l=1;                         // Zeile 603-628: Schritt 5
    388   poly f,g;                           // Zeile 618 überprüft Gleichungen für
     388  poly f,g;                           // Zeile 618 ueberprueft Gleichungen fuer
    389389                                      // das jeweilige a
    390390  g=var(1)^r-1;
Note: See TracChangeset for help on using the changeset viewer.