Changeset 77ce4e in git
- Timestamp:
- Dec 20, 2013, 6:12:59 PM (9 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 46b1f513aa263ced36435ada2b9a3c7fa2cccd26
- Parents:
- b2cb7b48301812323aeeb1e1bd6dd5fce53626b4ef0582d78e68d3c3ccda208288280a8c701d9ef8
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/ellipticcovers.lib
ref0582 r77ce4e 3 3 category="Commutative Algebra"; 4 4 info=" 5 LIBRARY: ellipticCovers.lib Gromov 5 LIBRARY: ellipticCovers.lib Gromov-Witten numbers of elliptic curves 6 6 7 7 AUTHORS: J. Boehm, boehm @ mathematik.uni-kl.de … … 34 34 References: 35 35 36 [BBM] J. Boehm, A. Buchholz, H. Markwig: Tropical mirror symmetry for elliptic curves, arXiv ***(2013).36 [BBM] J. Boehm, A. Buchholz, H. Markwig: Tropical mirror symmetry for elliptic curves, arXiv:1309.5893 (2013). 37 37 38 38 KEYWORDS: -
Singular/LIB/orbitparam.lib
ref0582 r77ce4e 3 3 category="Algebraic Geometry"; 4 4 info=" 5 LIBRARY: orbitparam.lib Parametrizing unipotent orbits5 LIBRARY: orbitparam.lib Parametrizing orbits of unipotent actions 6 6 7 7 AUTHORS: J. Boehm, boehm at mathematik.uni-kl.de @* -
Singular/LIB/schreyer.lib
ref0582 r77ce4e 3 3 category="General purpose"; 4 4 info=" 5 LIBRARY: schreyer.lib Helpers for working with the Schreyer induced ordering5 LIBRARY: schreyer.lib Helpers for computing a Schreyer resolution in @code{derham.lib} 6 6 AUTHOR: Oleksandr Motsak <U@D>, where U={motsak}, D={mathematik.uni-kl.de} 7 KEYWORDS: Schreyer ordering; Schreyer resolution; syzygy 8 OVERVIEW: 9 @* The library contains helper procedures for computing a Schreyer resoltion (cf. [SFO]), 10 originally meant to be used by @code{derham.lib} (which requires resolutions over the homogenized Weyl algebra). 11 The library works both in the commutative and non-commutative setting (cf. [MO]). 12 Here, we call a free resolution a Schreyer resolution if each syzygy module is given by a Groebner basis 13 with respect to the corresponding Schreyer ordering. 14 A Schreyer resolution can be much bigger than a minimal resolution of the same module, but may be easier to construct. 15 @* The input for the resolution computations is a set of vectors @code{M} in form of a module over some basering @code{R}. 16 The ring @code{R} may be non-commutative, in which case the ring ordering should be global. 17 @* These procedures produce/work with partial Schreyer resolutions of @code{(R^rank(M))/M} in form of 18 a ring (endowed with a special ring ordering that will be extended in the course of a resolution computation) 19 containing a list of modules @code{RES} and a module @code{MRES}: 20 @* The list of modules @code{RES} contains the images of maps (also called syzygy modules) substituting the 21 computed beginning of a Schreyer resolution, that is, each syzygy module is given by a Groebner basis 22 with respect to the corresponding Schreyer ordering. 23 @* The list @code{RES} starts with a zero map given by @code{rank(M)} zero generators indicating that the image of 24 the first differential map is zero. The second map @code{RES[2]} is given by @code{M}, which indicates that 25 the resolution of @code{(R^rank(M))/M} is being computed. 26 @* The module @code{MRES} is a direct sum of modules from @code{RES} and thus comprises all computed differentials. 27 @* Syzygies are shifted so that @code{gen(i)} is mapped to @code{MRES[i]} under the differential map. 28 @* The Schreyer ordering succesively extends the starting module ordering on @code{M} (defined in Singular by the basering @code{R}) 29 and is extended to higher syzygies using the following definition: 30 @* a < b if and only if (d(a) < d(b)) OR ( (d(a) = d(b) AND (comp(a) < comp(b)) ), 31 @* where @code{d(a)} is the image of a under the differential (given by @code{MRES}), 32 and @code{comp(a)} is the module component, for any module terms @code{a} and @code{b} from the same higher syzygy module. 33 REFERENCES: 34 [SFO] Schreyer, F.O.: Die Berechnung von Syzygien mit dem verallgemeinerten Weierstrassschen Divisionssatz, 35 Master's thesis, Univ. Hamburg, 1980. 36 [MO] Motsak, O.: Non-commutative Computer Algebra with applications: Graded commutative algebra and related 37 structures in Singular with applications, Ph.D. thesis, TU Kaiserslautern, 2010 38 39 NOTE: requires the dynamic or built-in module @code{syzextra} 7 40 8 41 PROCEDURES: 9 Sres(M,l) Schreyer resolution of module M of maximal length l 10 Ssyz(M) Schreyer resolution of module M of length 1 11 Scontinue(l) continue the resolution computation by most l steps 12 13 KEYWORDS: syzygy; Schreyer induced ordering; Schreyer free resolution 14 NOTE: requires the dynamic module: syzextra 42 Sres(M,len) compute Schreyer resolution of module M of maximal length len 43 Ssyz(M) compute Schreyer resolution of module M of length 1 44 Scontinue(len) extend currently active resolution by (at most) len syszygies 15 45 "; 16 46 … … 329 359 330 360 proc Scontinue(int l) 331 "USAGE: Scontinue(l) 332 RETURN: nothing, instead it changes RES and MRES variables in the current ring 333 PURPOSE: computes further (at most l) syzygies 334 NOTE: must be used within a ring returned by Sres or Ssyz. RES and MRES are 335 explained in Sres 361 "USAGE: Scontinue(int len) 362 RETURN: nothing, instead it changes the currently active resolution 363 PURPOSE: extends the currently active resolution by at most len syzygies 364 ASSUME: must be used within a ring returned by Sres or Ssyz 336 365 EXAMPLE: example Scontinue; shows an example 337 366 " … … 361 390 362 391 proc Ssyz(module M) 363 "USAGE: Ssyz( M)364 RETURN: ring, containing a list of modules RES and a module MRES365 PURPOSE: computes the first syzygy module of M (wrt some Schreyer ordering)366 NOTE: The output is explained inSres392 "USAGE: Ssyz(module M) 393 RETURN: ring, containing a Schreyer resolution 394 PURPOSE: computes a Schreyer resolution of M of length 1 (see the library overview) 395 SEE ALSO: Sres 367 396 EXAMPLE: example Ssyz; shows an example 368 397 " … … 393 422 394 423 proc Sres(module M, int l) 395 "USAGE: Sres(M, l) 396 RETURN: ring, containing a list of modules RES and a module MRES 397 PURPOSE: computes (at most l) syzygy modules of M wrt the classical Schreyer 398 induced ordering with gen(i) > gen(j) if i > j, provided both gens 399 are from the same syzygy level. 400 NOTE: RES contains the images of maps subsituting the beginning of the 401 Schreyer free resolution of baseRing^r/M, while MRES is a sum of 402 these images in a big free sum, containing all the syzygy modules. 403 The syzygy modules are shifted so that gen(i) correspons to MRES[i]. 404 The leading zero module RES[0] indicates the fact that coker of the 405 first map is zero. The number of zeroes inducates the rank of input. 406 NOTE: If l == 0 then l is set to be nvars(basering) + 1 424 "USAGE: Sres(module M, int len) 425 RETURN: ring, containing a Schreyer resolution 426 PURPOSE: computes a Schreyer resolution of M of length at most len (see the library overview) 427 NOTE: If given len is zero then nvars(basering) + 1 is used instead. 428 SEE ALSO: Ssyz 407 429 EXAMPLE: example Sres; shows an example 408 430 " -
Singular/grammar.cc
ref0582 r77ce4e 805 805 727, 731, 735, 739, 743, 747, 751, 755, 759, 763, 806 806 780, 787, 786, 804, 812, 820, 829, 833, 837, 841, 807 845, 849, 853, 857, 861, 865, 869, 873, 877, 88 4,808 89 1, 892, 911, 912, 924, 929, 934, 938, 942, 982,809 10 08, 1029, 1037, 1041, 1042, 1056, 1064, 1073, 1118, 1119,810 11 28, 1129, 1135, 1142, 1144, 1146, 1156, 1155, 1163, 1168,811 11 75, 1183, 1195, 1211, 1230, 1234, 1238, 1243, 1247, 1251,812 12 55, 1259, 1264, 1270, 1276, 1282, 1288, 1294, 1300, 1312,813 13 19, 1323, 1360, 1370, 1376, 1376, 1379, 1451, 1455, 1484,814 1 497, 1514, 1523, 1528, 1536, 1548, 1567, 1577, 1596, 1619,815 16 25, 1637, 1643807 845, 849, 853, 857, 861, 865, 869, 873, 877, 889, 808 896, 897, 916, 917, 929, 934, 939, 943, 947, 987, 809 1013, 1034, 1042, 1046, 1047, 1061, 1069, 1078, 1123, 1124, 810 1133, 1134, 1140, 1147, 1149, 1151, 1161, 1160, 1168, 1173, 811 1180, 1188, 1200, 1216, 1235, 1239, 1243, 1248, 1252, 1256, 812 1260, 1264, 1269, 1275, 1281, 1287, 1293, 1299, 1305, 1317, 813 1324, 1328, 1365, 1375, 1381, 1381, 1384, 1456, 1460, 1489, 814 1502, 1519, 1528, 1533, 1541, 1553, 1572, 1582, 1601, 1624, 815 1630, 1642, 1648 816 816 }; 817 817 #endif … … 3289 3289 #line 878 "grammar.y" 3290 3290 { 3291 memset(&(yyval.lv),0,sizeof((yyval.lv))); 3292 int i; TESTSETINT((yyvsp[(2) - (2)].lv),i); 3293 (yyval.lv).rtyp = INT_CMD; 3294 (yyval.lv).data = (void *)(long)(i == 0 ? 1 : 0); 3291 if (siq>0) 3292 { if (iiExprArith1(&(yyval.lv),&(yyvsp[(2) - (2)].lv),NOT)) YYERROR; } 3293 else 3294 { 3295 memset(&(yyval.lv),0,sizeof((yyval.lv))); 3296 int i; TESTSETINT((yyvsp[(2) - (2)].lv),i); 3297 (yyval.lv).rtyp = INT_CMD; 3298 (yyval.lv).data = (void *)(long)(i == 0 ? 1 : 0); 3299 } 3295 3300 ;} 3296 3301 break; … … 3299 3304 3300 3305 /* Line 1464 of yacc.c */ 3301 #line 8 85"grammar.y"3306 #line 890 "grammar.y" 3302 3307 { 3303 3308 if(iiExprArith1(&(yyval.lv),&(yyvsp[(2) - (2)].lv),'-')) YYERROR; … … 3308 3313 3309 3314 /* Line 1464 of yacc.c */ 3310 #line 89 1"grammar.y"3315 #line 896 "grammar.y" 3311 3316 { (yyval.lv) = (yyvsp[(1) - (2)].lv); ;} 3312 3317 break; … … 3315 3320 3316 3321 /* Line 1464 of yacc.c */ 3317 #line 89 3"grammar.y"3322 #line 898 "grammar.y" 3318 3323 { 3319 3324 if ((yyvsp[(1) - (2)].lv).rtyp==0) … … 3335 3340 3336 3341 /* Line 1464 of yacc.c */ 3337 #line 91 3"grammar.y"3342 #line 918 "grammar.y" 3338 3343 { 3339 3344 if ((yyvsp[(2) - (3)].lv).Typ()!=STRING_CMD) … … 3349 3354 3350 3355 /* Line 1464 of yacc.c */ 3351 #line 9 25"grammar.y"3356 #line 930 "grammar.y" 3352 3357 { 3353 3358 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot))) … … 3359 3364 3360 3365 /* Line 1464 of yacc.c */ 3361 #line 93 0"grammar.y"3366 #line 935 "grammar.y" 3362 3367 { 3363 3368 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot))) … … 3369 3374 3370 3375 /* Line 1464 of yacc.c */ 3371 #line 9 35"grammar.y"3376 #line 940 "grammar.y" 3372 3377 { 3373 3378 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR; … … 3378 3383 3379 3384 /* Line 1464 of yacc.c */ 3380 #line 9 39"grammar.y"3385 #line 944 "grammar.y" 3381 3386 { 3382 3387 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR; … … 3387 3392 3388 3393 /* Line 1464 of yacc.c */ 3389 #line 94 3"grammar.y"3394 #line 948 "grammar.y" 3390 3395 { 3391 3396 int r; TESTSETINT((yyvsp[(4) - (8)].lv),r); … … 3432 3437 3433 3438 /* Line 1464 of yacc.c */ 3434 #line 98 3"grammar.y"3439 #line 988 "grammar.y" 3435 3440 { 3436 3441 if ((yyvsp[(1) - (2)].i) == MATRIX_CMD) … … 3463 3468 3464 3469 /* Line 1464 of yacc.c */ 3465 #line 10 09"grammar.y"3470 #line 1014 "grammar.y" 3466 3471 { 3467 3472 int t=(yyvsp[(1) - (3)].lv).Typ(); … … 3489 3494 3490 3495 /* Line 1464 of yacc.c */ 3491 #line 103 0"grammar.y"3496 #line 1035 "grammar.y" 3492 3497 { 3493 3498 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot))) … … 3499 3504 3500 3505 /* Line 1464 of yacc.c */ 3501 #line 104 3"grammar.y"3506 #line 1048 "grammar.y" 3502 3507 { 3503 3508 leftv v = &(yyvsp[(2) - (5)].lv); … … 3515 3520 3516 3521 /* Line 1464 of yacc.c */ 3517 #line 10 57"grammar.y"3522 #line 1062 "grammar.y" 3518 3523 { 3519 3524 // let rInit take care of any errors … … 3525 3530 3526 3531 /* Line 1464 of yacc.c */ 3527 #line 10 65"grammar.y"3532 #line 1070 "grammar.y" 3528 3533 { 3529 3534 memset(&(yyval.lv),0,sizeof((yyval.lv))); … … 3539 3544 3540 3545 /* Line 1464 of yacc.c */ 3541 #line 107 4"grammar.y"3546 #line 1079 "grammar.y" 3542 3547 { 3543 3548 memset(&(yyval.lv),0,sizeof((yyval.lv))); … … 3586 3591 3587 3592 /* Line 1464 of yacc.c */ 3588 #line 112 0"grammar.y"3593 #line 1125 "grammar.y" 3589 3594 { 3590 3595 (yyval.lv) = (yyvsp[(1) - (3)].lv); … … 3597 3602 3598 3603 /* Line 1464 of yacc.c */ 3599 #line 113 0"grammar.y"3604 #line 1135 "grammar.y" 3600 3605 { 3601 3606 (yyval.lv) = (yyvsp[(2) - (3)].lv); … … 3606 3611 3607 3612 /* Line 1464 of yacc.c */ 3608 #line 11 36"grammar.y"3613 #line 1141 "grammar.y" 3609 3614 { 3610 3615 expected_parms = TRUE; … … 3615 3620 3616 3621 /* Line 1464 of yacc.c */ 3617 #line 114 3"grammar.y"3622 #line 1148 "grammar.y" 3618 3623 { (yyval.i) = (yyvsp[(1) - (1)].i); ;} 3619 3624 break; … … 3622 3627 3623 3628 /* Line 1464 of yacc.c */ 3624 #line 11 45"grammar.y"3629 #line 1150 "grammar.y" 3625 3630 { (yyval.i) = (yyvsp[(1) - (1)].i); ;} 3626 3631 break; … … 3629 3634 3630 3635 /* Line 1464 of yacc.c */ 3631 #line 11 47"grammar.y"3636 #line 1152 "grammar.y" 3632 3637 { (yyval.i) = (yyvsp[(1) - (1)].i); ;} 3633 3638 break; … … 3636 3641 3637 3642 /* Line 1464 of yacc.c */ 3638 #line 11 56"grammar.y"3643 #line 1161 "grammar.y" 3639 3644 { if ((yyvsp[(1) - (2)].i) != '<') YYERROR; 3640 3645 if((feFilePending=feFopen((yyvsp[(2) - (2)].name),"r",NULL,TRUE))==NULL) YYERROR; ;} … … 3644 3649 3645 3650 /* Line 1464 of yacc.c */ 3646 #line 11 59"grammar.y"3651 #line 1164 "grammar.y" 3647 3652 { newFile((yyvsp[(2) - (4)].name),feFilePending); ;} 3648 3653 break; … … 3651 3656 3652 3657 /* Line 1464 of yacc.c */ 3653 #line 116 4"grammar.y"3658 #line 1169 "grammar.y" 3654 3659 { 3655 3660 feHelp((yyvsp[(2) - (3)].name)); … … 3661 3666 3662 3667 /* Line 1464 of yacc.c */ 3663 #line 11 69"grammar.y"3668 #line 1174 "grammar.y" 3664 3669 { 3665 3670 feHelp(NULL); … … 3670 3675 3671 3676 /* Line 1464 of yacc.c */ 3672 #line 11 76"grammar.y"3677 #line 1181 "grammar.y" 3673 3678 { 3674 3679 singular_example((yyvsp[(2) - (3)].name)); … … 3680 3685 3681 3686 /* Line 1464 of yacc.c */ 3682 #line 118 4"grammar.y"3687 #line 1189 "grammar.y" 3683 3688 { 3684 3689 if (basePack!=(yyvsp[(2) - (2)].lv).req_packhdl) … … 3694 3699 3695 3700 /* Line 1464 of yacc.c */ 3696 #line 1 196"grammar.y"3701 #line 1201 "grammar.y" 3697 3702 { 3698 3703 leftv v=&(yyvsp[(2) - (2)].lv); … … 3715 3720 3716 3721 /* Line 1464 of yacc.c */ 3717 #line 121 2"grammar.y"3722 #line 1217 "grammar.y" 3718 3723 { 3719 3724 leftv v=&(yyvsp[(3) - (3)].lv); … … 3736 3741 3737 3742 /* Line 1464 of yacc.c */ 3738 #line 123 1"grammar.y"3743 #line 1236 "grammar.y" 3739 3744 { 3740 3745 list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE); … … 3745 3750 3746 3751 /* Line 1464 of yacc.c */ 3747 #line 12 35"grammar.y"3752 #line 1240 "grammar.y" 3748 3753 { 3749 3754 list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE); … … 3754 3759 3755 3760 /* Line 1464 of yacc.c */ 3756 #line 12 39"grammar.y"3761 #line 1244 "grammar.y" 3757 3762 { 3758 3763 if ((yyvsp[(3) - (4)].i)==QRING_CMD) (yyvsp[(3) - (4)].i)=RING_CMD; … … 3764 3769 3765 3770 /* Line 1464 of yacc.c */ 3766 #line 124 4"grammar.y"3771 #line 1249 "grammar.y" 3767 3772 { 3768 3773 list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE); … … 3773 3778 3774 3779 /* Line 1464 of yacc.c */ 3775 #line 12 48"grammar.y"3780 #line 1253 "grammar.y" 3776 3781 { 3777 3782 list_cmd(RING_CMD,NULL,"// ",TRUE); … … 3782 3787 3783 3788 /* Line 1464 of yacc.c */ 3784 #line 125 2"grammar.y"3789 #line 1257 "grammar.y" 3785 3790 { 3786 3791 list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE); … … 3791 3796 3792 3797 /* Line 1464 of yacc.c */ 3793 #line 12 56"grammar.y"3798 #line 1261 "grammar.y" 3794 3799 { 3795 3800 list_cmd(PROC_CMD,NULL,"// ",TRUE); … … 3800 3805 3801 3806 /* Line 1464 of yacc.c */ 3802 #line 126 0"grammar.y"3807 #line 1265 "grammar.y" 3803 3808 { 3804 3809 list_cmd(0,(yyvsp[(3) - (4)].lv).Fullname(),"// ",TRUE); … … 3810 3815 3811 3816 /* Line 1464 of yacc.c */ 3812 #line 12 65"grammar.y"3817 #line 1270 "grammar.y" 3813 3818 { 3814 3819 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3821 3826 3822 3827 /* Line 1464 of yacc.c */ 3823 #line 127 1"grammar.y"3828 #line 1276 "grammar.y" 3824 3829 { 3825 3830 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3832 3837 3833 3838 /* Line 1464 of yacc.c */ 3834 #line 12 77"grammar.y"3839 #line 1282 "grammar.y" 3835 3840 { 3836 3841 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3843 3848 3844 3849 /* Line 1464 of yacc.c */ 3845 #line 128 3"grammar.y"3850 #line 1288 "grammar.y" 3846 3851 { 3847 3852 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3854 3859 3855 3860 /* Line 1464 of yacc.c */ 3856 #line 12 89"grammar.y"3861 #line 1294 "grammar.y" 3857 3862 { 3858 3863 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3865 3870 3866 3871 /* Line 1464 of yacc.c */ 3867 #line 1 295"grammar.y"3872 #line 1300 "grammar.y" 3868 3873 { 3869 3874 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3876 3881 3877 3882 /* Line 1464 of yacc.c */ 3878 #line 130 1"grammar.y"3883 #line 1306 "grammar.y" 3879 3884 { 3880 3885 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3887 3892 3888 3893 /* Line 1464 of yacc.c */ 3889 #line 131 3"grammar.y"3894 #line 1318 "grammar.y" 3890 3895 { 3891 3896 list_cmd(-1,NULL,"// ",TRUE); … … 3896 3901 3897 3902 /* Line 1464 of yacc.c */ 3898 #line 13 19"grammar.y"3903 #line 1324 "grammar.y" 3899 3904 { yyInRingConstruction = TRUE; ;} 3900 3905 break; … … 3903 3908 3904 3909 /* Line 1464 of yacc.c */ 3905 #line 13 28"grammar.y"3910 #line 1333 "grammar.y" 3906 3911 { 3907 3912 const char *ring_name = (yyvsp[(2) - (8)].lv).name; … … 3941 3946 3942 3947 /* Line 1464 of yacc.c */ 3943 #line 136 1"grammar.y"3948 #line 1366 "grammar.y" 3944 3949 { 3945 3950 const char *ring_name = (yyvsp[(2) - (2)].lv).name; … … 3953 3958 3954 3959 /* Line 1464 of yacc.c */ 3955 #line 137 1"grammar.y"3960 #line 1376 "grammar.y" 3956 3961 { 3957 3962 if (((yyvsp[(1) - (2)].i)!=LIB_CMD)||(jjLOAD((yyvsp[(2) - (2)].name),TRUE))) YYERROR; … … 3962 3967 3963 3968 /* Line 1464 of yacc.c */ 3964 #line 138 0"grammar.y"3969 #line 1385 "grammar.y" 3965 3970 { 3966 3971 if (((yyvsp[(1) - (2)].i)==KEEPRING_CMD) && (myynest==0)) … … 4036 4041 4037 4042 /* Line 1464 of yacc.c */ 4038 #line 145 2"grammar.y"4043 #line 1457 "grammar.y" 4039 4044 { 4040 4045 type_cmd(&((yyvsp[(2) - (2)].lv))); … … 4045 4050 4046 4051 /* Line 1464 of yacc.c */ 4047 #line 14 56"grammar.y"4052 #line 1461 "grammar.y" 4048 4053 { 4049 4054 //Print("typ is %d, rtyp:%d\n",$1.Typ(),$1.rtyp); … … 4073 4078 4074 4079 /* Line 1464 of yacc.c */ 4075 #line 14 85"grammar.y"4080 #line 1490 "grammar.y" 4076 4081 { 4077 4082 int i; TESTSETINT((yyvsp[(3) - (5)].lv),i); … … 4091 4096 4092 4097 /* Line 1464 of yacc.c */ 4093 #line 1 498"grammar.y"4098 #line 1503 "grammar.y" 4094 4099 { 4095 4100 if (currentVoice->ifsw==1) … … 4113 4118 4114 4119 /* Line 1464 of yacc.c */ 4115 #line 15 15"grammar.y"4120 #line 1520 "grammar.y" 4116 4121 { 4117 4122 int i; TESTSETINT((yyvsp[(3) - (5)].lv),i); … … 4127 4132 4128 4133 /* Line 1464 of yacc.c */ 4129 #line 152 4"grammar.y"4134 #line 1529 "grammar.y" 4130 4135 { 4131 4136 if (exitBuffer(BT_break)) YYERROR; … … 4137 4142 4138 4143 /* Line 1464 of yacc.c */ 4139 #line 15 29"grammar.y"4144 #line 1534 "grammar.y" 4140 4145 { 4141 4146 if (contBuffer(BT_break)) YYERROR; … … 4147 4152 4148 4153 /* Line 1464 of yacc.c */ 4149 #line 15 37"grammar.y"4154 #line 1542 "grammar.y" 4150 4155 { 4151 4156 /* -> if(!$2) break; $3; continue;*/ … … 4161 4166 4162 4167 /* Line 1464 of yacc.c */ 4163 #line 15 49"grammar.y"4168 #line 1554 "grammar.y" 4164 4169 { 4165 4170 /* $2 */ … … 4182 4187 4183 4188 /* Line 1464 of yacc.c */ 4184 #line 15 68"grammar.y"4189 #line 1573 "grammar.y" 4185 4190 { 4186 4191 idhdl h = enterid((yyvsp[(2) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE); … … 4197 4202 4198 4203 /* Line 1464 of yacc.c */ 4199 #line 15 78"grammar.y"4204 #line 1583 "grammar.y" 4200 4205 { 4201 4206 idhdl h = enterid((yyvsp[(1) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE); … … 4221 4226 4222 4227 /* Line 1464 of yacc.c */ 4223 #line 1 597"grammar.y"4228 #line 1602 "grammar.y" 4224 4229 { 4225 4230 omFree((ADDRESS)(yyvsp[(3) - (4)].name)); … … 4246 4251 4247 4252 /* Line 1464 of yacc.c */ 4248 #line 162 0"grammar.y"4253 #line 1625 "grammar.y" 4249 4254 { 4250 4255 // decl. of type proc p(int i) … … 4257 4262 4258 4263 /* Line 1464 of yacc.c */ 4259 #line 16 26"grammar.y"4264 #line 1631 "grammar.y" 4260 4265 { 4261 4266 // decl. of type proc p(i) … … 4271 4276 4272 4277 /* Line 1464 of yacc.c */ 4273 #line 16 38"grammar.y"4278 #line 1643 "grammar.y" 4274 4279 { 4275 4280 iiRETURNEXPR.Copy(&(yyvsp[(3) - (4)].lv)); … … 4282 4287 4283 4288 /* Line 1464 of yacc.c */ 4284 #line 164 4"grammar.y"4289 #line 1649 "grammar.y" 4285 4290 { 4286 4291 if ((yyvsp[(1) - (3)].i)==RETURN) … … 4296 4301 4297 4302 /* Line 1464 of yacc.c */ 4298 #line 4 297"grammar.cc"4303 #line 4302 "grammar.cc" 4299 4304 default: break; 4300 4305 } -
Singular/grammar.y
ref0582 r77ce4e 877 877 | NOT expr 878 878 { 879 memset(&$$,0,sizeof($$)); 880 int i; TESTSETINT($2,i); 881 $$.rtyp = INT_CMD; 882 $$.data = (void *)(long)(i == 0 ? 1 : 0); 879 if (siq>0) 880 { if (iiExprArith1(&$$,&$2,NOT)) YYERROR; } 881 else 882 { 883 memset(&$$,0,sizeof($$)); 884 int i; TESTSETINT($2,i); 885 $$.rtyp = INT_CMD; 886 $$.data = (void *)(long)(i == 0 ? 1 : 0); 887 } 883 888 } 884 889 | '-' expr %prec UMINUS -
Singular/iparith.cc
ref0582 r77ce4e 4602 4602 { 4603 4603 res->data=ipNameListLev((IDROOT),(int)(long)v->Data()); 4604 return FALSE; 4605 } 4606 static BOOLEAN jjNOT(leftv res, leftv v) 4607 { 4608 res->data=(char*)(long)((long)v->Data()==0 ? 1 : 0); 4604 4609 return FALSE; 4605 4610 } … … 5461 5466 static BOOLEAN jjnInt(leftv res, leftv u) 5462 5467 { 5463 number n=(number)u-> Data();5468 number n=(number)u->CopyD(); // n_Int may call n_Normalize 5464 5469 res->data=(char *)(long)n_Int(n,currRing->cf); 5470 n_Delete(&n,currRing->cf); 5465 5471 return FALSE; 5466 5472 } -
Singular/ipshell.cc
ref0582 r77ce4e 5789 5789 res->data=(void*)r; 5790 5790 return FALSE; 5791 WerrorS("not implemented");5792 return TRUE;5793 5791 } 5794 5792 BOOLEAN iiApply(leftv res, leftv a, int op, leftv proc) -
Singular/table.h
ref0582 r77ce4e 176 176 ,{D(jjNAMES), NAMES_CMD, LIST_CMD, RING_CMD , ALLOW_PLURAL |ALLOW_RING} 177 177 ,{D(jjNAMES), NAMES_CMD, LIST_CMD, QRING_CMD , ALLOW_PLURAL |ALLOW_RING} 178 ,{D(jjNOT), NOT, INT_CMD, INT_CMD , ALLOW_PLURAL |ALLOW_RING} 178 179 ,{D(jjDUMMY), NUMBER_CMD, NUMBER_CMD, NUMBER_CMD , ALLOW_PLURAL |ALLOW_RING} 179 180 ,{D(jjP2N), NUMBER_CMD, NUMBER_CMD, POLY_CMD , ALLOW_PLURAL |ALLOW_RING} -
doc/NEWS.texi
ref0582 r77ce4e 23 23 24 24 Version 4-0-0 is a milestone relase of Singular. 25 The new release series 4 aims for an entirely modularized system25 The new release series 4 aims for an entirely modularized architecture 26 26 simplifying connectivity with other systems and paving the way 27 27 for parallel computations. 28 As one step in this direction, in Singular 4-0-0,29 the representation of coefficient rings has been separated from the representation 30 of polynomials which allows for easy integration of new types of coefficient fields.28 As a first step in modularization, the new release features an internal 29 structural separation of coefficient rings and polynomial rings. 30 This allows for a flexible integration of new coefficient rings. 31 31 32 @sc{Singular} 4-0-0's list of improvements and new 33 functionality further extends that of 34 the 3-1-6/7 pre-release series. 35 One highlight is the implementation 36 of Walther's algorithm for computing deRham cohomology. 32 @sc{Singular} 4-0-0's list of new functionality and significant 33 improvements further extends that of the 3-1-6/7 prerelease series. 37 34 38 New commands 35 New functionality 36 39 37 @itemize 40 @item @nref{sba}: an F5 like Groebner basis algorithm 41 @item @nref{ASSUME}: support for debugging libraries 38 @item de Rham cohomology of complements of algebraic varieties (@nref{derham_lib}) 39 @item Gromov-Witten numbers of elliptic curves (@nref{ellipticcovers_lib}) 40 @item classification of isolated complete intersection singularities in characteristic 0 (@nref{classifyci_lib}) 41 @item parametrization of orbits of unipotent actions (@nref{orbitparam_lib}) 42 @item F5-like Groebner basis algorithm (@nref{sba}) 43 @item element-wise application of functions to data structures (@nref{apply}) 44 @item support for debugging libraries (@nref{ASSUME}) 42 45 @end itemize 43 46 44 New libraries 45 @itemize 46 @item @nref{classifyci_lib}: Isolated complete intersection singularities in characteristic 0 47 @item @nref{derham_lib}: Computation of deRham cohomology 48 @item @nref{ellipticcovers_lib}: Gromov Witten numbers of elliptic curves 49 @item @nref{orbitparam_lib}: Parametrizing unipotent orbits 50 @end itemize 47 Improved functionality 51 48 52 Improved libraries53 @itemize @bullet54 @item55 Compute GIT-fans: (@nref{gitfan_lib})56 @item57 Groebner Cover for parametric ideals (@nref{grobcov_lib})58 @item59 Normalization of Affine Rings (@nref{normal_lib})60 @item61 An abstraction layer for parallel skeletons (@nref{parallel_lib})62 @item63 Classification of real singularities (@nref{realclassify_lib})64 @item65 and many more with small fixes66 @end itemize67 68 Kernel improvements69 49 @itemize 70 50 @item 71 @nref{Dynamic modules} 51 Groebner cover for parametric ideals (@nref{grobcov_lib}) 52 @item 53 normalization of affine rings (@nref{normal_lib}) 54 @item 55 classification of real singularities (@nref{realclassify_lib}) 56 @item 57 GIT-fans (@nref{gitfan_lib}) 58 @item 59 algebraic/transcendental field extensions 72 60 @item 73 61 @nref{Non-commutative subsystem} 74 62 @item 75 name spaces (@nref{package})63 an abstraction layer for parallel computations (@nref{parallel_lib}) 76 64 @item 77 algebraic/transcendental field extensions 65 run-time loading of supplementary kernel code (@nref{Dynamic modules}) 66 @item 67 interpreter language support for name spaces (@nref{package}) 78 68 @end itemize 79 69 80 70 Availability 81 71 82 @sc{Singular} is available for ix86-Linux, 83 SunOS-5, ix86-Win (runs on Windows), 84 FreeBSD, Mac OS X, x86_64-Linux (AMD64/Opteron/EM64T), 85 IA64-Linux 72 @sc{Singular} is available as source code and for Linux, Mac OS X, Windows, FreeBSD and 73 SunOS-5. 86 74 -
doc/changes_in_singular4.texi
ref0582 r77ce4e 51 51 @itemize @bullet 52 52 @item @code{intStrategy} 53 @item @code{degBound} 54 @item @code{multBound} 55 ???? 53 @item @code{redTail} 54 @item @code{redThrough} 56 55 @end itemize 57 56 @c @end table 57 58 Also the following settings now belong to individual (currently active) polynomial rings: 59 60 @c @item @code{degBound} 61 @c @item @code{multBound} 62 63 @c table @asis 64 @itemize @bullet 65 @item @code{short} 66 @item @code{minpoly} 67 @item @code{noether} 68 @end itemize 69 @c @end table 70 58 71 59 72 Hence setting these options only affects the current ring. Be aware of this … … 81 94 @c table @asis 82 95 @itemize @bullet 83 @item The tree structure of the binary Singular distribution has been changed. The typical tree now looks as follows:84 *** add tree *** 96 @item The tree structure of the binary Singular distribution has been changed. 97 The typical tree now looks as show at @uref{https://github.com/Singular/Sources/wiki/Sw-tree} 85 98 86 99 @item Accordingly Singular search paths (where Singular searches for libraries, dynamic modules, etc.) have been changed. You can display them by calling Singular by @code{Singular -v}. … … 148 161 149 162 In particular we have separated everything related to coeffcient rings into a separate library @code{libcoeffs}. 163 Dependency tree between restructured packages is show at @uref{http://www.mathematik.uni-kl.de/~motsak/dox/singular.png} 150 164 151 165 @end itemize … … 154 168 155 169 156 @subsubheading Changes to build system 157 @cindex Changes to build system 170 @c @subsubheading Changes to build system 171 @c @cindex Changes to build system 172 158 173 159 174 @c ---------------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.