#15390: roots of polynomials and eigenvalues of matrices over finite fields
-------------------------------------+-------------------------------------
       Reporter:  vdelecroix         |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.3
      Component:  number theory      |   Resolution:
       Keywords:  sage-days55        |    Merged in:
        Authors:  Vincent Delecroix  |    Reviewers:
Report Upstream:  N/A                |  Work issues:  wait for dependency
         Branch:                     |       Commit:
  u/vdelecroix/15390                 |  42c5808ea1a7961a9dd22de18a36f587aacc5e03
   Dependencies:  #14990, #16509     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by vdelecroix):

 Hey

 The two things are equivalent in an algebraically closed field, right? And
 from the coding point of view, it is more natural the other way around. If
 you look at the part of the code which actually does the computation, I do
 not see where it looks more like a factorisation rather than a computation
 of roots
 {{{
 roots = [] # a list of pair (root,multiplicity)
 for g,m in P(new_coeffs).factor():
     if g.degree() == 1:
         r = phi(-g.constant_coefficient())
         roots.append((r,m))
     else:
         ll = l * g.degree()
         psi = self.inclusion(l, ll)
         FF, pphi = self.subfield(ll)
         gg = PolynomialRing(FF, 'x')(map(psi, g))
         for r,_ in gg.roots(): # note: we know that multiplicity is 1
                 roots.append((pphi(r),m))
 }}}

 If you have an alternative proposition, propose it, but I really do not
 see what you mean. The only `factor` which appears above is over the field
 where are defined the coefficients.

 Vincent

--
Ticket URL: <http://trac.sagemath.org/ticket/15390#comment:23>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to