Verifica se tutti i prodotti di un set di matrici alla fine equivalgono a zero


19

Sono interessato al seguente problema: date le matrici intere A1,A2,,Ak decidono se ogni prodotto infinito di queste matrici alla fine sia uguale alla matrice zero.

Questo significa esattamente quello che pensi che faccia: diremo che l'insieme di matrici {A1,,Ak} ha la proprietà che tutti i suoi prodotti alla fine sono uguali a zero se non esiste una sequenza infinita i1,i2,i3 , tutto in {1,,k} , tale che

Ai1Ai2Ail0
per tutto l .

Il problema di decidere se ogni prodotto alla fine è uguale a zero è stato studiato in precedenza? È decidibile?

Sembra che potrebbe essere correlato alla mortalità della matrice, che è indecidibile, ma non vedo una chiara connessione.


È necessario un qualche tipo di proprietà di convergenza sull'insieme di matrici per garantire la definizione del prodotto infinito.
András Salamon,

Operi in un campo finito o in numeri interi con crescita illimitata? Il caso k = 1 è interessante di per sé. Usando numeri interi da -100 a 100 in una matrice 5x5, qual è la massima potenza che puoi ottenere prima che si azzeri?
Chad Brewbaker,

2
@YuvalFilmus - Credo che sia diverso dalla mortalità. Lascia che le dimensioni delle matrici siano 1 , in modo da avere solo numeri e supponiamo che A0=0,A1=1 . Mortale? Sì perché A0=0 . Ogni prodotto è uguale a zero? No: non il prodotto 111 . D'altra parte, se A0=0,A1=0 allora hai una sequenza che è sia mortale che ogni prodotto è zero.
Robinson

1
@ChadBrewbaker - Pensavo che le voci delle matrici fossero solo numeri interi. Suppongo che sia interessante dal punto di vista di: quante operazioni hai bisogno per verificare che la matrice sia nilpotente? Si noti che se A è nilpotente, allora è facile vedere che A n = 0 dove n è la dimensione di A , presumibilmente, è possibile risolverlo quadrando il registro della matrice n volte. Non ho idea se questo è il meglio che puoi fare. k=1AAn=0nAlogn
Robinson,

1
È interessante notare che questo è solo in: arxiv.org/abs/1306.0729 . Invece di chiedere se alla fine tutti i prodotti sono zero, chiedono se alcuni prodotti alla fine sono positivi. Mostrano che il problema è NP-difficile (o almeno questo è ciò che raccolgo dall'abstract).
Joshua Grochow,

Risposte:


17

La tua domanda è equivalente al fatto che generare un algebra nilpotente , che a sua volta equivale a ciascuna delle AI essendo nilpotente . Quindi non solo è decidibile, ma in ˜ O ( n 2 ω ) tempo in cui ω è l'esponente della moltiplicazione della matrice.A1,,AkAiO~(n2ω)ω

Sia l'algebra associativa generata da A i : cioè, prende tutte le combinazioni lineari di A i e tutti i suoi prodotti finiti. A si chiama nilpotente se c'è qualche N tale che ogni prodotto di N elementi di A è zero.AAiAiANNA

Innanzitutto, vediamo perché la tua condizione implica che sia nilpotente. Ciò deriva dal Lemma di Konig (compattezza): ogni stringa di lunghezza n sopra l'alfabeto { 1 , ... , k } corrisponde a un prodotto di A 1 , ... , A k di lunghezza n in modo ovvio. Considera l'infinito k -ary rooted tree, i cui nodi sono naturalmente in corrispondenza biiettiva con stringhe sopra { 1 , ... , k } . Considera l'albero secondario TAn{1,,k}A1,,Aknk{1,,k}Tcostituito da quei nodi in cui il prodotto corrispondente di è diverso da zero. Il Lemma di Konig dice che se T è infinito, allora ha un percorso infinito (che viola esattamente la tua proprietà), quindi T è finito. Possiamo poi prendere N essere la lunghezza massima di ogni stringa T . Quindi la tua proprietà implica che A sia nilpotente.AiTTNTA

È vero anche il contrario, poiché ogni elemento di è una combinazione lineare di prodotti di A i .AAi

Quindi, nota che è una subalgebra di matrici n × n , e quindi è di dimensione finita.An×n

Infine: un'algebra associativa di dimensioni finite nello zero caratteristico ha una base di elementi nilpotenti (pendolarismo o no - questa è la parte che contraddice la risposta di Yuval) se è nilpotente (vedi, ad esempio, qui ).

Pertanto, per risolvere il tuo problema, trova una base per l'algebra associativa generata da (dalla versione algebrica lineare della ricerca in ampiezza) e verifica che ogni matrice nella base sia nilpotente. Il limite superiore ˜ O ( n 2 ω ) deriva dalla risoluzione di un sistema di equazioni lineari in n 2 variabili nella ricerca della larghezza. Come fioco An 2 il BFS non può durare a lungo, e poiché si tratta di matrici n × n per verificare se una matrice A è nilpotente, è sufficiente verificare che A n =AiO~(n2ω)n2dimAn2n×nA .An=0


2
Pensi che ci sia un modo per mostrarlo senza usare alcun principio di scelta (anche uno debole come il Lemma di König, che equivale a )? ACω
András Salamon,

2
@Andras: direi che è una domanda per Chris Conidis. Ha studiato domande del genere in (calcolabile) matematica inversa. Glielo chiederò e lo indicherò qui.
Joshua Grochow,

1
@robinson: 1) Sì, il problema è decidibile, in effetti in tempo in cui ω è l'esponente della moltiplicazione della matrice. Ciò deriva dalla risoluzione di sistemi di equazioni lineari su Q quando si esegue la prima ricerca dell'algebra lineare. 2) Sì, normale nozione di base quando si visualizzano le matrici come vettori in Q n 2 (o sopra R o C ). O(n2ω)ωQQn2RC
Joshua Grochow

