Incluso si una matriz es muy escasa, su producto matriz puede ser denso. Tome, por ejemplo, una matriz diagonal y complete su primera fila y columna con entradas distintas de cero; su producto consigo mismo será completamente denso. Tal matriz puede surgir, por ejemplo, como un gráfico laplaciano de un gráfico en el que hay un vértice que está conectado a todos los demás vértices. En la práctica, es suficiente si hay pocos vértices con conectividad bastante alta con el resto de la red. Para la multiplicación de matriz-vector, este fenómeno es menos relevante, aunque puede conducir a desequilibrios al intentar paralelizar la multiplicación de matriz-vector.
Lo que quiero destacar: Realmente depende del patrón de dispersión y de lo que desea hacer con la matriz. Entonces, la mejor definición de una matriz dispersa que se me ocurre (que es bastante inútil al mismo tiempo) es la siguiente:
Una matriz es escasa si es ventajoso almacenar solo sus valores distintos de cero y sus posiciones e invertir la sobrecarga adicional que proviene de administrar la estructura de datos que surge.
La lección que debe aprender: Realmente depende de lo que quiera hacer con él , qué algoritmo use y (como otros ya lo han señalado) qué hardware y software usará si una matriz dada es escasa o no (lea como: si debe usar una estructura de datos de matriz escasa o densa). No puede haber una regla puramente basada en porcentajes si no se trata solo de almacenar datos o la multiplicación de vectores de matriz. La mejor manera de averiguar si sus matrices son escasas es probarlo y compararlo con los métodos de matriz densa.