Computing Solutions of Linear Mahler
Equations
Frédéric Chyzak
March 30, 2016
Joint work with Th. Dreyfus, Ph. Dumas, and M. Mezzarobba
1 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Linear Mahler Equations
Mahler operator of radix b (b ∈ N, b ≥ 2, y a function or series):
( My)( x ) = y( x b ).
2 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Linear Mahler Equations
Mahler operator of radix b (b ∈ N, b ≥ 2, y a function or series):
( My)( x ) = y( x b ).
Linear Mahler equation (coefficients `i ( x ) ∈ K[ x ]):
`r ( x )( Mr y)( x ) + · · · + `0 ( x )y( x ) = 0.
2 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Linear Mahler Equations
Mahler operator of radix b (b ∈ N, b ≥ 2, y a function or series):
( My)( x ) = y( x b ).
Linear Mahler equation (coefficients `i ( x ) ∈ K[ x ]):
`r ( x )( Mr y)( x ) + · · · + `0 ( x )y( x ) = 0.
partition theory
automata theory
transcendence theory
enumeration of words
complexity analysis of divide-and-conquer algorithms
2 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Linear Mahler Equations
Mahler operator of radix b (b ∈ N, b ≥ 2, y a function or series):
( My)( x ) = y( x b ).
Linear Mahler equation (coefficients `i ( x ) ∈ K[ x ]):
`r ( x )( Mr y)( x ) + · · · + `0 ( x )y( x ) = 0.
partition theory
automata theory
transcendence theory
enumeration of words
complexity analysis of divide-and-conquer algorithms
Recent interest (Bell and Coons; Dreyfus, Hardouin, Roques; Roques, 2015)
motivates algorithmic search for solutions.
2 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Linear Mahler Equations
Mahler operator of radix b (b ∈ N, b ≥ 2, y a function or series):
( My)( x ) = y( x b ).
Linear Mahler equation (coefficients `i ( x ) ∈ K[ x ]):
`r ( x )( Mr y)( x ) + · · · + `0 ( x )y( x ) = 0.
partition theory
automata theory
transcendence theory
enumeration of words
complexity analysis of divide-and-conquer algorithms
Recent interest (Bell and Coons; Dreyfus, Hardouin, Roques; Roques, 2015)
motivates algorithmic search for solutions, in particular rational solutions.
K = Q̄ (Nishioka, 1985): any solution y is rational or transcendental.
2 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Linear Mahler Equations
Mahler operator of radix b (b ∈ N, b ≥ 2, y a function or series):
( My)( x ) = y( x b ).
Linear Mahler equation (coefficients `i ( x ) ∈ K[ x ]):
`r ( x )( Mr y)( x ) + · · · + `0 ( x )y( x ) = 0.
partition theory
automata theory
transcendence theory
enumeration of words
complexity analysis of divide-and-conquer algorithms
Recent interest (Bell and Coons; Dreyfus, Hardouin, Roques; Roques, 2015)
motivates algorithmic search for solutions, in particular rational solutions.
K = Q̄ (Nishioka, 1985): any solution y is rational or transcendental.
In contrast, if b = char K and is prime, all solutions y are algebraic:
y( x b ) = y( x )b .
(See Dumas’s talk.)
2 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Our Goal in this Work: Solutions in Closed Form When char K = 0
Targeted classes
Given L of order r, with polynomial coefficients of degree ≤ d, find
algorithms of reasonable complexity for:
(power/Puiseux) series solutions,
polynomial solutions,
rational-function solutions.
3 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Our Goal in this Work: Solutions in Closed Form When char K = 0
Targeted classes
Given L of order r, with polynomial coefficients of degree ≤ d, find
algorithms of reasonable complexity for:
(power/Puiseux) series solutions,
polynomial solutions,
rational-function solutions.
Challenge
L( x n ) has degree d + br n,
similarly, change of unknowns y =
ỹ
→ deg Mr q = br deg q.
q
3 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Our Goal in this Work: Solutions in Closed Form When char K = 0
Targeted classes
Given L of order r, with polynomial coefficients of degree ≤ d, find
algorithms of reasonable complexity for:
(power/Puiseux) series solutions,
polynomial solutions,
rational-function solutions.
← our focus in this talk
Challenge
L( x n ) has degree d + br n,
similarly, change of unknowns y =
ỹ
→ deg Mr q = br deg q.
q
3 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Initiating the Quest for Denominator Bounds
r
∑
k =0
`k Mk
p
= 0,
q
p ∧ q = 1, q(0) 6= 0.
4 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Initiating the Quest for Denominator Bounds
r
∑
k =0
r −1
∑
k =0
`k Mk
p
= 0,
q
!
` k ( M r q ) ( M k q ) −1
r_
−1
Mi q
i =0
p ∧ q = 1, q(0) 6= 0.
( M k p ) + `r
r_
−1
!
Mi q
( Mr p) = 0.
i =0
4 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Initiating the Quest for Denominator Bounds
r
∑
k =0
r −1
∑
`k Mk
p
= 0,
q
!
` k ( M r q ) ( M k q ) −1
k =0
r_
−1
M i q ( M k p ) + `r
i =0
|
p ∧ q = 1, q(0) 6= 0.
{z
r_
−1
!
Mi q
( Mr p) = 0.
i =0
}
polynomial
4 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Initiating the Quest for Denominator Bounds
r
∑
k =0
r −1
∑
`k Mk
p
= 0,
q
!
` k ( M r q ) ( M k q ) −1
k =0
r_
−1
p ∧ q = 1, q(0) 6= 0.
M i q ( M k p ) + `r
i =0
|
{z
polynomial
r_
−1
!
Mi q ( Mr p) = 0.
i =0
}
|
{z
dividable by Mr q
}
4 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Initiating the Quest for Denominator Bounds
r
∑
k =0
r −1
∑
`k Mk
p
= 0,
q
!
` k ( M r q ) ( M k q ) −1
k =0
r_
−1
p ∧ q = 1, q(0) 6= 0.
M i q ( M k p ) + `r
i =0
|
{z
r_
−1
!
Mi q ( Mr p) = 0.
i =0
}
|
polynomial
M r q | `r
r_
−1
{z
dividable by Mr q
}
Mi q
i =0
4 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Initiating the Quest for Denominator Bounds
r
∑
k =0
r −1
∑
`k Mk
p
= 0,
q
!
` k ( M r q ) ( M k q ) −1
k =0
r_
−1
p ∧ q = 1, q(0) 6= 0.
M i q ( M k p ) + `r
i =0
|
{z
r_
−1
!
Mi q ( Mr p) = 0.
i =0
}
|
polynomial
M r q | `r
r_
−1
{z
dividable by Mr q
}
Mi q
i =0
r
q(α) = 0 and βb = α =⇒ `r ( β) = 0 or
i
q(α0 ) = 0 for α0 = βb , i < r
4 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Initiating the Quest for Denominator Bounds
r
∑
k =0
r −1
∑
`k Mk
p
= 0,
q
!
` k ( M r q ) ( M k q ) −1
k =0
r_
−1
p ∧ q = 1, q(0) 6= 0.
M i q ( M k p ) + `r
i =0
|
r_
−1
!
Mi q ( Mr p) = 0.
i =0
{z
}
|
polynomial
M r q | `r
r_
−1
{z
dividable by Mr q
}
Mi q
i =0
q(α) = 0
r
`r ( β) = 0 for βb = α
or
k
q(α0 ) = 0 for (α0 )b = α, k > 0
4 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Initiating the Quest for Denominator Bounds
r
∑
k =0
r −1
∑
`k Mk
p
= 0,
q
!
` k ( M r q ) ( M k q ) −1
k =0
r_
−1
p ∧ q = 1, q(0) 6= 0.
r_
−1
M i q ( M k p ) + `r
i =0
|
!
Mi q ( Mr p) = 0.
i =0
{z
}
|
polynomial
M r q | `r
r_
−1
{z
dividable by Mr q
}
Mi q
i =0
q(α) = 0
r
`r ( β) = 0 for βb = α
or
k
q(α0 ) = 0 for (α0 )b = α, k > 0
Geometric intuition
If α, not a root of unity, is a root of q, it generates:
a finite sequence α0 = α, α1 , . . . , αn of two by two distinct roots of q,
then, a br th root β n of αn that is a root of `r .
4 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
The Graeffe Operator: a Quasi-Inverse for the Mahler Operator
γ = αb
↑
α∈C
↓
βb = α
( Gp)(γ) = 0
↑
p(α) = 0
↓
( Mp)( β) = 0
Gp = Resy (yb − x, p(y))
↑
p ∈ K[ x ]
↓
Mp = p( x b )
5 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
The Graeffe Operator: a Quasi-Inverse for the Mahler Operator
γ = αb
↑
α∈C
↓
βb = α
Gp = Resy (yb − x, p(y))
↑
p ∈ K[ x ]
↓
Mp = p( x b )
( Gp)(γ) = 0
↑
p(α) = 0
↓
( Mp)( β) = 0
deg Mp = b deg p,
b
GMp = p ,
deg Gp = deg p,
p | MGp.
5 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
The Graeffe Operator: a Quasi-Inverse for the Mahler Operator
γ = αb
↑
α∈C
↓
βb = α
Gp = Resy (yb − x, p(y))
↑
p ∈ K[ x ]
↓
Mp = p( x b )
( Gp)(γ) = 0
↑
p(α) = 0
↓
( Mp)( β) = 0
deg Mp = b deg p,
b
GMp = p ,
deg Gp = deg p,
p | MGp.
Key lemma
Given ` ∈ K[ x ]:
q ∈ K[ x ] \ K
x-q
W −1 i
r
M q | ` ri=
0 M q
(
=⇒
∃u ∈ K[ x ] \ K,
Mr u | ` or
M r −1 u | `
q | Gu
5 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
The Graeffe Operator: a Quasi-Inverse for the Mahler Operator
γ = αb
↑
α∈C
↓
βb = α
Gp = Resy (yb − x, p(y))
↑
p ∈ K[ x ]
↓
Mp = p( x b )
( Gp)(γ) = 0
↑
p(α) = 0
↓
( Mp)( β) = 0
deg Mp = b deg p,
b
GMp = p ,
deg Gp = deg p,
p | MGp.
Key lemma
Given ` ∈ K[ x ]:
q ∈ K[ x ] \ K
x-q
W −1 i
r
M q | ` ri=
0 M q
(
=⇒
∃u ∈ K[ x ] \ K,
Mr u | ` or
M r −1 u | `
q | Gu
Remark: left case impossible =⇒ q is a product of cyclotomic polynomials.
5 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Graph of (Radical of) Graeffe Operator for b = 6 in Q[ x ]
∏
Mp =
q s.t.
√
q
G (q)= p
MΦ1 = Φ1 Φ2 Φ3 Φ6
M( x − 26 ) = ( x − 2)( x + 2)( x2 − 2x + 4)( x2 + 2x + 4)
.
.
.
Φ1
x
x − 2216
Φ3
Φ2
Φ6
x − 236 . . .
Φ4
Φ12
Φ9
Φ18
Φ36
Φ108
Φ216
x − 26 . . .
Φ24
Φ8
Φ16 Φ48 Φ144
.
.
.
.
.
.
.
.
.
Φ72
Φ54
Φ27
Φ432 Φ81 Φ162 Φ324
.
.
.
.
.
.
.
.
.
.
.
.
Φ648
Φ1296
.
.
.
.
.
.
x−2
x+2
x6 − 2
x6 + 2
.
.
.
.
.
.
...
x2 − 2x + 4
...
...
...
x2 + 2x + 4
x12 − 2x6 + 4 x12 + 2x6 + 4
.
.
.
.
.
.
6 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Graph of (Radical of) Graeffe Operator for b = 6 in Q[ x ]
∏
Mp =
q s.t.
√
q
G (q)= p
MΦ a = Φ a Φ2a Φ3a Φ6a ,
6
a∧6 = 1
2
M( x − 2 ) = ( x − 2)( x + 2)( x − 2x + 4)( x2 + 2x + 4)
.
.
.
Φa
x
x − 2216
Φ3a
Φ2a
Φ6a
x − 236 . . .
Φ4a
Φ12a
Φ18a
Φ36a
Φ54a Φ108a
Φ216a
Φ9a
x − 26 . . .
Φ24a
Φ8a
Φ72a
Φ27a
Φ16aΦ48a Φ144a Φ432aΦ81aΦ162aΦ324a Φ648a
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x−2
x+2
x6 − 2
x6 + 2
.
.
.
.
.
.
...
x2 − 2x + 4
...
...
...
x2 + 2x + 4
Φ1296a
.
.
.
.
.
.
x12 − 2x6 + 4 x12 + 2x6 + 4
.
.
.
.
.
.
6 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example When b = 3
L = (2x9 − 1)( x18 − x9 − 1)( x12 + x9 + 2x6 − x3 + 1)( x18 − x9 + 1)(2x34 − 9x33 + 10x32 + · · · )( x54 − x27 − 1) M2 + · · ·
L
.
.
.
512x − 1
x2 − 439204x − 1
64x2 + 8x + 1
.
.
.
x2 − 76x − 1
4x2 + 2x + 1 64x6 + 8x3 + 1
.
.
.
2x3 − 1 4x6 + 2x3 + 1
2x9 − 1
M2 q | `2 (q ∨ Mq).
.
.
.
8x − 1
2x − 1
p
= 0,
q
.
.
.
x+1
x2 − x + 1
x6 − x3 + 1
x18 − x9 + 1
x2 − 4x − 1
x4 + 76x3 + 5777x2 − 76x + 1
x4 + 4x3 + 17x2 − 4x + 1
x12 + 76x9 + 5777x6 − 76x3 + 1
.
.
.
.
.
.
x2 − x − 1
x4 + x3 + 2x2 − x + 1
x6 − x3 − 1
x12 + x9 + 2x6 − x3 + 1
x18 − x9 − 1
.
.
.
.
.
.
x54 − x27 − 1
512x34 − 10234881x33 + · · ·
.
.
.
64x68 + 2952x67 + · · ·
8x34 − 369x33 + · · ·
2x34 − 9x33 + 10x32 + · · ·
4x68 + 18x67 + · · ·
64x204 + 2952x201 + · · ·
.
.
.
.
.
.
.
.
.
.
.
.
7 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example When b = 3
L = (2x9 − 1)( x18 − x9 − 1)( x12 + x9 + 2x6 − x3 + 1)( x18 − x9 + 1)(2x34 − 9x33 + 10x32 + · · · )( x54 − x27 − 1) M2 + · · ·
L
.
.
.
512x − 1
x2 − 439204x − 1
64x2 + 8x + 1
.
.
.
x2 − 76x − 1
4x2 + 2x + 1 64x6 + 8x3 + 1
.
.
.
2x3 − 1 4x6 + 2x3 + 1
2x9 − 1
M2 q | `2 (q ∨ Mq).
.
.
.
8x − 1
2x − 1
p
= 0,
q
.
.
.
x+1
x2 − x + 1
x6 − x3 + 1
x18 − x9 + 1
x2 − 4x − 1
x4 + 76x3 + 5777x2 − 76x + 1
x4 + 4x3 + 17x2 − 4x + 1
x12 + 76x9 + 5777x6 − 76x3 + 1
.
.
.
.
.
.
x2 − x − 1
x4 + x3 + 2x2 − x + 1
x6 − x3 − 1
x12 + x9 + 2x6 − x3 + 1
x18 − x9 − 1
.
.
.
.
.
.
x54 − x27 − 1
512x34 − 10234881x33 + · · ·
.
.
.
64x68 + 2952x67 + · · ·
8x34 − 369x33 + · · ·
2x34 − 9x33 + 10x32 + · · ·
4x68 + 18x67 + · · ·
64x204 + 2952x201 + · · ·
.
.
.
.
.
.
.
.
.
.
.
.
u1 = (2x − 1)( x2 − x + 1)( x2 − x − 1)( x6 − x3 − 1) =⇒ M2 u1 | `2
7 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example When b = 3
L[u1 ] = (2x − 1)( x2 − x + 1)( x2 − x − 1)(2x3 − 1)( x6 − x3 + 1)( x6 − x3 − 1)( x12 + x9 + · · · )( x18 − x9 − 1)(2x34 − 9x33 + · · · ) M2 + · · ·
L [ u1 ]
p
= 0,
q
M2 q | `2 (q ∨ Mq).
.
.
.
.
.
.
x2 − 439204x − 1
512x − 1
64x2 + 8x + 1
8x − 1
2x − 1
4x2 + 2x + 1 64x6 + 8x3 + 1
.
.
.
2x3 − 1 4x6 + 2x3 + 1
2x9 − 1
.
.
.
x2 − 76x − 1
.
.
.
x+1
x2 − x + 1
x6 − x3 + 1
x18 − x9 + 1
x2 − 4x − 1
x4 + 76x3 + 5777x2 − 76x + 1
x4 + 4x3 + 17x2 − 4x + 1
x12 + 76x9 + 5777x6 − 76x3 + 1
.
.
.
.
.
.
x2 − x − 1
x4 + x3 + 2x2 − x + 1
x6 − x3 − 1
x12 + x9 + 2x6 − x3 + 1
x18 − x9 − 1
.
.
.
.
.
.
x54 − x27 − 1
512x34 − 10234881x33 + · · ·
.
.
.
64x68 + 2952x67 + · · ·
8x34 − 369x33 + · · ·
2x34 − 9x33 + 10x32 + · · ·
4x68 + 18x67 + · · ·
64x204 + 2952x201 + · · ·
.
.
.
.
.
.
.
.
.
.
.
.
7 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example When b = 3
L[u1 ] = (2x − 1)( x2 − x + 1)( x2 − x − 1)(2x3 − 1)( x6 − x3 + 1)( x6 − x3 − 1)( x12 + x9 + · · · )( x18 − x9 − 1)(2x34 − 9x33 + · · · ) M2 + · · ·
L [ u1 ]
p
= 0,
q
M2 q | `2 (q ∨ Mq).
.
.
.
.
.
.
x2 − 439204x − 1
512x − 1
64x2 + 8x + 1
8x − 1
2x − 1
4x2 + 2x + 1 64x6 + 8x3 + 1
.
.
.
2x3 − 1 4x6 + 2x3 + 1
2x9 − 1
.
.
.
x2 − 76x − 1
.
.
.
x+1
x2 − x + 1
x6 − x3 + 1
x18 − x9 + 1
x2 − 4x − 1
x4 + 76x3 + 5777x2 − 76x + 1
x4 + 4x3 + 17x2 − 4x + 1
x12 + 76x9 + 5777x6 − 76x3 + 1
.
.
.
.
.
.
x2 − x − 1
x4 + x3 + 2x2 − x + 1
x6 − x3 − 1
x12 + x9 + 2x6 − x3 + 1
x18 − x9 − 1
.
.
.
.
.
.
x54 − x27 − 1
512x34 − 10234881x33 + · · ·
.
.
.
64x68 + 2952x67 + · · ·
8x34 − 369x33 + · · ·
2x34 − 9x33 + 10x32 + · · ·
4x68 + 18x67 + · · ·
64x204 + 2952x201 + · · ·
.
.
.
.
.
.
.
.
.
.
.
.
u2 = ( x2 − x − 1)( x2 − 4x − 1) =⇒ M2 u2 | `2
7 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example When b = 3
L[u1 u2 ] = (2x − 1)( x2 − x + 1)( x2 − x − 1)2 ( x2 − 4x − 1)(2x3 − 1)( x4 + x3 + 2x2 − x + 1)( x6 − x3 + 1)( x6 − x3 − 1)(2x34 − 9x33 + · · · ) M2 + · · ·
L [ u1 u2 ]
p
= 0,
q
M2 q | `2 (q ∨ Mq).
.
.
.
.
.
.
x2 − 439204x − 1
512x − 1
64x2 + 8x + 1
8x − 1
2x − 1
4x2 + 2x + 1 64x6 + 8x3 + 1
.
.
.
2x3 − 1 4x6 + 2x3 + 1
2x9 − 1
.
.
.
x2 − 76x − 1
.
.
.
x+1
x2 − x + 1
x6 − x3 + 1
x18 − x9 + 1
x2 − 4x − 1
x4 + 76x3 + 5777x2 − 76x + 1
x4 + 4x3 + 17x2 − 4x + 1
x12 + 76x9 + 5777x6 − 76x3 + 1
.
.
.
.
.
.
x2 − x − 1
x4 + x3 + 2x2 − x + 1
x6 − x3 − 1
x12 + x9 + 2x6 − x3 + 1
x18 − x9 − 1
.
.
.
.
.
.
x54 − x27 − 1
512x34 − 10234881x33 + · · ·
.
.
.
64x68 + 2952x67 + · · ·
8x34 − 369x33 + · · ·
2x34 − 9x33 + 10x32 + · · ·
4x68 + 18x67 + · · ·
64x204 + 2952x201 + · · ·
.
.
.
.
.
.
.
.
.
.
.
.
7 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example When b = 3
L[u1 u2 ] = (2x − 1)( x2 − x + 1)( x2 − x − 1)2 ( x2 − 4x − 1)(2x3 − 1)( x4 + x3 + 2x2 − x + 1)( x6 − x3 + 1)( x6 − x3 − 1)(2x34 − 9x33 + · · · ) M2 + · · ·
L [ u1 u2 ]
p
= 0,
q
M2 q | `2 (q ∨ Mq).
.
.
.
.
.
.
x2 − 439204x − 1
512x − 1
64x2 + 8x + 1
8x − 1
2x − 1
4x2 + 2x + 1 64x6 + 8x3 + 1
.
.
.
2x3 − 1 4x6 + 2x3 + 1
2x9 − 1
.
.
.
x2 − 76x − 1
.
.
.
x+1
x2 − x + 1
x6 − x3 + 1
x18 − x9 + 1
x2 − 4x − 1
x4 + 76x3 + 5777x2 − 76x + 1
x4 + 4x3 + 17x2 − 4x + 1
x12 + 76x9 + 5777x6 − 76x3 + 1
.
.
.
.
.
.
x2 − x − 1
x4 + x3 + 2x2 − x + 1
x6 − x3 − 1
x12 + x9 + 2x6 − x3 + 1
x18 − x9 − 1
.
.
.
.
.
.
x54 − x27 − 1
512x34 − 10234881x33 + · · ·
.
.
.
64x68 + 2952x67 + · · ·
8x34 − 369x33 + · · ·
2x34 − 9x33 + 10x32 + · · ·
4x68 + 18x67 + · · ·
64x204 + 2952x201 + · · ·
.
.
.
.
.
.
.
.
.
.
.
.
u3 = 1
7 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example When b = 3
L[u1 u2 u3 ] = (2x − 1)( x2 − x + 1)( x2 − x − 1)2 ( x2 − 4x − 1)(2x3 − 1)( x4 + x3 + 2x2 − x + 1)( x6 − x3 + 1)( x6 − x3 − 1)(2x34 − 9x33 + · · · ) M2 + · ·
L [ u1 u2 u3 ]
p
= 0,
q
M2 q | `2 (q ∨ Mq).
.
.
.
.
.
.
x2 − 439204x − 1
512x − 1
64x2 + 8x + 1
8x − 1
2x − 1
4x2 + 2x + 1 64x6 + 8x3 + 1
.
.
.
2x3 − 1 4x6 + 2x3 + 1
2x9 − 1
.
.
.
x2 − 76x − 1
.
.
.
x+1
x2 − x + 1
x6 − x3 + 1
x18 − x9 + 1
x2 − 4x − 1
x4 + 76x3 + 5777x2 − 76x + 1
x4 + 4x3 + 17x2 − 4x + 1
x12 + 76x9 + 5777x6 − 76x3 + 1
.
.
.
.
.
.
x2 − x − 1
x4 + x3 + 2x2 − x + 1
x6 − x3 − 1
x12 + x9 + 2x6 − x3 + 1
x18 − x9 − 1
.
.
.
.
.
.
x54 − x27 − 1
512x34 − 10234881x33 + · · ·
.
.
.
64x68 + 2952x67 + · · ·
8x34 − 369x33 + · · ·
2x34 − 9x33 + 10x32 + · · ·
4x68 + 18x67 + · · ·
64x204 + 2952x201 + · · ·
.
.
.
.
.
.
.
.
.
.
.
.
7 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example When b = 3
L[u1 u2 u3 ] = (2x − 1)( x2 − x + 1)( x2 − x − 1)2 ( x2 − 4x − 1)(2x3 − 1)( x4 + x3 + 2x2 − x + 1)( x6 − x3 + 1)( x6 − x3 − 1)(2x34 − 9x33 + · · · ) M2 + · ·
L [ u1 u2 u3 ]
p
= 0,
q
M2 q | `2 (q ∨ Mq).
.
.
.
.
.
.
x2 − 439204x − 1
512x − 1
64x2 + 8x + 1
8x − 1
2x − 1
4x2 + 2x + 1 64x6 + 8x3 + 1
.
.
.
2x3 − 1 4x6 + 2x3 + 1
2x9 − 1
.
.
.
x2 − 76x − 1
.
.
.
x+1
x2 − x + 1
x6 − x3 + 1
x18 − x9 + 1
x2 − 4x − 1
x4 + 76x3 + 5777x2 − 76x + 1
x4 + 4x3 + 17x2 − 4x + 1
x12 + 76x9 + 5777x6 − 76x3 + 1
.
.
.
.
.
.
x2 − x − 1
x4 + x3 + 2x2 − x + 1
x6 − x3 − 1
x12 + x9 + 2x6 − x3 + 1
x18 − x9 − 1
.
.
.
.
.
.
x54 − x27 − 1
512x34 − 10234881x33 + · · ·
.
.
.
64x68 + 2952x67 + · · ·
8x34 − 369x33 + · · ·
2x34 − 9x33 + 10x32 + · · ·
4x68 + 18x67 + · · ·
64x204 + 2952x201 + · · ·
.
.
.
.
.
.
.
.
.
.
.
.
ũ = (2x − 1)( x2 − x + 1)( x2 − x − 1)( x2 − 4x − 1) =⇒ Mũ | `2 and q | G ũ
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
7 / 11
Looking for a Denominator: an Example When b = 3
L[u1 u2 u3 ] = (2x − 1)( x2 − x + 1)( x2 − x − 1)2 ( x2 − 4x − 1)(2x3 − 1)( x4 + x3 + 2x2 − x + 1)( x6 − x3 + 1)( x6 − x3 − 1)(2x34 − 9x33 + · · · ) M2 + · ·
L [ u1 u2 u3 ]
p
= 0,
q
M2 q | `2 (q ∨ Mq).
.
.
.
.
.
.
x2 − 439204x − 1
512x − 1
64x2 + 8x + 1
8x − 1
2x − 1
4x2 + 2x + 1 64x6 + 8x3 + 1
.
.
.
2x3 − 1 4x6 + 2x3 + 1
2x9 − 1
.
.
.
x2 − 76x − 1
.
.
.
x+1
x2 − x + 1
x6 − x3 + 1
x18 − x9 + 1
x2 − 4x − 1
x4 + 76x3 + 5777x2 − 76x + 1
x4 + 4x3 + 17x2 − 4x + 1
x12 + 76x9 + 5777x6 − 76x3 + 1
.
.
.
.
.
.
x2 − x − 1
x4 + x3 + 2x2 − x + 1
x6 − x3 − 1
x12 + x9 + 2x6 − x3 + 1
x18 − x9 − 1
.
.
.
.
.
.
x54 − x27 − 1
512x34 − 10234881x33 + · · ·
.
.
.
64x68 + 2952x67 + · · ·
8x34 − 369x33 + · · ·
2x34 − 9x33 + 10x32 + · · ·
4x68 + 18x67 + · · ·
64x204 + 2952x201 + · · ·
.
.
.
.
.
.
.
.
.
.
.
.
ũ = (2x−
1)( x2 − x + 1)
( x2−
x
− 1)
( x2−
4x− 1) =⇒ Mũ | `2 and q | G ũ
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
7 / 11
Looking for a Denominator: an Example (Conclusion)
Operator to solve:
L = (2x9 − 1)( x18 − x9 − 1)( x12 + x9 + 2x6 − x3 + 1)( x18 − x9 + 1)(2x34 − 9x33 + 10x32 + · · · )( x54 − x27 − 1) M2
− ( x2 + 1)( x2 − x − 1)(2x3 − 1)( x4 + 1)( x4 + x3 + 2x2 − x + 1)( x6 − x3 + 1)( x6 − x3 − 1)( x18 − x9 − 1)(2x88 − 9x87 + 8x86 + · · · ) M
+ x2 (2x − 1)( x2 − x + 1)2 ( x2 − x − 1)( x2 + x + 1)( x2 − 4x − 1)(2x102 − 9x99 + 10x96 + · · · )
Denominator bound found:
q? = u1 u2 G ũ = (2x − 1)( x2 − x + 1)2 ( x2 − x − 1)2 ( x2 − 4x − 1)( x6 − x3 − 1)
8 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example (Conclusion)
Operator to solve:
L = (2x9 − 1)( x18 − x9 − 1)( x12 + x9 + 2x6 − x3 + 1)( x18 − x9 + 1)(2x34 − 9x33 + 10x32 + · · · )( x54 − x27 − 1) M2
− ( x2 + 1)( x2 − x − 1)(2x3 − 1)( x4 + 1)( x4 + x3 + 2x2 − x + 1)( x6 − x3 + 1)( x6 − x3 − 1)( x18 − x9 − 1)(2x88 − 9x87 + 8x86 + · · · ) M
+ x2 (2x − 1)( x2 − x + 1)2 ( x2 − x − 1)( x2 + x + 1)( x2 − 4x − 1)(2x102 − 9x99 + 10x96 + · · · )
Denominator bound found:
q? = u1 u2 G ũ = (2x − 1)( x2 − x + 1)2 ( x2 − x − 1)2 ( x2 − 4x − 1)( x6 − x3 − 1)
Explicit rational solutions:
2x
(2x − 1)( x2 − x − 1)
and
x−3
( x2 − x + 1)( x2 − 4x − 1)( x6 − x3 − 1)
8 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Looking for a Denominator: an Example (Conclusion)
Operator to solve:
L = (2x9 − 1)( x18 − x9 − 1)( x12 + x9 + 2x6 − x3 + 1)( x18 − x9 + 1)(2x34 − 9x33 + 10x32 + · · · )( x54 − x27 − 1) M2
− ( x2 + 1)( x2 − x − 1)(2x3 − 1)( x4 + 1)( x4 + x3 + 2x2 − x + 1)( x6 − x3 + 1)( x6 − x3 − 1)( x18 − x9 − 1)(2x88 − 9x87 + 8x86 + · · · ) M
+ x2 (2x − 1)( x2 − x + 1)2 ( x2 − x − 1)( x2 + x + 1)( x2 − 4x − 1)(2x102 − 9x99 + 10x96 + · · · )
Denominator bound found:
q? = u1 u2 G ũ = (2x − 1)( x2 − x + 1)2 ( x2 − x − 1)2 ( x2 − 4x − 1)( x6 − x3 − 1)
Explicit rational solutions:
2x
(2x − 1)( x2 − x − 1)
and
x−3
( x2 − x + 1)( x2 − 4x − 1)( x6 − x3 − 1)
Remark: deg `2 = 145 > deg `2 [u1 ] = 84 > deg `2 [u1 u2 ] = 62.
8 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Computing Denominator Bounds
ith section in radix b
` = ∑n≥0 cn x n −−−−−−−−−−−→ ∑n≥0 cbr n+i x n =: f i
Algorithm
1
Set ` = `r , then repeat for k = 1, 2, . . . :
1
2
r
r
set uk = ib=−0 1 f i where ` = ∑ib=−0 1 xi Mr f i with f i ∈ K[ x ];
W −1 i
set ` = (`/Mr uk ) ri=
0 M uk
V
until deg uk = 0.
2
3
V b r −1 − 1
r −1
f i where ` = ∑ib=0 −1 xi Mr−1 f i with f i ∈ K[ x ].
?
Return q = u1 · · · uk−1 G ũ.
Set ũ =
i =0
Theorem (correctness)
Assume Ly = 0 with y =
p
x v̄ q
and q(0) 6= 0. Then, q | q? .
9 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Computing Denominator Bounds
ith section in radix b
` = ∑n≥0 cn x n −−−−−−−−−−−→ ∑n≥0 cbr n+i x n =: f i
Algorithm
1
Set ` = `r , then repeat for k = 1, 2, . . . :
1
2
r
r
set uk = ib=−0 1 f i where ` = ∑ib=−0 1 xi Mr f i with f i ∈ K[ x ];
W −1 i
set ` = (`/Mr uk ) ri=
0 M uk
V
until deg uk = 0.
2
3
V b r −1 − 1
r −1
f i where ` = ∑ib=0 −1 xi Mr−1 f i with f i ∈ K[ x ].
?
Return q = u1 · · · uk−1 G ũ.
Set ũ =
i =0
Theorem (correctness)
Assume Ly = 0 with y =
p
x v̄ q
and q(0) 6= 0. Then, q | q? .
Theorem (complexity and degree bounds)
algorithm runs in O(d M(d) log d) ops
deg q? ≤ d if b = 2,
deg q? ≤ d/br−1 if b ≥ 3
9 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Series and Polynomial Solutions
L of order r, with polynomial coefficients `k of valuation vk and degree ≤ d.
Valuation and degree bounds
Introducing suitable Newton polygons:
v0
vr
≤v≤
valuation v of series solutions: − r−1
,
b−1
b ( b − 1)
d
.
degree δ of polynomial solutions: δ ≤ r−1
b ( b − 1)
10 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Series and Polynomial Solutions
L of order r, with polynomial coefficients `k of valuation vk and degree ≤ d.
Valuation and degree bounds
Introducing suitable Newton polygons:
v0
vr
≤v≤
valuation v of series solutions: − r−1
,
b−1
b ( b − 1)
d
.
degree δ of polynomial solutions: δ ≤ r−1
b ( b − 1)
In particular: v̄ ≤ vr /(br − br−1 ).
10 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Series and Polynomial Solutions
L of order r, with polynomial coefficients `k of valuation vk and degree ≤ d.
Valuation and degree bounds
Introducing suitable Newton polygons:
v0
vr
≤v≤
valuation v of series solutions: − r−1
,
b−1
b ( b − 1)
d
.
degree δ of polynomial solutions: δ ≤ r−1
b ( b − 1)
In particular: v̄ ≤ vr /(br − br−1 ).
Complexity
basis of approximate series solutions in O(rv20 + r2 M(v0 )) ops,
basis of polynomials solutions in Õ(d2 /br + M(d)) ops.
10 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Series and Polynomial Solutions
L of order r, with polynomial coefficients `k of valuation vk and degree ≤ d.
Valuation and degree bounds
Introducing suitable Newton polygons:
v0
vr
≤v≤
valuation v of series solutions: − r−1
,
b−1
b ( b − 1)
d
.
degree δ of polynomial solutions: δ ≤ r−1
b ( b − 1)
In particular: v̄ ≤ vr /(br − br−1 ).
Complexity
basis of approximate series solutions in O(rv20 + r2 M(v0 )) ops,
basis of polynomials solutions in Õ(d2 /br + M(d)) ops.
In particular: reasonable complexity for numerators.
10 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Conclusions
Summary
theory of Newton polygons
algorithms for denominator bounds:
good: complexity is polynomial in r and d,
bad: quadratic in output size.
other algorithms for series solutions, polynomial solutions, and
rational-function solutions.
11 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
Conclusions
Summary
theory of Newton polygons
algorithms for denominator bounds:
good: complexity is polynomial in r and d,
bad: quadratic in output size.
other algorithms for series solutions, polynomial solutions, and
rational-function solutions.
Future work
the case `0 = 0,
infinite-product solutions,
rational solutions of Riccati-type equation.
11 / 11
Frédéric Chyzak
Computing Solutions of Linear Mahler Equations
© Copyright 2026 Paperzz