No tengo una respuesta a su pregunta, pero tengo algo de reflexión.
Dices que estás buscando un sistema lineal denso. Supuestamente, esto será lo suficientemente denso como para que no podamos escribirlo más simplemente que como una matriz en la memoria. Es importante tener esto en cuenta porque, con frecuencia, programamos matrices dispersas como pares (índice: valor).
Además, suponga que cada valor es un número entero entre -127 y 127 inclusive. Dichos números requieren solo un byte de espacio. Una matriz con dimensiones 10 ^ 6 x 10 ^ 6 tendría 10 ^ 12 bytes de datos.
Para dar una perspectiva, eso es un terabyte o 1000 gigabytes. La RAM de su computadora probablemente esté entre 4GB y 8GB. AWS ofrece 512 GB de RAM IIRC.
- ¿Todas las matrices tienen un inverso multiplicativo?
- ¿Cuál es la importancia del subespacio en el espacio vectorial?
- ¿Por qué no podemos dividir matrices?
- Cómo extraer muchas columnas de la matriz
- ¿Qué piensa el MIT (junto con otras universidades técnicas) cuando los estudiantes toman cursos de matemáticas hasta cálculo vectorial / álgebra lineal / diffeq?
Entonces, para hacer el cálculo en la memoria, tendría que pagar por más recursos o ser inteligente con los recursos que tiene disponibles.
Editar: Vale la pena señalar que solo consideramos enteros relativamente pequeños para esta estimación. Para números menos agradables, probablemente necesitará usar 8 bytes por número (este es un tipo de datos “doble” en muchos lenguajes de programación). Esto es más realista y aumentaría la cantidad de datos utilizados.