Vérifier si tous les produits d'un ensemble de matrices sont finalement égaux à zéro


19

Je m'intéresse au problème suivant: étant donné les matrices entières décident si chaque produit infini de ces matrices est finalement égal à la matrice zéro.A1,A2,,Ak

Cela signifie exactement ce que vous pensez qu'il fait: nous dirons que l'ensemble des matrices a la propriété que tous ses produits finissent par être égaux à zéro s'il n'existe pas de séquence infinie , tous dans , de telle sorte que pour tout .{A1,,Ak}{ 1 , , k } A i 1 A i 2A i l0 li1,i2,i3{1,,k}

Ai1Ai2Ail0
l

Le problème de décider si chaque produit est finalement égal à zéro a-t-il été étudié auparavant? Est-ce décidable?

On dirait que cela pourrait être lié à la mortalité matricielle, qui est indécidable, mais je ne vois pas de lien clair.


Vous avez besoin d'une sorte de propriété de convergence sur l'ensemble des matrices pour vous assurer que le produit infini est défini.
András Salamon,

Vous opérez dans un domaine fini ou des entiers à croissance illimitée? Le cas k = 1 est intéressant en soi. En utilisant des entiers de -100 à 100 dans une matrice 5x5, quelle est la puissance la plus élevée que vous pouvez atteindre avant qu'elle ne se réinitialise?
Chad Brewbaker

2
@YuvalFilmus - Je pense que c'est différent de la mortalité. Supposons que les dimensions des matrices soient , de sorte que nous ayons juste des nombres, et supposons A 0 = 0 , A 1 = 1 . Mortel? Oui car A 0 = 0 . Chaque produit est égal à zéro? Non: pas le produit 1 1 1 . En revanche, si A 0 = 0 , A 1 = 0 alors vous avez une séquence qui est à la fois mortelle et chaque produit est nul. 1A0=0,A1=1A0=0111A0=0,A1=0
robinson

1
@ChadBrewbaker - Je pensais que les entrées des matrices ne sont que des entiers. Je suppose que le est intéressant du point de vue de: combien d'opérations avez-vous besoin pour vérifier que la matrice est nilpotente? Notez que si A est nilpotent, alors il est facile de voir que A n = 0n est la dimension de A, donc vous pouvez probablement le résoudre en mettant au carré le log log n fois. Je ne sais pas si c'est le mieux que vous puissiez faire. k=1AAn=0nAlogn
robinson

1
Fait intéressant, cela vient de: arxiv.org/abs/1306.0729 . Au lieu de demander si tous les produits sont finalement nuls, ils demandent si certains produits sont finalement positifs. Ils montrent que le problème est NP-difficile (ou du moins c'est ce que je comprends du résumé).
Joshua Grochow

Réponses:


17

Votre question équivaut à savoir si génèrent une algèbre nilpotente , qui à son tour est équivalente à chacun des A i étant nilpotent . Il est donc non seulement décidable, mais en ˜ O ( n 2 ω ) temps où ω est l'exposant de la multiplication matricielle.A1,,AkAiO~(n2ω)ω

Soit l'algèbre associative générée par l' A i : c'est-à-dire prendre toutes les combinaisons linéaires de l' A i et tous ses produits finis. A est appelé nilpotent s'il existe des N tels que chaque produit de N éléments de A est nul.AAiAiANNA

Voyons d'abord pourquoi votre condition implique que est nul. Cela découle du lemme de Konig (compacité): chaque chaîne de longueur n sur l'alphabet { 1 , , k } correspond à un produit de A 1 , , A k de longueur n de manière évidente. Considérons l' arbre enraciné k -ary infini , dont les nœuds sont naturellement en correspondance bijective avec des chaînes sur { 1 , , k } . Considérons le sous-arbre TAn{1,,k}A1,,Aknk{1,,k}Tcomposé des nœuds où le produit correspondant de est différent de zéro. Le lemme de Konig dit que si T est infini, alors il a un chemin infini (violant exactement votre propriété), donc T est fini. On peut alors prendre N être la longueur maximale d'une chaîne en T . Votre propriété implique donc que A est nul.AiTTNTA

L'inverse est également vrai, car chaque élément de est une combinaison linéaire de produits de A i .AAi

Ensuite, notez que est une sous-algèbre de n × n matrices, et est donc de dimension finie.An×n

Enfin: une algèbre associative de dimension finie dans le zéro caractéristique a une base d'éléments nilpotents (navettes ou non - c'est la partie qui contredit la réponse de Yuval) si elle est nilpotente (voir, par exemple, ici ).

Ainsi, pour résoudre votre problème, trouvez une base pour l'algèbre associative générée par la (par la version d'algèbre linéaire de la recherche en largeur d'abord) et vérifiez que chaque matrice de la base est nilpotente. La borne supérieure ˜ O ( n 2 ω ) provient de la résolution d'un système d'équations linéaires en n 2 variables dans la recherche en largeur d'abord. Comme dim An 2, le BFS ne peut pas durer très longtemps, et parce que ce sont n × n matrices pour vérifier si une matrice A est nilpotente, il suffit de vérifier que A n =AiO~(n2ω)n2dimAn2n×nA .An=0


