#9880: Pynac comparison functions do not provide a SWO
-----------------------------+----------------------------------------------
Reporter: jpflori | Owner: burcin
Type: defect | Status: needs_work
Priority: major | Milestone: sage-5.1
Component: symbolics | Resolution:
Keywords: pynac | Work issues:
Report Upstream: N/A | Reviewers:
Authors: | Merged in:
Dependencies: #12068 | Stopgaps:
-----------------------------+----------------------------------------------
Old description:
> Here is a short example found by Burcin and reproducing the bug:
>
> {{{
> b = [var('b_%s'%i) for i in range(4)]
>
> precomp = (2^b_2 + 2)*(2^b_1 + 2^(-b_1) + 2^b_1*2^b_0 - 2^b_1*2^(-b_0)
> - 2^(-b_1)*2^b_0 - 2^(-b_1)*2^(-b_0) + 2^b_0 + 2^(-b_0) - 9) + (2^b_1 +
> 2^(-b_1) + 2^b_1*2^b_0 - 2^b_1*2^(-b_0) - 2^(-b_1)*2^b_0 -
> 2^(-b_1)*2^(-b_0) + 2^b_0 + 2^(-b_0) - 9)/2^b_2
>
> repl_dict = {b_0: b_0, b_3: b_1, b_2: b_3, b_1: b_2}
> P = precomp.substitute(repl_dict)
> P.expand()
> }}}
> This is already being discussed here: http://groups.google.com/group
> /sage-support/browse_thread/thread/7c85f02c76012722
>
> The following patches are for the Sage library to enable access to the
> PyNaC order and randomly test that it is a SWO:
>
> First build Pynac with patches from Burcin pynac queue
> https://bitbucket.org/burcin/pynac-patches and
> [attachment:numerics.patch] applied and install it.
>
> Then apply
> 1. [attachment:trac_9880_fix_import.patch]
> 1. [attachment:trac_9880_pynac_order.take2.patch]
> 1. [attachment:trac_9880_randomized_testing.patch]
> 1. [attachment:trac_9880-stable_operands.patch]
> 1. [attachment:trac_9880_pynac_infinities.patch]
> 1. [attachment:trac_9880-fix_comparison-p1.patch]
> 1. [attachment:trac_9880-fix_variables_ordering.patch]
> 1. [attachment:trac_9880-fix_doctests_symbolic.take2.patch]
> 1. [attachment:trac_9880-fix_doctests-be.patch]
>
> Last patch depends on #12068
New description:
Here is a short example found by Burcin and reproducing the bug:
{{{
b = [var('b_%s'%i) for i in range(4)]
precomp = (2^b_2 + 2)*(2^b_1 + 2^(-b_1) + 2^b_1*2^b_0 - 2^b_1*2^(-b_0)
- 2^(-b_1)*2^b_0 - 2^(-b_1)*2^(-b_0) + 2^b_0 + 2^(-b_0) - 9) + (2^b_1 +
2^(-b_1) + 2^b_1*2^b_0 - 2^b_1*2^(-b_0) - 2^(-b_1)*2^b_0 -
2^(-b_1)*2^(-b_0) + 2^b_0 + 2^(-b_0) - 9)/2^b_2
repl_dict = {b_0: b_0, b_3: b_1, b_2: b_3, b_1: b_2}
P = precomp.substitute(repl_dict)
P.expand()
}}}
This is already being discussed here: http://groups.google.com/group/sage-
support/browse_thread/thread/7c85f02c76012722
The following patches are for the Sage library to enable access to the
PyNaC order and randomly test that it is a SWO:
First build Pynac with patches from Burcin's pynac queue
https://bitbucket.org/burcin/pynac-patches applied and install it.
Then apply
1. [attachment:trac_9880_fix_import.patch]
1. [attachment:trac_9880_pynac_order.take2.patch]
1. [attachment:trac_9880_randomized_testing.patch]
1. [attachment:trac_9880-stable_operands.patch]
1. [attachment:trac_9880-fix_comparison-p1.patch]
1. [attachment:trac_9880-fix_variables_ordering.patch]
1. [attachment:trac_9880-doctest_for_9046.patch]
1. [attachment:trac_9880-fix_doctests_symbolic.take2.patch]
1. [attachment:trac_9880-fix_doctests-be.patch]
Last patch depends on #12068
--
Comment (by burcin):
This fixes #9046 as well. I attached
[attachment:trac_9880-doctest_for_9046.patch] to add the example there as
a doctest.
We don't need [attachment:trac_9880_pynac_infinities.patch] since that was
merged in #12950, so I removed it from the patches listed in the
description.
Naturally the doctest patches, the last two in the list, have bitrotted.
The rest seems to apply fine, though I only tried with 5.0.beta13.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9880#comment:68>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.