#20919: Wrong behaviour when `existence=True` for `incomplete_orthogonal_array` 
and
`difference_family`
-----------------------------------------+------------------------
       Reporter:  eviatarbach            |        Owner:
           Type:  defect                 |       Status:  new
       Priority:  major                  |    Milestone:  sage-7.3
      Component:  combinatorial designs  |   Resolution:
       Keywords:  days78                 |    Merged in:
        Authors:                         |    Reviewers:
Report Upstream:  N/A                    |  Work issues:
         Branch:                         |       Commit:
   Dependencies:                         |     Stopgaps:
-----------------------------------------+------------------------
Description changed by eviatarbach:

Old description:

> The docstring for `designs.incomplete_orthogonal_array` claims that if
> `existence=True`, the function will return a boolean or `Unknown`.
> However, for certain values, it returns the array.
>
> For example,
>
> {{{
> sage: type(designs.incomplete_orthogonal_array(9,82,[9],existence=True))
> <type 'list'>
> }}}
>
> I encountered this while working on something else, and I have no idea of
> the math behind this, but it seems to be incorrect. The problem seems to
> be in the block starting at line 1371 in `orthogonal_arrays.py` ("From a
> quasi-difference matrix"); all other branches in the function take into
> account whether `existence` is set, but this one does not.

New description:

 The docstring for `designs.incomplete_orthogonal_array` claims that if
 `existence=True`, the function will return a boolean or `Unknown`.
 However, for certain values, it returns the array.

 For example,

 {{{
 sage: type(designs.incomplete_orthogonal_array(9,82,[9],existence=True))
 <type 'list'>
 }}}

 I encountered this while working on something else, and I have no idea of
 the math behind this, but it seems to be incorrect. The problem seems to
 be in the block starting at line 1371 in `orthogonal_arrays.py` ("From a
 quasi-difference matrix"); all other branches in the function take into
 account whether `existence` is set, but this one does not.

 Similarly,

 {{{
 sage: type(designs.difference_family(3, 2, 1, existence=True)[0])
 <class
 
'sage.rings.finite_rings.integer_mod_ring.IntegerModRing_generic_with_category'>
 }}}

--

--
Ticket URL: <https://trac.sagemath.org/ticket/20919#comment:3>
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