Ticket #7422 (needs_work enhancement)

Opened 10 months ago

Last modified 4 months ago

New Incidence Structure and Block Design constructions

Reported by: brett Owned by:
Priority: major Milestone:
Component: combinatorics Keywords: Block Design, Incidence Structure, Residual, Derived, Complement, Supplement, Point Deletion
Cc: rbeezer, wdj Author(s): Brett Stevens
Report Upstream: N/A Reviewer(s):
Merged in: Work issues:

Description

I have added two references; fixed the points() method to return points in lexicographic order so eq works properly; made is_simple() its own standalone method and call it from block_design_checker and added the following constructions: Derived at a Point, Residual at a Point, Derived at a Block, Residual at a Block, Complementary, Supplementary, Point Deletion and Extraction of Blocks by size.

Some relevant discussion is here:

 http://groups.google.com/group/sage-devel/browse_thread/thread/305158ab5d3181bc

Reviewers:

- Please think about my first item on the TODO list; is that a better way to proceed with derived_blck and residual_blck?

-I do not know whether this is "Minor" or "Major" (I am pretty sure it is not the others) so I have put "Major". Please tell me if I was wrong.

- I have no idea what to put in Milestone so I have left it blank.

Attachments

trac_7422_block_design_constructions.patch Download (16.1 KB) - added by brett 10 months ago.
Patch with new constructions

Change History

  Changed 10 months ago by brett

  • cc rbeezer, wdj added; beezer@… removed
  • status changed from new to needs_review

follow-up: ↓ 3   Changed 10 months ago by jason

Just a python and Sage style note: unless there is a huge significant reason, things in function names should be spelled out. So, for example, residual_pt should be residual_point, blck should be "block", etc. This makes a huge difference in readability for someone that is using the module, reading code written by others, etc.

in reply to: ↑ 2   Changed 10 months ago by brett

Replying to jason:

Just a python and Sage style note: unless there is a huge significant reason, things in function names should be spelled out. So, for example, residual_pt should be residual_point, blck should be "block", etc. This makes a huge difference in readability for someone that is using the module, reading code written by others, etc.

OK, I will make this change, thanks.

Changed 10 months ago by brett

Patch with new constructions

  Changed 10 months ago by brett

I have changed the function names so they are all fully descriptive of what they do.

I also have a question. When I run:

sage -coverage Projects/SAGE/sage-source/devel/sage/sage/combinat/designs/incidence_structures.py

I do get 100% coverage but I also get:

ERROR: Please add a TestSuite(s).run() doctest.

I have looked in the sage reference manual and the developers guide to see what this is and how I add such a thing, but to no avail. If someone knows what this is please tell me or send a link to a page that describes it. When I know what to do, I will add one of these.

  Changed 10 months ago by jason

Here is the patch for adding such a thing to matrices in Sage. You might find the code useful as an example.

#6936

Here is the ticket that introduced the framework:

#6343

I don't know where this is documented, but there probably is a mailing list message or two about it.

  Changed 6 months ago by drkirkby

  • owner mhansen deleted
  • upstream set to N/A

Has this been checked on Solaris?

There's general information about building on Solaris at

 http://wiki.sagemath.org/solaris

Information specifically for 't2' at

 http://wiki.sagemath.org/devel/Building-Sage-on-the-T5240-t2

Both the source (4.3.0.1 is the latest to build on Solaris) and a binary which will run on any SPARC can be found at http://www.sagemath.org/download-source.html

Dave

  Changed 4 months ago by ncohen

  • status changed from needs_review to needs_work

I do not know if this patch is still necessary, but if it is it needs to be rebased.

12 out of 12 hunks FAILED -- saving rejects to file sage/combinat/designs/incidence_structures.py.rej

Nathann

Note: See TracTickets for help on using tickets.