Changeset 374d8e in git


Ignore:
Timestamp:
Jan 20, 2015, 5:35:00 PM (9 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
4e33058a3cced5901e5f2b51d7435047555c71ca
Parents:
cb2f4dcda8e5924cc3380177aa5fd95eca0f231b
Message:
add: addvarsTo/addNvarsTo to ring.lib
Location:
Singular/LIB
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/ring.lib

    rcb2f4dc r374d8e  
    3333 isQuotientRing(rng)      ring is a qotient ring
    3434 isSubModule(I,J)         check if I is in J as submodule
     35
     36 changeordTo(r,o)         change the ordering of a ring to a simple one
     37 addvarsTo(r,vars,i)      add variables to a ring
     38 addNvarsTo(r,N,name,i)   add N variables to a ring
    3539";
    3640
     
    11131117
    11141118proc changeordTo(def r,string o)
     1119"USAGE:  changeordTo(ring, string s);
     1120RETURN:  a ring with the oderinging changed to the (simple) ordering s
     1121EXAMPLE: example changeordTo(); shows an example
     1122"
    11151123{
    11161124  list rl=ringlist(r);
     
    11211129example
    11221130{
     1131  "EXAMPLE:"; echo = 2;
    11231132  ring r=0,(x,y),lp;
    1124   def rr=changeordToCdp(r,"dp");
     1133  def rr=changeordTo(r,"dp");
    11251134  rr;
    11261135}
    11271136
     1137proc addvarsTo(def r,list vars,int blockorder)
     1138"USAGE:  addvarsTo(ring,list_of_strings, int);
     1139         int may be: 0:ordering: dp
     1140                     1:ordering dp,dp
     1141                     2:oring.ordering,dp
     1142RETURN:  a ring with the addtional variables
     1143EXAMPLE: example addvarsTo(); shows an example
     1144"
     1145{
     1146  list rl=ringlist(r);
     1147  int n=nvars(r);
     1148  rl[2]=rl[2]+vars;
     1149  if (blockorder==0)
     1150  {
     1151    rl[3]=list(list("C",0),list("dp",1:(nvars(r)+size(vars))));
     1152  }
     1153  else
     1154  {
     1155    if (blockorder==2)
     1156    {
     1157      rl[3]=rl[3]+list(list("dp",1:size(vars)));
     1158    }
     1159    else
     1160    {
     1161      rl[3]=list(list("C",0),list("dp",1:nvars(r)),list("dp",1:size(vars)));
     1162    }
     1163  }
     1164  def rr=ring(rl);
     1165  return(rr);
     1166}
     1167example
     1168{
     1169  "EXAMPLE:"; echo = 2;
     1170  ring r=0,(x,y),lp;
     1171  def rr=addvarsTo(r,list("a","b"),0);
     1172  rr; kill rr;
     1173  def rr=addvarsTo(r,list("a","b"),1);
     1174  rr; kill rr;
     1175  def rr=addvarsTo(r,list("a","b"),2);
     1176  rr;
     1177}
     1178proc addNvarsTo(def r,int N,string n,int blockorder)
     1179"USAGE:  addNvarsTo(ring,int N, string name, int b);
     1180         b may be: 0:ordering: dp
     1181                   1:ordering dp,dp
     1182                   2:oring.ordering,dp
     1183RETURN:  a ring with N addtional variables
     1184EXAMPLE: example addNvarsTo(); shows an example
     1185"
     1186{
     1187  list v;
     1188  for(int i=N;i>0;i--) { v[i]=n+"("+string(i)+")"; }
     1189  return(addvarsTo(r,v,blockorder));
     1190}
     1191example
     1192{
     1193  "EXAMPLE:"; echo = 2;
     1194  ring r=0,(x,y),lp;
     1195  def rr=addNvarsTo(r,2,"@",0);
     1196  rr; kill rr;
     1197  def rr=addNvarsTo(r,2,"@",1);
     1198  rr; kill rr;
     1199  def rr=addNvarsTo(r,2,"@",2);
     1200  rr;
     1201}
  • Singular/LIB/rinvar.lib

    rcb2f4dc r374d8e  
    3434LIB "elim.lib";
    3535LIB "zeroset.lib";
     36LIB "ring.lib";
    3637
    3738///////////////////////////////////////////////////////////////////////////////
     
    286287  int i, dbPrt, nrNewVars;
    287288  intvec wt, wth, hs1;
    288   string ringSTR1, ringSTR2, order;
    289 
    290289  def RARB = basering;
    291   nrNewVars = size(F);
     290  nrNewVars = ncols(F);
    292291
    293292  dbPrt = printlevel-voice+2;
     
    299298
    300299  string @mPoly = string(minpoly);
    301   order = "(dp(" + string(nvars(basering)) + "), dp);";
    302   ringSTR1 = "ring RAR1 = (" + charstr(basering) + "), (" + varstr(basering) + ", Y(1.." + string(nrNewVars) + ")), " + order;
    303   ringSTR2 = "ring RAR2 = (" + charstr(basering) + "), Y(1.." + string(nrNewVars) + "), dp;";
    304   execute(ringSTR1);
    305   execute("minpoly = number(" + @mPoly + ");");
     300  def RAR1=addNvarsTo(basering,nrNewVars,"Y",1); setring RAR1;
     301  string ringSTR2 = "ring RAR2 = (" + charstr(basering) + "), Y(1.." + string(nrNewVars) + "), dp;";
    306302
    307303  ideal I, J1, J2, Fm;
  • Singular/LIB/sagbi.lib

    rcb2f4dc r374d8e  
    3131LIB "toric.lib";
    3232LIB "algebra.lib";
     33LIB "ring.lib";
    3334//////////////////////////////////////////////////////////////////////////////
    3435
     
    11111112
    11121113    //------------- change the basering bsr to bsr[@(0),...,@(z)] ----------
    1113     execute("ring s=("+charstr(basering)+"),("+varstr(basering)+",@(0..z)),dp;");
     1114    def s=addNvarsTo(basering,z+1,,"@",0); setring s;
    11141115    // Ev hier die Reihenfolge der Vars aendern. Dazu muss unten aber entsprechend
    11151116    // geaendert werden:
Note: See TracChangeset for help on using the changeset viewer.