On 28.03.2016 09:24, 9il wrote:
Hello All,
Sebastian Wilzbach (aka @greenify) starts mir.combinatorics.
Numeric functions:
- `binomial`
Ranges:
- `permutations` RoR
- `cartesianPower` RoR
- `combinations` RoR
- `combinationsRepeat` RoR
RoR - Range of Ranges
PR: https://github.com/DlangScience/mir/pull/29
Best regards,
Ilya
Regarding ideas:
For each range, there should probably be a numeric function computing
the length of that range. (e.g. here, binomial corresponds to
combinations, there should be factorial corresponding to permutations etc.)
This table might provide some inspiration:
https://en.wikipedia.org/wiki/Twelvefold_way#Formulas
I'd suggest completing the set of functions and ranges such that they
cover all cases in this table.
They can then be generalized. (E.g. instead of choosing a subset of a
given size, one might want to choose multiple disjoint subsets of given
sizes etc.)
Also (both numeric functions and ranges, often more than one range per
numeric function):
- https://en.wikipedia.org/wiki/Multinomial_theorem
- https://en.wikipedia.org/wiki/Stirling_numbers_of_the_first_kind
- https://en.wikipedia.org/wiki/Derangement
- https://en.wikipedia.org/wiki/Cyclic_permutation, in particular
transpositions
- https://en.wikipedia.org/wiki/Catalan_number
- https://en.wikipedia.org/wiki/Fuss%E2%80%93Catalan_number
- https://en.wikipedia.org/wiki/Narayana_number
- https://en.wikipedia.org/wiki/Delannoy_number
- https://en.wikipedia.org/wiki/Motzkin_number
- https://en.wikipedia.org/wiki/Schr%C3%B6der_number
- https://en.wikipedia.org/wiki/Schr%C3%B6der%E2%80%93Hipparchus_number
- ...