#17662: Evenly distributed sets
-------------------------------------+-------------------------------------
Reporter: vdelecroix | Owner:
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-6.5
Component: combinatorial | Resolution:
designs | Merged in:
Keywords: | Reviewers: Nathann Cohen
Authors: Vincent Delecroix | Work issues:
Report Upstream: N/A | Commit:
Branch: public/17662 | 7224a147e9af6bb37a891e6536aa10fbf3135bd6
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by vdelecroix):
Hello,
== Commits precision ==
The method `_check_cosets` was just wrong and not tested. I corrected it
in `0a750d9`. It is also optimized to not use Python data. In the end
there is a new example which test the `check=True` in the class (and which
indirectly uses this method).
In `0a750d9`:
- as you suggested, now `x = B[kk]`
- I simplified the `_add_element` and rename it into
`_check_last_element` it is also much cleaner and a bit faster
- I removed `_pop` and copy/paste the corresponding code in two places
- To choose the next element x in the main loop, there are now some easy
check and it results in a great speedup
== Answers ==
> - Isn't it weird that all EDS not considered 'up to isomorphism' always
begin
> with `0,1`? Perhaps you should say somewhere that they are always
normalized?
yes it is, now there is a comment in the `INPUT` section
> - `to_difference_family` -- could you add a check that this is indeed a
> difference family? Like with the usual `check` argument?
>
> - Same with `an_element`.
done and done
> - "The value of the other" -- the value of the other what?
> {{{
> # Given one such function, the values of the other are 1/z, 1-z,
> # 1/(1-z), (z-1)/z and z/(z-1).
> }}}
it was value of the other functions. It is now clarified.
> - Why would that map `B[i]` to 1?
> {{{
> # We choose
> # t -> (x - t)/ (x - B[j])
> # (that maps x to 0 and B[i] to 1
> }}}
it was a typo, should be "(x - t) / (x - B[i])". Corrected.
> - I do not get this line
> ...
it is now very different and I hope, simpler (see commit `0a750d9`)
> Wouldn't it be better to call `_B_automorphisms()` in
`self._add_element`, and
> to not add the element if the min property is not satisfied?
`_B_automorphisms` (now `_B_relabelled_copies`) is very slow. We
should not use that seriously inside the main loop.
> - I do not understand why you do the same test twice:
> ...
> Isn't it better to define x as "the last element in the list+1"? This
way you
> couldn't have `x==q-2` when `B[kk-1]=q-2`
this is completely modified in the commit `0a750d9`
Vincent
--
Ticket URL: <http://trac.sagemath.org/ticket/17662#comment:30>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.