The given matrix equation implies that the minimal polynomial of A divides f(x):=p2xp2−q2xq2−1. It follows that A can be constructed as a block diagonal matrix [Cg00In−d] for any divisor g(x)∣f(x) of degree d:=degg(x)≤n, where Cg is the companion matrix of g(x).
Here is a sample code that constructs and prints such matrices:
def compA(n,p,q,r):
assert p^2 == q^2 + r^2
R.<x> = PolynomialRing(QQ)
f = p^2*x^(p^2) - q^2*x^(q^2) - r^2
for g in divisors(f):
if g.degree()>n:
continue
A = block_diagonal_matrix(companion_matrix(g), identity_matrix(n-g.degree()))
print(A)
![]() | 2 | No.2 Revision |
The given matrix equation implies that the minimal polynomial of A divides f(x):=p2xp2−q2xq2−1. It follows that A can be constructed as a block diagonal matrix [Cg00In−d] for any divisor g(x)∣f(x) of degree d:=degg(x)≤n, where Cg is the companion matrix of g(x).
Here is a sample code that constructs and prints such matrices:
def compA(n,p,q,r):
assert p^2 == q^2 + r^2
R.<x> = PolynomialRing(QQ)
f = p^2*x^(p^2) - q^2*x^(q^2) - r^2
for g in divisors(f):
if g.degree()>n:
continue
A = block_diagonal_matrix(companion_matrix(g), identity_matrix(n-g.degree()))
print(A)
Similarly A can be taken as a block diagonal matrix with blocks Cg1,…,Cgk where each gi(x)∣f(x) and ∑ki=1deggi(x)=n.
![]() | 3 | No.3 Revision |
The given matrix equation implies that the minimal polynomial of A divides f(x):=p2xp2−q2xq2−1. It follows that A can be constructed as a block diagonal matrix matrix [Cg00In−d] for any divisor g(x)∣f(x) of degree d:=degg(x)≤n, where Cg is the companion matrix matrix of g(x).
Here is a sample code that constructs and prints such matrices:
def compA(n,p,q,r):
assert p^2 == q^2 + r^2
R.<x> = PolynomialRing(QQ)
f = p^2*x^(p^2) - q^2*x^(q^2) - r^2
for g in divisors(f):
if g.degree()>n:
continue
A = block_diagonal_matrix(companion_matrix(g), identity_matrix(n-g.degree()))
print(A)
Similarly More generally, A can be taken as a block diagonal matrix with blocks $C_{g_1}, \dots, C_{g_k}$ C_{g_k}$, where each gi(x)∣f(x) and $\sum_{i=1}^k \deg g_i(x) = n$.n$. Matrices similar to such A will also satisfy the given matrix equation.
![]() | 4 | No.4 Revision |
The given matrix equation implies that the minimal polynomial of A divides f(x):=p2xp2−q2xq2−1. It follows that A can be constructed as a block diagonal matrix [Cg00In−d] for any divisor g(x)∣f(x) of degree d:=degg(x)≤n, where Cg is the companion matrix of g(x).
Here is a sample code that constructs and prints such matrices:
def compA(n,p,q,r):
assert p^2 == q^2 + r^2
R.<x> = PolynomialRing(QQ)
PolynomialRing(ZZ)
f = p^2*x^(p^2) - q^2*x^(q^2) - r^2
for g in divisors(f):
if g.degree()>n:
continue
A = block_diagonal_matrix(companion_matrix(g), identity_matrix(n-g.degree()))
print(A)
More generally, A can be taken as a block diagonal matrix with blocks Cg1,…,Cgk, where each gi(x)∣f(x) and ∑ki=1deggi(x)=n. Matrices similar to such A will also satisfy the given matrix equation.
![]() | 5 | No.5 Revision |
The given matrix equation implies that the minimal polynomial of A divides $f(x):=p^2 x^{p^2} - q^2 x^{q^2} - 1$. r^2$. It follows that A can be constructed as a block diagonal matrix [Cg00In−d] for any divisor g(x)∣f(x) of degree d:=degg(x)≤n, where Cg is the companion matrix of g(x).
Here is a sample code that constructs and prints such matrices:
def compA(n,p,q,r):
assert p^2 == q^2 + r^2
R.<x> = PolynomialRing(ZZ)
f = p^2*x^(p^2) - q^2*x^(q^2) - r^2
for g in divisors(f):
if g.degree()>n:
continue
A = block_diagonal_matrix(companion_matrix(g), identity_matrix(n-g.degree()))
print(A)
More generally, A can be taken as a block diagonal matrix with blocks Cg1,…,Cgk, where each gi(x)∣f(x) and ∑ki=1deggi(x)=n. Matrices similar to such A will also satisfy the given matrix equation.
![]() | 6 | No.6 Revision |
The given matrix equation implies that the minimal polynomial of A divides f(x):=p2xp2−q2xq2−r2. It follows that A can be constructed as a block diagonal matrix [Cg00In−d] for any monic divisor g(x)∣f(x) of degree d:=degg(x)≤n, where Cg is the companion matrix of g(x).
Here is a sample code that constructs and prints such matrices:
def compA(n,p,q,r):
assert p^2 == q^2 + r^2
R.<x> = PolynomialRing(ZZ)
f = p^2*x^(p^2) - q^2*x^(q^2) - r^2
for g in divisors(f):
if g.degree()>n:
g.degree()>n and not g.is_monic():
continue
A = block_diagonal_matrix(companion_matrix(g), identity_matrix(n-g.degree()))
print(A)
More generally, A can be taken as a block diagonal matrix with blocks Cg1,…,Cgk, where each gi(x)∣f(x) gi(x) is a monic divisor of f(x), and ∑ki=1deggi(x)=n. Matrices similar to such A will also satisfy the given matrix equation.
![]() | 7 | No.7 Revision |
The given matrix equation implies that the minimal polynomial of A divides f(x):=p2xp2−q2xq2−r2. It follows that A can be constructed as a block diagonal matrix [Cg00In−d] for any monic divisor g(x)∣f(x) of degree d:=degg(x)≤n, where Cg is the companion matrix of g(x).
Here is a sample code that constructs and prints such matrices:
def compA(n,p,q,r):
assert p^2 == q^2 + r^2
R.<x> = PolynomialRing(ZZ)
f = p^2*x^(p^2) - q^2*x^(q^2) - r^2
for g in divisors(f):
if g.degree()>n and or not g.is_monic():
continue
A = block_diagonal_matrix(companion_matrix(g), identity_matrix(n-g.degree()))
print(A)
More generally, A can be taken as a block diagonal matrix with blocks Cg1,…,Cgk, where each gi(x) is a monic divisor of f(x), and ∑ki=1deggi(x)=n. Matrices similar to such A will also satisfy the given matrix equation.