1
Si inizia con una base di A . Ora si tenta di trovare matrici A A e B B tale che A B o B A non è nel giro di B . Se ci riesci, aggiungi il prodotto a B e continua. Altrimenti, moltiplicando qualsiasi matrice nell'arco di B da qualsiasi prodotto finito di matrici in A finisce sempre nell'arco di B . Poiché la dimensione dell'algebra è limitata, il processo termina (al massimo in n 2 passaggi). BAAABBABBABBBABn2
Yuval Filmus

1
@robinson: No. Se l'algebra è nilpotente, allora ogni elemento dell'algebra è nilpotente. Quindi se trovi un elemento non nilpotente, l'algebra non è nilpotente (e quindi ci sono infiniti prodotti delle tue matrici che non sono mai zero).
Joshua Grochow,

6

Ho ottenuto un algoritmo poly-time per questo problema (piuttosto banale), cioè per verificare se il raggio spettrale articolare (JSR) è zero o no, nel 1995: http://en.wikipedia.org/wiki/Joint_spectral_radius

La storia dietro l'algoritmo è approssimativamente la seguente: Blondel e Tsitsiklis hanno erroneamente affermato che per le matrici booleane verificare se JSR <1 è NP-HARD. Per qualsiasi set di matrici intere JSR è etere zero o maggiore o uguale a 1. Quindi il contro esempio della loro affermazione era il mio algoritmo (vedi gli errata nel loro documento). La morale principale: consulta prima Wikipedia!


5

La domanda che stai ponendo è esattamente equivalente a decidere se il raggio spettrale articolare (JSR) dell'insieme di matrici è strettamente inferiore a uno. La decidibilità di questa domanda è rimasta aperta per un po 'di tempo ormai. (Nella teoria dei controlli, ciò equivale alla decidibilità della stabilità dei sistemi lineari commutati in caso di commutazione arbitraria.)

È noto che la seguente variante della tua domanda è indecidibile: dato un set finito di matrici quadrate, decidi se tutti i prodotti rimangono limitati; vedi qui .

L'indecidibilità di quanto sopra rimane valido anche se hai solo 2 matrici di dimensioni 47x47: vedi qui .

Nel linguaggio JSR, la questione del test "è JSR ?" è indecidibile (vedere i riferimenti sopra), ma la decidibilità del test "è JSR < 1 ?" è aperto. Quest'ultima domanda è collegata alla cosiddetta "congettura di finitazza razionale": se la congettura di finitazza razionale è vera, allora la domanda che si pone è decidibile.1<1

Infine, a meno che P = NP, il JSR non sia approssimabile nel tempo polinomiale (nel senso preciso definito in questo documento ).

Di conseguenza, una delle risposte sopra cui si afferma che un algoritmo efficiente deve essere falsa.

Sul lato positivo, ci sono diversi algoritmi (ad esempio basati sulla programmazione semidefinita) per l'approssimazione del JSR. I diversi algoritmi sono dotati di diverse garanzie di prestazioni. Vedi ad esempio quanto segue (spudoratamente da me stesso e dai miei colleghi - ma vedi anche riferimenti in esso ).

In diversi casi speciali, la domanda che stai ponendo è il tempo polinomiale decidibile. Ad esempio, quando le matrici sono simmetriche, o classificano una o se si spostano.

Infine, un grande libro sull'argomento è il seguente .


Si prega di leggere la dichiarazione formale della domanda che ho posto - non equivale a decidere se il JSR è strettamente inferiore a uno. Forse sei indotto in errore dal titolo della domanda. In breve, sto chiedendo di ogni prodotto uguale a zero in tempo finito , piuttosto che in senso asintotico.
Robinson,

