Changeset 36861ed in git for Singular/LIB/standard.lib
- Timestamp:
- Aug 23, 1999, 4:17:43 PM (24 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- b246466423ee9ef5d330e1d138b3953a2067fac1
- Parents:
- c860e90753c9024c2f5903c409b379238aaa2e55
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/standard.lib
rc860e9 r36861ed 1 // $Id: standard.lib,v 1.4 1 1999-08-19 13:49:39 obachmanExp $1 // $Id: standard.lib,v 1.42 1999-08-23 14:17:35 Singular Exp $ 2 2 ////////////////////////////////////////////////////////////////////////////// 3 3 4 version="$Id: standard.lib,v 1.4 1 1999-08-19 13:49:39 obachmanExp $";4 version="$Id: standard.lib,v 1.42 1999-08-23 14:17:35 Singular Exp $"; 5 5 info=" 6 6 LIBRARY: standard.lib PROCEDURES WHICH ARE ALWAYS LOADED AT START-UP … … 441 441 @code{nres} (classical method using syzygies) , see @ref{nres}. 442 442 443 @item @strong{homogenous ideals and k == 0:} 443 @item @strong{homogenous ideals and k == 0:} 444 444 @code{lres} (La'Scala's method), see @ref{lres}. 445 445 446 @item @strong{not minimized resolution, and, homogenous input with k != 0 or local rings:} 446 @item @strong{not minimized resolution, and, homogenous input with k != 0 or local rings:} 447 447 @code{sres} (Schreyer's method), see @ref{sres}. 448 448 449 @item @strong{all other inputs:} 449 @item @strong{all other inputs:} 450 450 @code{mres} (classical method), see @ref{mres}. 451 451 @end table … … 466 466 @c ref 467 467 " 468 { 468 { 469 469 def P=basering; 470 470 if (size(#) < 2) … … 472 472 ERROR("res: need at least two arguments: ideal/module, int"); 473 473 } 474 474 475 475 def m=#[1]; //the ideal or module 476 476 int i=#[2]; //the length of the resolution 477 477 if (i< 0) { i=0;} 478 478 479 479 string varstr_P = varstr(P); 480 480 481 481 int p_opt; 482 string s_opt = option(); 483 // set p_opt, if option(prot) is set 484 if (find(s_opt, "prot")) 485 { 486 p_opt = 1; 487 } 488 482 489 if(size(ideal(basering)) > 0) 483 490 { 484 491 // the quick hack for qrings - seems to fit most needs 485 492 // (lres is not implemented for qrings, sres is not so efficient) 493 if (p_opt) { "using nres";} 486 494 return(nres(m,i)); 487 495 } … … 493 501 { 494 502 //LaScala for the homogeneous case and i == 0 503 if (p_opt) { "using lres";} 495 504 re=lres(m,i); 496 505 if(size(#)>2) … … 503 512 if(size(#)>2) 504 513 { 514 if (p_opt) { "using mres";} 505 515 re=mres(m,i); 506 516 } 507 517 else 508 518 { 519 if (p_opt) { "using sres";} 509 520 re=sres(std(m),i); 510 521 } … … 520 531 execute(ri); 521 532 def m=imap(P,m); 533 if (p_opt) { "using mres in another ring";} 522 534 list re=mres(m,i); 523 535 setring P; … … 535 547 def m=imap(P,m); 536 548 m=std(m); 549 if (p_opt) { "using sres in another ring";} 537 550 list re=sres(m,i); 538 551 setring P; … … 546 559 execute(ri); 547 560 def m=imap(P,m); 561 if (p_opt) { "using mres in another ring";} 548 562 list re=mres(m,i); 549 563 setring P;
Note: See TracChangeset
for help on using the changeset viewer.