J'essaie de comprendre la relation entre la complexité algorithmique et la complexité du circuit des déterminants et de la multiplication matricielle.
On sait que le déterminant d'unmatrice n × n peut êtrecalculéen temps ˜ O ( M ( n ) ) , où M ( n ) est le temps minimum requis pour multiplier deuxmatrices n × n . Il est également connu que la meilleure complexité du circuit des déterminants estpolynomialeà la profondeur O ( log 2 ( n ) ) etexponentielle à la profondeur 3. Mais la complexité du circuit de multiplication matricielle, pour toute profondeur constante, n'est que polynomiale.
Pourquoi y a-t-il une différence dans la complexité du circuit pour les déterminants et la multiplication matricielle alors que l'on sait que d'un point de vue algorithme, le calcul des déterminants est similaire à la multiplication matricielle? Plus précisément, pourquoi les complexités du circuit ont-elles un espace exponentiel à la profondeur ?
Probablement, l'explication est simple mais je ne la vois pas. Y a-t-il une explication avec «rigueur»?
Voir aussi: Plus petite formule connue pour le déterminant
Je dirais que l'écart dans les paramètres arithmétiques nous dit que la multiplication matricielle est intrinsèquement une tâche beaucoup plus parallèle que le déterminant. En d'autres termes, bien que les complexités séquentielles des deux problèmes soient étroitement liées, leurs complexités parallèles ne sont pas si proches l'une de l'autre.
Un article pertinent est les algorithmes d'inversion de matrice parallèle rapide de Csanky où il prouve que la complexité arithmétique du calcul du déterminant d'une matrice n × n (c'est-à-dire la profondeur d'un circuit arithmétique calculant le déterminant) satisfait O ( log n ) ≤ D ( n ) ≤ O ( log 2 n ) . À ma connaissance, ce sont toujours les limites les plus connues de ce problème. Cela doit être comparé à la profondeur triviale- 3D(n) n×n
la source