Documentation

TauCeti.QuantumGroups.QuantumInteger.Factorial

Quantum factorials #

This file defines the quantum factorial [n]_q! = [1]_q [2]_q ⋯ [n]_q of the symmetric quantum integers [r]_q = (q^r - q^(-r)) / (q - q⁻¹) in a field, and the corresponding Laurent polynomial [n]_v! ∈ ℤ[v, v⁻¹].

Quantum factorials are the denominators of the divided powers x^(n) = x^n / [n]_q! of the Chevalley generators of a quantized enveloping algebra. Their nonvanishing is the genericity hypothesis under which those divided powers exist: [n]_q! ≠ 0 for every n exactly when q is nonzero and not a root of unity. At a root of unity, with q² of order ℓ, the quantum factorial [n]_q! is nonzero exactly for n < ℓ. The field convention makes every quantum integer vanish when q - q⁻¹ = 0, so [n]_(±1)! = 0 for n ≥ 1; the Laurent quantum factorial instead specializes to n! at v = 1.

Main definitions #

Main results #

References #

Vanishing of quantum integers at roots of unity #

theorem TauCeti.quantumInteger_eq_zero_iff_dvd {K : Type u_1} [Field K] {q : K} (hq : q ≠ 0) {ℓ : ℕ} (h : IsPrimitiveRoot (q ^ 2) ℓ) (r : ℤ) :
quantumInteger q r = 0 ↔ ↑ℓ ∣ r

If q ≠ 0 and q² is a primitive ℓ-th root of unity, then the quantum integer [r]_q vanishes exactly when ℓ ∣ r. For ℓ = 1, that is q = ±1, every quantum integer vanishes by the field convention.

Quantum factorials in a field #

noncomputable def TauCeti.quantumFactorial {K : Type u_1} [Field K] (q : K) (n : ℕ) :
K

The quantum factorial [n]_q! = [1]_q [2]_q ⋯ [n]_q of the symmetric quantum integers.

Instances For
    theorem TauCeti.quantumFactorial_def {K : Type u_1} [Field K] (q : K) (n : ℕ) :
    quantumFactorial q n = ∏ j ∈ Finset.range n, quantumInteger q (↑j + 1)

    The defining product formula for the quantum factorial.

    @[simp]
    theorem TauCeti.quantumFactorial_zero {K : Type u_1} [Field K] (q : K) :

    [0]_q! = 1.

    theorem TauCeti.quantumFactorial_succ {K : Type u_1} [Field K] (q : K) (n : ℕ) :

    [n + 1]_q! = [n]_q! [n + 1]_q.

    @[simp]

    [1]_q! = [1]_q, which is 1 when q - q⁻¹ ≠ 0.

    @[simp]

    Replacing the parameter by its inverse leaves every quantum factorial unchanged.

    theorem TauCeti.quantumFactorial_eq_zero_iff {K : Type u_1} [Field K] {q : K} {n : ℕ} :
    quantumFactorial q n = 0 ↔ ∃ j < n, quantumInteger q (↑j + 1) = 0

    The quantum factorial [n]_q! vanishes exactly when one of its factors [j + 1]_q, j < n, does.

    theorem TauCeti.quantumFactorial_ne_zero_of_le {K : Type u_1} [Field K] {q : K} {m n : ℕ} (hmn : m ≤ n) (hn : quantumFactorial q n ≠ 0) :

    Nonvanishing of quantum factorials passes to smaller indices: if [n]_q! ≠ 0 and m ≤ n, then [m]_q! ≠ 0.

    theorem TauCeti.sub_inv_ne_zero_of_quantumFactorial_ne_zero {K : Type u_1} [Field K] {q : K} {n : ℕ} (hn₀ : n ≠ 0) (hn : quantumFactorial q n ≠ 0) :
    q - q⁻¹ ≠ 0

    A nonzero quantum factorial [n]_q! with n ≥ 1 forces the defining denominator q - q⁻¹ of the quantum integers to be nonzero.

    Quantum factorials do not vanish at a generic quantum parameter.

    Genericity through quantum factorials: all quantum factorials [n]_q! are nonzero exactly when q is a generic quantum parameter, that is, nonzero and not a root of unity.

    theorem TauCeti.quantumFactorial_ne_zero_iff_lt {K : Type u_1} [Field K] {q : K} {ℓ : ℕ} (h : IsPrimitiveRoot (q ^ 2) ℓ) (hℓ : 0 < ℓ) {n : ℕ} :

    Quantum factorials at a root of unity: if q² is a primitive ℓ-th root of unity with ℓ > 0, then [n]_q! ≠ 0 exactly when n < ℓ.

    @[simp]
    theorem RingHom.map_quantumFactorial {K : Type u_1} [Field K] {L : Type u_2} [Field L] (φ : K →+* L) (q : K) (n : ℕ) :

    Ring homomorphisms between fields commute with the quantum factorials.

    Quantum binomial coefficients as quotients of quantum factorials #

    The quantum binomial coefficient times the two complementary quantum factorials is the quantum factorial: [n choose k]_q [k]_q! [n - k]_q! = [n]_q! for k ≤ n. This holds for every parameter q, including those at which quantum factorials vanish.

    theorem TauCeti.quantumBinomial_eq_div {K : Type u_1} [Field K] {q : K} {n k : ℕ} (hn : quantumFactorial q n ≠ 0) (hk : k ≤ n) :

    When [n]_q! ≠ 0, the quantum binomial coefficient is the quotient of quantum factorials [n choose k]_q = [n]_q! / ([k]_q! [n - k]_q!) for k ≤ n.

    theorem TauCeti.inv_quantumFactorial_smul_add_pow {K : Type u_1} [Field K] {A : Type u_2} [Semiring A] [Algebra K A] {q : K} {x y : A} (h : y * x = q ^ 2 • (x * y)) {n : ℕ} (hn : quantumFactorial q n ≠ 0) :
    (quantumFactorial q n)⁻¹ • (x + y) ^ n = ∑ k ∈ Finset.range (n + 1), q ^ (k * (n - k)) • ((quantumFactorial q k)⁻¹ • x ^ k * (quantumFactorial q (n - k))⁻¹ • y ^ (n - k))

    The divided-power q-binomial theorem: if y x = q² x y and [n]_q! ≠ 0, then the divided power (x + y)^(n) = (x + y)^n / [n]_q! expands as ∑_k q^(k(n-k)) x^(k) y^(n-k), with x^(k) = x^k / [k]_q!.

    The Laurent quantum factorial #

    The quantum factorial [n]_v! = [1]_v [2]_v ⋯ [n]_v of the Laurent quantum integers in ℤ[v, v⁻¹].

    Instances For

      The defining product formula for the Laurent quantum factorial.

      theorem TauCeti.laurentEval_laurentQuantumFactorial {K : Type u_1} [Field K] {u : Kˣ} (hu : ↑u - (↑u)⁻¹ ≠ 0) (n : ℕ) :

      At a unit q of a field with q - q⁻¹ ≠ 0, the Laurent quantum factorial [n]_v! takes the value [n]_q!.

      @[simp]

      At v = 1 the Laurent quantum factorial [n]_v! is the factorial n!.

      The Laurent quantum factorial [n]_v! is nonzero, since its value at v = 1 is n!.