Issue 20919: Wrong behaviour when existence=True
for incomplete_orthogonal_array
and difference_family
archive/issues_020682.json:
{
"assignees": [],
"body": "<div id=\"comment:0\"></div>\n\nThe 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.\n\nFor example,\n\n```\nsage: type(designs.incomplete_orthogonal_array(9,82,[9],existence=True))\n<type 'list'>\n```\n\nI 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.\n\nSimilarly,\n\n```\nsage: type(designs.difference_family(3, 2, 1, existence=True)[0])\n<class 'sage.rings.finite_rings.integer_mod_ring.IntegerModRing_generic_with_category'>\n```\n\nCC: @videlec\n\nComponent: **combinatorial designs**\n\nKeywords: **days78**\n\n_Issue created by migration from https://trac.sagemath.org/ticket/20919_\n\n",
"created_at": "2016-07-01T23:16:40Z",
"labels": [
"https://github.com/sagemath/sage/labels/c%3A%20combinatorial%20designs",
"https://github.com/sagemath/sage/labels/p%3A%20major%20/%203",
"https://github.com/sagemath/sage/labels/bug"
],
"reactions": [],
"repository": "https://github.com/sagemath/sage",
"title": "Wrong behaviour when `existence=True` for `incomplete_orthogonal_array` and `difference_family`",
"type": "issue",
"updated_at": "2022-12-29T01:36:35Z",
"url": "https://github.com/sagemath/sage/issues/20919",
"user": "https://github.com/eviatarbach"
}
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'>
CC: @videlec
Component: combinatorial designs
Keywords: days78
Issue created by migration from https://trac.sagemath.org/ticket/20919
archive/issue_events_291786.json:
{
"actor": "https://github.com/eviatarbach",
"created_at": "2016-07-01T23:16:40Z",
"event": "milestoned",
"issue": "https://github.com/sagemath/sage/issues/20919",
"milestone_number": null,
"milestone_title": "sage-7.3",
"type": "issue_event",
"url": "https://github.com/sagemath/sage/issues/20919#event-291786"
}
archive/issue_events_291787.json:
{
"actor": "https://github.com/eviatarbach",
"created_at": "2016-07-01T23:16:40Z",
"event": "labeled",
"issue": "https://github.com/sagemath/sage/issues/20919",
"label": "https://github.com/sagemath/sage/labels/c%3A%20combinatorial%20designs",
"label_color": "0000ff",
"label_name": "c: combinatorial designs",
"label_text_color": "ffffff",
"type": "issue_event",
"url": "https://github.com/sagemath/sage/issues/20919#event-291787"
}
archive/issue_events_291788.json:
{
"actor": "https://github.com/eviatarbach",
"created_at": "2016-07-01T23:16:40Z",
"event": "labeled",
"issue": "https://github.com/sagemath/sage/issues/20919",
"label": "https://github.com/sagemath/sage/labels/p%3A%20major%20/%203",
"label_color": "ffbb00",
"label_name": "p: major / 3",
"label_text_color": "ffffff",
"type": "issue_event",
"url": "https://github.com/sagemath/sage/issues/20919#event-291788"
}
archive/issue_events_291789.json:
{
"actor": "https://github.com/eviatarbach",
"created_at": "2016-07-01T23:16:40Z",
"event": "labeled",
"issue": "https://github.com/sagemath/sage/issues/20919",
"label": "https://github.com/sagemath/sage/labels/bug",
"label_color": "d73a4a",
"label_name": "bug",
"label_text_color": "ffffff",
"type": "issue_event",
"url": "https://github.com/sagemath/sage/issues/20919#event-291789"
}
archive/issue_comments_303841.json:
{
"body": "<div id=\"comment:1\" align=\"right\">comment:1</div>\n\nSimilar problem with `designs.difference_family(3, 2, 1, existence=True)`",
"created_at": "2016-07-01T23:57:31Z",
"formatter": "markdown",
"issue": "https://github.com/sagemath/sage/issues/20919",
"type": "issue_comment",
"url": "https://github.com/sagemath/sage/issues/20919#issuecomment-303841",
"user": "https://github.com/eviatarbach"
}
Similar problem with designs.difference_family(3, 2, 1, existence=True)
archive/issue_comments_303842.json:
{
"body": "Description changed:\n``````diff\n--- \n+++ \n@@ -1,4 +1,4 @@\n-The docstring for `designs.incomplete_orthogocal_array` claims that if `existence=True`, the function will return a boolean or `Unknown`. However, for certain values, it returns the array.\n+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.\n \n For example,\n \n``````\n",
"created_at": "2016-07-02T00:17:54Z",
"formatter": "markdown",
"issue": "https://github.com/sagemath/sage/issues/20919",
"type": "issue_comment",
"url": "https://github.com/sagemath/sage/issues/20919#issuecomment-303842",
"user": "https://github.com/eviatarbach"
}
Description changed:
---
+++
@@ -1,4 +1,4 @@
-The docstring for `designs.incomplete_orthogocal_array` claims that if `existence=True`, the function will return a boolean or `Unknown`. However, for certain values, it returns the array.
+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,
archive/issue_events_291790.json:
{
"actor": "https://github.com/eviatarbach",
"created_at": "2016-07-02T00:24:13Z",
"event": "renamed",
"issue": "https://github.com/sagemath/sage/issues/20919",
"title_is": "Wrong behaviour when `existence=True` for `incomplete_orthogonal_array` and `difference_family`",
"title_was": "Apparent bug in incomplete orthogonal arrays",
"type": "issue_event",
"url": "https://github.com/sagemath/sage/issues/20919#event-291790"
}
archive/issue_comments_303843.json:
{
"body": "Description changed:\n``````diff\n--- \n+++ \n@@ -8,3 +8,10 @@\n ```\n \n 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.\n+\n+Similarly,\n+\n+```\n+sage: type(designs.difference_family(3, 2, 1, existence=True)[0])\n+<class 'sage.rings.finite_rings.integer_mod_ring.IntegerModRing_generic_with_category'>\n+```\n``````\n",
"created_at": "2016-07-02T00:24:13Z",
"formatter": "markdown",
"issue": "https://github.com/sagemath/sage/issues/20919",
"type": "issue_comment",
"url": "https://github.com/sagemath/sage/issues/20919#issuecomment-303843",
"user": "https://github.com/eviatarbach"
}
Description changed:
---
+++
@@ -8,3 +8,10 @@
```
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'>
+```
archive/issue_events_291791.json:
{
"actor": "https://github.com/mkoeppe",
"created_at": "2022-12-29T01:36:35Z",
"event": "demilestoned",
"issue": "https://github.com/sagemath/sage/issues/20919",
"milestone_number": null,
"milestone_title": "sage-7.3",
"type": "issue_event",
"url": "https://github.com/sagemath/sage/issues/20919#event-291791"
}