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";