Loading [MathJax]/jax/output/HTML-CSS/jax.js
Ask Your Question
0

Example of matrices satisfying certain matrix equation

asked 0 years ago

anonymous user

Anonymous

updated 0 years ago

How to solve the following two system of matrix equations:

A2B+ABA+BA2=0 and B2A+BAB+AB2=0 simultaneously for non-singular matrix AMn(Z) and for some matrix BMn(Z) such that B2=0.

I am trying to find some examples for some n=2,3,4,, but could not write a sage code for this that gives an example.

Preview: (hide)

Comments

You don't specify the index (degree) of B (i. e. the smallest (prime) k for which Bk=B).

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 0 years ago )

@Emmanuel Charpentier, I have updated. Thanks

rewi gravatar imagerewi ( 0 years ago )
1

If B2=0, the second equation reduces to simply BAB=0.

Max Alekseyev gravatar imageMax Alekseyev ( 0 years ago )

@Max Alekseyev, yeah, you are correct. But I have not been able to solve the two equations simultaneously. Clearly B=0 is a solution. But Does there exist a non zero matrix B such that B2=0 and satisfies the two matrix equation simultaneously.

rewi gravatar imagerewi ( 0 years ago )
1

The first equation translates into (A+B)3=A3 and so it may be work to look for B being the difference between two cubic roots from the same matrix.

Max Alekseyev gravatar imageMax Alekseyev ( 0 years ago )

2 Answers

Sort by » oldest newest most voted
2

answered 0 years ago

Max Alekseyev gravatar image

updated 0 years ago

UPDATED 2025-02-16. Let's compute some solution.

We will fix B as a matrix with just one off-diagonal nonzero entry, say, Bn,1=1. This will immediately imply B2=0.

We will introduce n2 variables for elements of A, and one more to ensure that (detA)1 (to make sure that the determinant is invertible). Then we will compute dimension of polynomials corresponds to the entries of the left-hand side of the two equations, and while it's positive, try to make some random variable assignment until it drops to 0 and enable application of .variety() method.

Here is a sample code:

def find_A(n):
    R = PolynomialRing(QQ, n^2+1, 'x')
    x = R.gens()[:n^2]

    A = Matrix(R, n, n, x)
    B = Matrix(R, n, n)
    B[n-1,0] = 1

    while True:
        # construct list of equations
        E = []
        E.extend( (A^2*B + A*B*A + B*A^2).list() )   # first equation
        E.extend( (B*A*B).list() )                        # second equation
        E.append( A.det()*R.gens()[-1] - 1 )             # det(A) != 0

        while (d := (J := R.ideal(E)).dimension()):
            # print('Dim =',d)
            if d < 0: E.pop()    # remove last assignment
            E.append( choice(x) - ZZ.random_element() )

        V = J.variety()
        if V: return A.apply_map(V[0].__getitem__)

Calling find_A(3) can produce a matrix like

[-1  0  0]
[ 7  0  1]
[ 5 -1  1]
Preview: (hide)
link

Comments

1

Much more clever than my failed attempt !

Congratulations are in order...

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 0 years ago )

Dear @Max Alekseyev,

This will immediately imply B2=0

Agreed.

and satisfy the second equation

Ahem...

sage: def test_Alexeiev(n):
....:     R=PolynomialRing(QQ, n^2+1, "x")
....:     x=R.gens()[: n^2]
....:     A=Matrix(R,n,n,x)
....:     B=Matrix(R,n,n)
....:     B[n-1,0]=1
....:     # Does this satisfy the second equation ?
....:     return B^2*A+B*A*B+A*B^2
....: 
sage: test_Alexeiev(2)
[ 0  0]
[x1  0]

I'll try to reintegrate this second equation in your solution...

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 0 years ago )

I can't reproduce your solution when I add the second equation as in this Sagecell sheet.

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 0 years ago )

Dear @Max Alekseyev,

this Sagecell sheet (temporary link, the permanent one is too long for a comment) shows a problem. One can find a (pair of) solutions (Dim==0)... which are complex ; in this case, notwhithstanding DIM==0, the list of solutions returned by find_A is empty.

Hints ?

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 0 years ago )

@Emmanuel Charpentier: Thanks for noticing the issue with my code - I forgot to nullify A1,n, but now I've just added the second equation to the picture. As for your code ar Sagecell, I do not see the problem there. I strongly suspect that solution for n=2 does not exist, unless you enable complex entries as you did in your code. Everything works nicely for n=3.

Max Alekseyev gravatar imageMax Alekseyev ( 0 years ago )
0

answered 0 years ago

Emmanuel Charpentier gravatar image

updated 0 years ago

EDIT : What follows was written as an answer to the initial redaction of the question, where B was supposed to be nilpotent (i. e. BkB=0 for some prime k, with no specification of k). Furthermore, it uses an wrong definition of nilpotency (first-class thinko...). Therefore, it answers a different problem, with very weak relation to the real question. Kept for what it's worth...

Not an answer, but a contribution. Furthermore, I won't try to solve the (hard) problem of solving in Z, but, at least as a first step, to solve it in Q.

The problem has two parameters :

  • The matrices' dimension n
  • the index (degree) of B's nilpotency.

Each of the matrix equations translates to n2 equations involving 2n2 unknown equations ; similarly, the nilpotency of B translates to n2 equations of maximal dregree k involving n2 parameters.

However, these equations are far from being independent. For example, the nilpotency of B translates to

  • n=2k=2 : 4 equations of 4 unknowns ; the resulting ideal has dimension 2, which means that this system has two degrees of freedom.

  • n=3,k=2 ; 9 equations of 9 unknowns, the resulting system still has 4 degrees of freedom.

The "obvious" brute-force way (a polynomial system in ai,jbi,j) doesn't work. However, one may try to solve for B given A, i. e. build a system of polynomials in bi,j whose coefficients are taken in (the fraction field of) the ring of polynomials in ai,j. For example, after running :

NN=2
k=2
R1=PolynomialRing(QQ, ["a%d%d"%(u, v) for v in range(NN) for u in range(NN)])
# R1.inject_variables()
A=matrix(NN,R1.gens())
R2=PolynomialRing(FractionField(R1), ["b%d%d"%(u, v) for v in range(NN) for u in range(NN)])
# R2.inject_variables()
B=matrix(NN,R2.gens())
S1=(A^2*B+A*B*A+B*A^2).list()
S2=(B^2*A+B*A*B+A*B^2).list()
# Nilpotency
S3=(B^k-B).list()
J1=R2.ideal(S1+S2+S3)

one gets :

sage: R2.ideal(S1+S2+S3).variety()
[{b11: 0, b01: 0, b10: 0, b00: 0}]
sage: J1.dimension()
0
sage: J1.variety()
[{b11: 0, b01: 0, b10: 0, b00: 0}]

This result is easily repeated for k(2,3,5,7) ; for k=11, the system failed to compute J1.dimension() after about 10 minutes (I threw the towel...).

Similarly, in the case n=3,k=2, the system has been searching the same J1.dimension() for about 3 hours.

FWIW, the (gratis-but-not-free) Wolfram engine's Reduce exhibits a similar behaviour., However, Solve seems to be able to get the (unique) solution (null B) for n=3,k=3 in a reasonable time ; getting the (same) answer for n=4,k=2 needs about a minute. Going beyond n=4 or k=7 leads to unreasonable (=exceeding my patience) times.

This brute-force symbolic approach using only the polynomials machinery (or whatever the Wolfram engine uses) seems bound to fail. An approach using more results of linear algebra is needed.

HTH,

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 0 years ago

Seen: 120 times

Last updated: Feb 16