2
Pensez-vous qu'il existe un moyen de le montrer sans utiliser de principes de choix (même un aussi faible que le lemme de König, qui est équivalent à )? ACω
András Salamon

2
@Andras: Je dirais que c'est une question pour Chris Conidis. Il a étudié des questions comme celle-là en mathématiques inverses (calculables). Je vais lui demander et le pointer ici.
Joshua Grochow

1
@robinson: 1) Oui, le problème est décidable, en fait en temps ω est l'exposant de la multiplication matricielle. Cela vient de la résolution de systèmes d'équations linéaires sur Q lors de la recherche en largeur de l'algèbre linéaire. 2) Oui, notion habituelle de base lors de la visualisation des matrices comme vecteurs dans Q n 2 (ou sur R ou C ). O(n2ω)ωQQn2RC
Joshua Grochow

1
Vous commencez avec une base de A . Maintenant , vous essayez de trouver des matrices A A et B B tel que A B ou B A est pas dans l'espace de B . Si vous réussissez, ajoutez le produit à B et continuez. Dans le cas contraire, en multipliant toute matrice en l'espace de B par un produit fini de matrices A finit toujours en l'espace de B . Puisque la dimension de l'algèbre est bornée, le processus se termine (en au plus n 2 étapes). BAAABBABBABBBABn2
Yuval Filmus

1
@robinson: Non. Si l'algèbre est nilpotente, alors chaque élément de l'algèbre est nilpotent. Donc, si vous trouvez un élément non nilpotent, l'algèbre n'est pas nilpotent (et puis il y a des produits infinis de vos matrices qui ne sont jamais nuls).
Joshua Grochow

6

J'ai obtenu un algorithme poly-temps pour ce problème (problème assez trivial), c'est-à-dire pour vérifier si le rayon spectral conjoint (JSR) est nul ou non, en 1995: http://en.wikipedia.org/wiki/Joint_spectral_radius

L'histoire derrière l'algorithme est à peu près la suivante: Blondel et Tsitsiklis ont déclaré à tort que pour les matrices booléennes, vérifier si JSR <1 est NP-HARD. Pour tout ensemble de matrices entières, JSR est un éther nul ou supérieur ou égal à 1. Ainsi, le contre-exemple de leur énoncé était mon algorithme (voir les errata de leur article). La morale principale: consultez d'abord Wikipédia!


5

La question que vous posez équivaut exactement à décider si le rayon spectral conjoint (JSR) de l'ensemble de matrices est strictement inférieur à un. La décidabilité de cette question est restée ouverte depuis un certain temps maintenant. (Dans la théorie du contrôle, cela équivaut à la décidabilité de la stabilité des systèmes linéaires commutés sous commutation arbitraire.)

La variante suivante de votre question est connue pour être indécidable: étant donné un ensemble fini de matrices carrées, décidez si tous les produits restent bornés; voir ici .

L'indécidabilité de ce qui précède reste valable même si vous n'avez que 2 matrices de taille 47x47: voir ici .

Dans le langage JSR, la question du test "est JSR ?" est indécidable (voir références ci-dessus), mais la décidabilité des tests "est JSR < 1 ?" est ouvert. Cette dernière question est liée à la soi-disant "conjecture de finitude rationnelle": Si la conjecture de finitude rationnelle est vraie, alors la question que vous posez est décidable.1<1

Enfin, à moins que P = NP, le JSR ne soit pas approximable en temps polynomial (au sens précis défini dans cet article ).

Par conséquent, l'une des réponses ci-dessus qui prétend qu'un algorithme efficace doit être fausse.

Du côté positif, il existe plusieurs algorithmes (par exemple basés sur une programmation semi-définie) pour approximer le JSR. Les différents algorithmes sont livrés avec différentes garanties de performances. Voir par exemple les éléments suivants (sans vergogne par moi - même et mes collègues - mais aussi voir les références qui y sont ).

Dans plusieurs cas particuliers, la question que vous posez est le temps polynomial décidable. Par exemple, lorsque les matrices sont symétriques, ou de rang 1, ou si elles font la navette.

Enfin, un excellent livre sur le sujet est le suivant .


Veuillez lire l'énoncé formel de la question que j'ai posée - cela ne revient pas à décider si le JSR est strictement inférieur à un. Vous êtes peut-être induit en erreur par le titre de la question. En bref, je pose des questions sur chaque produit égal à zéro en temps fini , plutôt que dans un sens asymptotique.
robinson

2
La question que vous posez est alors beaucoup plus simple. Les éléments suivants sont équivalents: (i) La condition que vous définissez (ii) Tous les produits finis sont nilpotents (iii) Le JSR = 0 (iv) Tous les produits de longueur n sont nuls (n est la dimension, cela est indépendant du nombre de matrices k). La dernière condition implique évidemment la décidabilité, et si vous pouvez vérifier la condition en temps polynomial. Voir la section 2.3.1 du livre de Jungers lié à la fin de mon message. Mes excuses pour avoir pensé que vous vouliez dire la version asymptotique. (J'ai été induit en erreur par l'expression "tous les produits finissent par égal à zéro".)
Amir Ali Ahmadi