2
Quindi la domanda che stai ponendo è molto più semplice. Sono equivalenti i seguenti: (i) La condizione definita (ii) Tutti i prodotti finiti sono nilpotenti (iii) JSR = 0 (iv) Tutti i prodotti di lunghezza n sono zero (n è la dimensione, questo è indipendente dal numero di matrici k). L'ultima condizione implica ovviamente la decidibilità e, in effetti, è possibile verificarla in tempo polinomiale. Vedi la sezione 2.3.1 del libro di Jungers collegata alla fine del mio post. Mi scuso per aver pensato che intendevi la versione asintotica. (Sono stato fuorviato dalla frase "tutti i prodotti alla fine sono uguali a zero".)
Amir Ali Ahmadi,

In tal caso, @AmirAliAhmadi non copre la risposta di Joshua Grochow?
Suresh Venkat,

2
Mi sembra che lo faccia, con un algoritmo diverso da quello che ho in mente. (Ancora una volta, mi scuso per aver pensato che la domanda fosse "tutti i prodotti convergono a zero" (cioè JSR <1?) La cui decidibilità è aperta.) Ci sono alcune differenze anche se con la risposta di Giosuè. (1) Nell'equivalenza di (i) - (iv) nel mio commento precedente, non penso che il Lemma di Konig debba essere usato. (2) Non capisco perché stia prendendo combinazioni lineari delle matrici. (3) Copio di seguito un semplice algoritmo alternativo dalla Sezione 2.3.1 del libro di Jungers, attribuito lì a Leonid Gurvits.
Amir Ali Ahmadi,

4
[continua dall'alto ...] Tutto ciò che dobbiamo verificare è se tutti i prodotti di lunghezza sono zero, ma ci sono k n matrici di questo tipo. Per evitare ciò, definire le seguenti matrici in modo iterativo: X 0 = I , X j = k i = 1 A T i X j - 1 A i . Quindi, si ha X n = Σ Un  prodotto lunghezza n A T A . Questa matrice può essere calcolata da k nnknX0=I, Xj=i=1kAiTXj1AiXn=A product of length nATAKnmoltiplicazioni di matrice ed è zero se e solo se tutti i prodotti di lunghezza sono zero. n
Amir Ali Ahmadi,

0

Modifica: questa risposta è purtroppo errata. L'errore è evidenziato di seguito. L'argomento funziona se ci è permesso di trasporre le matrici.

Iniziamo dimostrando un lemma.

Lemma. Sia una matrice n × n e sia N la matrice n × n con quelle sulla diagonale secondaria. Se A N t e N t A sono nilpotenti per tutte t 0, allora A = 0 . Conclusione corretta: A è triangolare superiore con zeri sulla diagonale. (La conclusione originale viene recuperata se ci è permesso anche di moltiplicarci per i poteri del recepimento di N. )UNn×nNn×nUNNtNtUNt0UN=0UNN

Prova. Supponiamo ad esempio che , e scrivi A = ( a b c d e f g h i ) ,n=3 Iniziamo calcolando A N 2 : A N 2 = ( 0 0 a 0 0 d 0 0 g ) . Questa matrice è in forma triangolare, quindi se A N 2 è nilpotente allora g = 0 . Continua con A N 1 : A N 1 = ( 0

UN=(un'Bcdefghio),N=(010001000).
UNN2
UNN2=(00un'00d00g).
UNN2g=0UNN1 Anche in questo caso la matrice è in forma triangolare, quindi seAN1è nilpotente allorad=h=0. Continuando, AN0=( a b c 0 e f 0 0 i ). Come prima, concludiamo chea=e
UNN1=(0un'B0de0gh)=(0un'B0de00h).
UNN1d=h=0
UNN0=(un'Bc0ef00io).
, e quindi A è triangolare superiore con zeri sulla diagonale.un'=e=io=0UN

Se ora consideriamo invece , allora concludiamo che A è triangolare inferiore con zeri sulla diagonale. In realtà, non otteniamo nulla di nuovo da considerare N t A . Pertanto A = 0 . N2UN,N1UN,N0UNUNNtUNUN=0

UN1,...,UNKio1,...[K]UNio1UNiom=0mUNioUN1UN2UN2UN1UN1V1VtVioUN1UN2UN2UN1offuscareVio>10VioUN1=NUN20t0UN2UN1tUN1tUN2

Riassumendo, la proprietà P vale se tutte le matrici sono nilpotenti e tutte commutano.


4
N2Ag=0N1Ad=h=0N0UNun'=e=io=0UNUN

In effetti, questa risposta non è corretta. Se nessun altro lo farà, posterò un contro esempio sia per il lemma che per l'affermazione finale quando torno a casa oggi.
robinson,

5
Come al solito, è quando qualcosa viene rivendicato ma non dimostrato che la prova fallisce. Oh bene ...
Yuval Filmus,

1
UN0=(010001000),UN1=(011000000)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.