flopscope.is_symmetric
flopscope.is_symmetric(data: 'np.ndarray', *, symmetry, atol: 'float' = 1e-06, rtol: 'float' = 1e-05) -> 'bool'[flopscope source]
Check whether *data* is invariant under the given symmetry.
Check whether data is invariant under the given symmetry.
Parameters
- data:flops.ndarray
The array to test.
- symmetry:SymmetryGroup or array-like specification
Symmetry to verify, normalized via normalize_symmetry_input.
- atol:float, optional
Absolute tolerance used by flops.allclose. Default
1e-6.- rtol:float, optional
Relative tolerance used by flops.allclose. Default
1e-5.
Returns
- :bool
Trueif data is invariant under every group element, otherwiseFalse.
Examples
>>> import flopscope as flops
>>> import flopscope.numpy as fnp
>>> matrix = fnp.array([[1.0, 2.0], [2.0, 3.0]])
>>> flops.is_symmetric(
... matrix, symmetry=flops.SymmetryGroup.symmetric(axes=(0, 1))
... )
True