perms.perm_sign

Calculates the permutation sign.

Functions

perm_sign(perm)

Compute the "sign" of a permutation [1].

Module Contents

perms.perm_sign.perm_sign(perm)

Compute the “sign” of a permutation [1].

The sign (either -1 or 1) of the permutation perm is -1**`inv, where inv is the number of inversions contained in perm.

Examples

For the following vector

\[[1, 2, 3, 4]\]

the permutation sign is positive as the number of elements in the vector are even. This can be performed in toqito as follows.

>>> from toqito.perms import perm_sign
>>> perm_sign([1, 2, 3, 4])
np.float64(1.0)

For the following vector

\[[1, 2, 3, 4, 5]\]

the permutation sign is negative as the number of elements in the vector are odd. This can be performed in toqito as follows.

>>> from toqito.perms import perm_sign
>>> perm_sign([1, 2, 4, 3, 5])
np.float64(-1.0)

References

[1] (1,2)

Wikipedia. Parity of a permutation. URL: https://en.wikipedia.org/wiki/Parity_of_a_permutation.

Parameters:

perm (numpy.ndarray | list[int]) – The permutation vector to be checked.

Returns:

The value 1 if the permutation is of even length and the value of -1 if the permutation is of odd length.

Return type:

float