perms.perfect_matchings¶
Perfect matchings refers to ways of grouping an even number of objects into pairs.
Functions¶
|
Give all perfect matchings of |
Module Contents¶
- perms.perfect_matchings.perfect_matchings(num)¶
Give all perfect matchings of
num
objects.The input can be either an even natural number (the number of objects to be matched) or a numpy array containing an even number of distinct objects to be matched.
Returns all perfect matchings of a given list of objects. That is, it returns all ways of grouping an even number of objects into pairs.
This function is adapted from QETLAB. [1].
Examples
This is an example of how to generate all perfect matchings of the numbers 0, 1, 2, 3.
>>> from toqito.perms import perfect_matchings >>> perfect_matchings(4) array([[0, 1, 2, 3], [0, 2, 1, 3], [0, 3, 2, 1]])
References
[1]Nathaniel Johnston. QETLAB: A MATLAB toolbox for quantum entanglement. URL: https://github.com/nathanieljohnston/QETLAB, doi:10.5281/zenodo.44637.
- Parameters:
num (list[int] | int | numpy.ndarray) – Either an even integer, indicating that you would like all perfect matchings of the integers 0, 1, … N-1, or a list or np.array containing an even number of distinct entries, indicating that you would like all perfect matchings of those entries.
- Returns:
An array containing all valid perfect matchings of size
num
.- Return type:
numpy.ndarray