Changeset 9d6f3a in git
- Timestamp:
- Nov 4, 2009, 2:39:32 PM (14 years ago)
- Branches:
- (u'spielwiese', '5d369c3cbad1a1bf2d5c856a48fb8a30b51cec3b')
- Children:
- d4a2c308a86a41c2637ba8e3d31b5ed78b9f2ee7
- Parents:
- 151f85d6b8f7459eb6a91452f5ce85020f49ae7a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/modstd.lib
r151f85 r9d6f3a 386 386 poly result; 387 387 number n; 388 numberN=L[1];388 bigint N=L[1]; 389 389 for(i=size(L);i>1;i--) 390 390 { … … 393 393 while(h!=0) 394 394 { 395 n=Farey(N, leadcoef(h));395 n=Farey(N,bigint(leadcoef(h))); 396 396 result=result+n*p; 397 397 h=h-lead(h); … … 420 420 number n; 421 421 422 numberN=L[1];422 bigint N=L[1]; 423 423 for(i=2;i<=size(L);i++) 424 424 { … … 449 449 } 450 450 n=chineseR(TT,L,N); 451 n=Farey(N, n);451 n=Farey(N,bigint(n)); 452 452 result=result+n*p; 453 453 } … … 466 466 int i,j; 467 467 number n; 468 numberN=L[1];468 bigint N=L[1]; 469 469 for(i=2;i<=size(L);i++) 470 470 { … … 480 480 if (p==0) {break;} 481 481 p=p-lead(p); 482 n=Farey(N, leadcoef(p));482 n=Farey(N,bigint(leadcoef(p))); 483 483 result=result+n*leadmonom(p); 484 484 } … … 488 488 } 489 489 /////////////////////////////////////////////////////////////////////////////// 490 proc Farey ( number P, numberN)490 proc Farey (bigint P, bigint N) 491 491 "USAGE: Farey (P,N); P, N number; 492 492 RETURN: a rational number a/b such that a/b=N mod P … … 496 496 if (P<0){P=-P;} 497 497 if (N<0){N=N+P;} 498 numberA,B,C,D,E;498 bigint A,B,C,D,E; 499 499 E=P; 500 500 B=1; … … 503 503 if (2*N^2<P) 504 504 { 505 return( N/B);505 return(number(N)/number(B)); 506 506 } 507 507 D=E mod N; 508 C=A-(E -E mod N)/N*B;508 C=A-(E div N)*B; 509 509 E=N; 510 510 N=D; … … 581 581 kill r1; 582 582 number c=p; 583 bigint cb=p; 583 584 matrix G0=transpose(matrix(G)); 584 G0= MmodN(G0+ (c)* G22,c ^2);585 matrix GF=fareyMatrix(G0,c ^2);586 Z=MmodN(Z+(c)*Z2,c ^2);585 G0= MmodN(G0+ (c)* G22,cb^2); 586 matrix GF=fareyMatrix(G0,cb^2); 587 Z=MmodN(Z+(c)*Z2,cb^2); 587 588 matrix C=transpose(G); 588 589 int n=3; … … 596 597 M=redmat(G,G1,G22); 597 598 Z2=-M*Z; 598 Z=MmodN(Z+(c^(n-1))*Z2,c ^n);599 G0= MmodN(G0+ (c^(n-1))* G22,c ^n);600 GF=fareyMatrix(G0,c ^n);599 Z=MmodN(Z+(c^(n-1))*Z2,cb^n); 600 G0= MmodN(G0+ (c^(n-1))* G22,cb^n); 601 GF=fareyMatrix(G0,cb^n); 601 602 n++; 602 603 } … … 691 692 } 692 693 /////////////////////////////////////////////////////////////////////////// 693 proc fareyMatrix(matrix m, numberN)694 proc fareyMatrix(matrix m,bigint N) 694 695 "USAGE: fareyMatrix(m,y); m matrix, y integer; 695 696 RETURN: a matrix k of the matrix m with Farey rational numbers a/b as coefficients … … 709 710 if (p==0) {break;} 710 711 p=p-lead(p); 711 n=Farey(N, leadcoef(p));712 n=Farey(N,bigint(leadcoef(p))); 712 713 result=result+n*leadmonom(p); 713 714 } … … 726 727 } 727 728 /////////////////////////////////////////////////////////////////////////// 728 proc MmodN(matrix Z, numberN)729 "USAGE: MmodN(Z,N);Z matrix, N number;729 proc MmodN(matrix Z,bigint N) 730 "USAGE: MmodN(Z,N);Z matrix, N bigint; 730 731 RETURN: the matrix Z mod N 731 732 EXAMPLE: example MmodN; … … 742 743 { 743 744 m=leadmonom(Z[i,j][k]); 744 c= leadcoef(Z[i,j][k]) mod N;745 c=bigint(leadcoef(Z[i,j][k])) mod N; 745 746 p=p+c*m; 746 747 } … … 755 756 ring r = 0,(x,y,z),dp; 756 757 matrix m[3][1]= x3+10668x2+10668, z4-12801z2+12802, y5-8728y3+14547; 757 numberp=32003;758 bigint p=32003; 758 759 matrix b=MmodN(m,p^2); 759 760 b;
Note: See TracChangeset
for help on using the changeset viewer.