invariants

graphcalc.additive_combinatorics.invariants.additive_energy(A: AdditiveSet) int[source]

Return the additive energy of a finite additive set.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The number of additive quadruples in \(A\).

Return type:

int

graphcalc.additive_combinatorics.invariants.cardinality(A: AdditiveSet) int[source]

Return the cardinality of a finite additive set. For a finite subset \(A\) of an abelian group, the cardinality is \(|A|\).

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The number of elements of \(A\).

Return type:

int

graphcalc.additive_combinatorics.invariants.difference_constant(A: AdditiveSet) float[source]

Return the difference constant of a finite additive set.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The ratio \(|A-A| / |A|\).

Return type:

float

Raises:

ValueError – If A is empty.

graphcalc.additive_combinatorics.invariants.diffset_defect(A: AdditiveSet) int[source]

Return the difference-set defect of a finite additive set.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The quantity \(|A-A| - |A|\).

Return type:

int

graphcalc.additive_combinatorics.invariants.diffset_density(A: AdditiveSet) float[source]

Return the density of the self-difference set in the ambient group.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The ratio \(|A-A| / |G|\).

Return type:

float

graphcalc.additive_combinatorics.invariants.diffset_size(A: AdditiveSet) int[source]

Return the size of the self-difference set.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The cardinality of \(A - A\).

Return type:

int

graphcalc.additive_combinatorics.invariants.doubling_constant(A: AdditiveSet) float[source]

Return the doubling constant of a finite additive set.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The ratio \(|A+A| / |A|\).

Return type:

float

Raises:

ValueError – If A is empty.

graphcalc.additive_combinatorics.invariants.doubling_minus_difference(A: AdditiveSet) int[source]

Return the difference between the self-sumset size and the self-difference-set size.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The quantity \(|A+A| - |A-A|\).

Return type:

int

graphcalc.additive_combinatorics.invariants.energy_over_sumset_square(A: AdditiveSet) float[source]

Return the additive energy normalized by the square of the sumset size.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The ratio \(E(A) / |A+A|^2\).

Return type:

float

Raises:

ValueError – If \(A+A\) is empty.

graphcalc.additive_combinatorics.invariants.max_difference_representation_count(A: AdditiveSet) int[source]

Return the maximum self-difference representation count.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The maximum number of ordered representations of an element as a difference of two elements of \(A\).

Return type:

int

graphcalc.additive_combinatorics.invariants.max_sum_representation_count(A: AdditiveSet) int[source]

Return the maximum self-sum representation count.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The maximum value of \(r_{A,A}(x)\) over all ambient group elements \(x\).

Return type:

int

graphcalc.additive_combinatorics.invariants.normalized_additive_energy(A: AdditiveSet) float[source]

Return the additive energy normalized by \(|A|^3\).

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The ratio \(E(A) / |A|^3\).

Return type:

float

Raises:

ValueError – If A is empty.

graphcalc.additive_combinatorics.invariants.stabilizer_index(A: AdditiveSet) int[source]

Return the index of the stabilizer subgroup of a finite additive set.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The quotient \(|G| / |\operatorname{Stab}(A)|\).

Return type:

int

graphcalc.additive_combinatorics.invariants.stabilizer_size(A: AdditiveSet) int[source]

Return the size of the additive stabilizer of a set.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The cardinality of the stabilizer subgroup of \(A\).

Return type:

int

graphcalc.additive_combinatorics.invariants.stabilizer_size_of_sumset(A: AdditiveSet) int[source]

Return the size of the stabilizer of the self-sumset.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The cardinality of the stabilizer subgroup of \(A + A\).

Return type:

int

graphcalc.additive_combinatorics.invariants.sumset_defect(A: AdditiveSet) int[source]

Return the sumset defect of a finite additive set.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The quantity \(|A+A| - |A|\).

Return type:

int

graphcalc.additive_combinatorics.invariants.sumset_density(A: AdditiveSet) float[source]

Return the density of the self-sumset in the ambient group.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The ratio \(|A+A| / |G|\).

Return type:

float

graphcalc.additive_combinatorics.invariants.sumset_size(A: AdditiveSet) int[source]

Return the size of the self-sumset.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The cardinality of \(A + A\).

Return type:

int

graphcalc.additive_combinatorics.invariants.sumset_stabilizer_index(A: AdditiveSet) int[source]

Return the index of the stabilizer subgroup of the self-sumset.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The quotient \(|G| / |\operatorname{Stab}(A+A)|\).

Return type:

int

graphcalc.additive_combinatorics.invariants.tripling_constant(A: AdditiveSet) float[source]

Return the tripling constant of a finite additive set.

Parameters:

A (AdditiveSet) – Input additive set.

Returns:

The ratio \(|A+A+A| / |A|\).

Return type:

float

Raises:

ValueError – If A is empty.