use strict; use warnings; use Quantum::Superpositions; my @a = (1, 3, 5, 7, 9, 11); my @b = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); my @intersect = eigenstates(any(@a) == any(@b)); my @union = eigenstates(any(@a, @b)); my @diff = eigenstates(any(@b) != all(@a)); print join(', ', @intersect)."\n"; print join(', ', @union) ."\n"; print join(', ', @diff) ."\n"; #### 11, 1, 3, 7, 9, 5 6, 11, 3, 7, 9, 12, 2, 8, 1, 4, 10, 5 6, 12, 2, 8, 4, 10