Changeset 21c133 in git


Ignore:
Timestamp:
Jun 28, 2020, 10:26:42 AM (4 years ago)
Author:
Gergo Borus <gergo@…>
Branches:
(u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
Children:
dc69b80290980f6110fcb3b9978c07da5f87863d
Parents:
a7235589fb2e045397d9d6de8846aeccb51f4074
git-author:
Gergo Borus <gergo@borus.hu>2020-06-28 10:26:42+02:00
git-committer:
Gergo Borus <gergo@borus.hu>2020-06-28 11:29:45+02:00
Message:
fix: tr. #638 (weighted degrees in ffsolve)

First example:
-y^2 + x^3 + x has indeed only 4 points, the actual Hermitian
curve -y^3  + x^2 + x has 8 and all of them are returned.

Second example:
simplesolver had an assumption about deg which did not hold for
weighted degrees.
The used method for extending the ring could not handle weighted
degrees.

Third example:
Limitation stemming from factorize.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/ffsolve.lib

    ra723558 r21c133  
    314314  ideal partial_system, curr_sol, curr_sys, factors;
    315315  poly univar_poly;
     316  intvec ones = 1:nvars(basering);
    316317  E = E+defaultIdeal();
    317318  // check assumptions
     
    345346      for(j=1; j<=ncols(factors); j++)
    346347      {
    347         if(deg(factors[j])==1)
     348        if(deg(factors[j], ones)==1)
    348349        {
    349350          curr_sol = std(solutions[i]+ideal(factors[j]));
     
    851852    +get_minpoly_str(size(original_ring),parstr(original_ring,1))+";" ;
    852853  }
    853   string old_vars = varstr(original_ring);
    854   string new_vars = "@y(1.."+string( number_of_monomials )+")";
    855 
    856   def ring_for_var_change = changevar( old_vars+","+new_vars, original_ring);
     854
     855  def ring_for_var_change = addNvarsTo(original_ring, number_of_monomials, "@y", 2);
     856 
    857857  setring ring_for_var_change;
    858858  if( prime_field == 0)
     
    877877  }
    878878
     879  string new_vars = "@y(1.."+string( number_of_monomials )+")";
    879880  def ring_for_elimination = changevar( new_vars, ring_for_var_change);
    880881  setring ring_for_elimination;
Note: See TracChangeset for help on using the changeset viewer.