#20288: Arithmetic in QQbar mutates elements
---------------------------------+------------------------
       Reporter:  jdemeyer       |        Owner:
           Type:  defect         |       Status:  new
       Priority:  minor          |    Milestone:  sage-7.2
      Component:  number theory  |   Resolution:
       Keywords:                 |    Merged in:
        Authors:                 |    Reviewers:
Report Upstream:  N/A            |  Work issues:
         Branch:                 |       Commit:
   Dependencies:                 |     Stopgaps:
---------------------------------+------------------------
Description changed by jdemeyer:

Old description:

> When doing arithmetic with a `QQbar` element, operations subtly mutate
> the elements which should be constant.
>
> In the example below, we see that `M^2` is displayed differently after we
> compute the rank of `M`:
> {{{
> sage: M = matrix(QQbar, 2, 2, [1, sqrt(-3), -sqrt(-3), 3])
> sage: M^2
> [   4.000000000000000?  6.928203230275509?*I]
> [-6.928203230275509?*I    12.00000000000000?]
> sage: rank(M)
> 1
> sage: M^2
> [                    4  6.928203230275509?*I]
> [-6.928203230275509?*I                    12]
> }}}

New description:

 When doing arithmetic with a `QQbar` element, operations subtly mutate the
 elements which should be constant.

 In the example below, we see that `M^2` is displayed differently after we
 compute the rank of `M`:
 {{{
 sage: M = matrix(QQbar, 2, 2, [1, sqrt(-3), -sqrt(-3), 3])
 sage: M^2
 [   4.000000000000000?  6.928203230275509?*I]
 [-6.928203230275509?*I    12.00000000000000?]
 sage: rank(M)
 1
 sage: M^2
 [                    4  6.928203230275509?*I]
 [-6.928203230275509?*I                    12]
 }}}
 One can easily see the difference in the `__dict__` of the upper right
 element:
 {{{
 sage: M = matrix(QQbar, 2, 2, [1, sqrt(-3), -sqrt(-3), 3])
 sage: M[0,1].__dict__
 {'_descr': Root 1.7320508075688772935?*I of x^2 + 3,
  '_value': 1.7320508075688772935?*I}
 sage: rank(M)
 1
 sage: M[0,1].__dict__
 {'_descr': -2*a + 1 where a^2 - a + 1 = 0 and a in 0.50000000000000000? -
 0.866025403784439?*I,
  '_value': 1.73205080756887729352744634150587236694?*I}
 }}}

--

--
Ticket URL: <http://trac.sagemath.org/ticket/20288#comment:1>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to