Dans quel cas, @AmirAliAhmadi la réponse de Joshua Grochow ne le couvre-t-elle pas?
Suresh Venkat

2
Il me semble que oui, avec un algorithme différent de ce que j'ai en tête. (Encore une fois, mes excuses pour avoir pensé que la question était "tous les produits convergent-ils vers zéro" (c'est-à-dire, JSR <1?) Dont la décidabilité est ouverte.) Il y a cependant quelques différences avec la réponse de Joshua. (1) Dans l'équivalence de (i) - (iv) dans mon commentaire précédent, je ne pense pas que le lemme de Konig doive être utilisé. (2) Je ne comprends pas pourquoi il prend des combinaisons linéaires des matrices. (3) Je copie ci-dessous un algorithme alternatif simple de la section 2.3.1 du livre de Jungers, attribué à Leonid Gurvits.
Amir Ali Ahmadi

4
[suite du dessus ...] Il suffit de vérifier si tous les produits de longueur sont nuls, mais il existe k n de telles matrices. Pour éviter cela, définissez les matrices suivantes de manière itérative: X 0 = I , X j = k i = 1 A T i X j - 1 A i . Ensuite, on a X n = Σ Un  produit de longueur n A T A . Cette matrice peut être calculée par k nnknX0=I, Xj=i=1kAiTXj1AiXn=A product of length nATAknmultiplications matricielles, et est nul si et seulement si tous les produits de longueur sont nuls. n
Amir Ali Ahmadi

0

Edit: Cette réponse est malheureusement incorrecte. L'erreur est mise en évidence ci-dessous. L'argument fonctionne si nous sommes autorisés à transposer les matrices.

Nous commençons par prouver un lemme.

Lemme. Soit une matrice n × n et soit N la matrice n × n avec celles sur la diagonale secondaire. Si A N t et N t A sont nilpotents pour tout t 0 alors A = 0 . Conclusion correcte: A est triangulaire supérieur avec des zéros sur la diagonale. (La conclusion originale est retrouvée si on nous permet aussi de multiplier par les puissances de la transposition de N. )UNEn×nNn×nUNENtNtUNEt0UNE=0UNEN

Preuve. Supposons par exemple que , et écrivons A = ( a b c d e f g h i ) ,n=3 On commence par calculer A N 2 : A N 2 = ( 0 0 a 0 0 d 0 0 g ) . Cette matrice est sous forme triangulaire, et donc si A N 2 est nilpotent alors g = 0 . Continuez avec A N 1 : A N 1 = ( 0

UNE=(unebceFghje),N=(010001000).
UNEN2
UNEN2=(00une0000g).
UNEN2g=0UNEN1 Encore une fois la matrice est sous forme triangulaire, et donc siAN1est nilpotent alorsd=h=0. Continuant, AN0=( a b c 0 e f 0 0 i ). Comme précédemment, nous concluons quea=e
UNEN1=(0uneb0e0gh)=(0uneb0e00h).
UNEN1=h=0
UNEN0=(unebc0eF00je).
, et donc A est triangulaire supérieur avec des zéros sur la diagonale.une=e=je=0UNE

Si nous considérons maintenant place, alors nous concluons que A est triangulaire inférieur avec des zéros sur la diagonale. En fait, nous ne recevons rien de nouveau de considérer N t A . Donc A = 0 . N2UNE,N1UNE,N0UNEUNENtUNEUNE=0

UNE1,,UNEkje1,[k]UNEje1UNEjem=0mUNEjeUNE1UNE2UNE2UNE1UNE1V1Vt. LaisserVje être un espace vectoriel sur lequel UNE1UNE2UNE2UNE1; Notez quefaibleVje>1 puisque 0fait la navette avec tout. Limité àVje, UNE1=N et UNE20. Par conséquent, le lemme implique que pour certainst0, Soit UNE2UNE1t ou UNE1tUNE2 n'est pas nul, et donc la propriété P échoue clairement.

En résumé, la propriété P est valable si toutes les matrices sont nilpotentes et toutes font la navette.


4
La dernière phrase de la preuve de votre lemme n'est pas correcte. N2UNE nilpotent implique g=0, N1UNE nilpotent donne =h=0, et N0UNE nilpotent donne une=e=je=0. Nous concluons donc queUNE est triangulaire supérieur avec des zéros sur la diagonale, pas que UNE est diagonale (et donc nulle).
Joshua Grochow

En effet, cette réponse n'est pas correcte. Si personne d'autre ne le fait, je publierai un contre-exemple à la fois du lemme et de l'affirmation finale lorsque je rentrerai à la maison plus tard dans la journée.
robinson

5
Comme d'habitude, c'est lorsque quelque chose est réclamé mais non prouvé que la preuve échoue. Tant pis...
Yuval Filmus

1
Donc, l'exemple que j'avais en tête était:
UNE0=(010001000),UNE1=(011000000)
On peut vérifier que tout produit de longueur suffisante de ces deux matrices est nul mais qu'ils ne commutent pas, et le second n'est pas nul.
robinson
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.