Matrices gigantes
Hola;
En primer lugar, soy Rodrigo, ingeniero Eléctrico y trato de crear una aplicación ( programa de computador)con fines de cálculos de ingeniería basada en el método de los elementos finitos. He decidido programarla yo mismo ya que me encanta programar y además no tengo plata como para pagarle a un programador (Y no creo que alguien vaya a creer en mi proyecto, al menos en esta etapa, como para trabajar por ni uno). Aquí va la pregunta; Necesito generar metrices gigantescas (10.000x10.000) con tipos de datos "double" y por supuesto c++ no me permite declarar matrices de este orden. Bueno lo que he logrado entender leyendo y preguntando es que tengo que crear una estructura de datos dinámica (con punteros) y reservar grandes cantidades de memoria ram para almacenarla, o algo así. Pero yo saco estas cuentas; Una matriz de 10.000x10.000 son 10^8 datos un double ocupa creo que 4 Bytes y luego 4x10^8 = 4000 MB y mi PC solo tiene unos humildes 64MB, entonces antes de ponerme a programar esa estructura pienso en ese predicamento. Un experto informático me recomendó preguntarle a algún matemático si es que es posible trabajar con submatrices, lo que tengo que hacer es simplemente invertir la matriaz. Mi matriz tiene las siguientes características:
Es simétrica: Aij =Aji
Todos los eleméntos de la diagonal son iguales: A11=A22=A33... =Ann.
Mi pregunta es.. ¿Existe algún teorema del Álgebra Lineal que me permita invertir esta matriz a través de submatrices o filas o algo así? La idea es no tener que aplicar algún método de inversión conocido (diagonal inferior o adjunta) a la matriz completa, ya que para esto tendría que esperar unas 10 generaciones más de computatores, sino que hacerlo por partes. ¿Me explico?
Muy bien Doctor, espero no ofuscarle con estas trivialidades, y desde ya muy agradecido espero su respuesta. Cualquier información me será de gran utilidad.
Sinceramente.
Rodrigo
En primer lugar, soy Rodrigo, ingeniero Eléctrico y trato de crear una aplicación ( programa de computador)con fines de cálculos de ingeniería basada en el método de los elementos finitos. He decidido programarla yo mismo ya que me encanta programar y además no tengo plata como para pagarle a un programador (Y no creo que alguien vaya a creer en mi proyecto, al menos en esta etapa, como para trabajar por ni uno). Aquí va la pregunta; Necesito generar metrices gigantescas (10.000x10.000) con tipos de datos "double" y por supuesto c++ no me permite declarar matrices de este orden. Bueno lo que he logrado entender leyendo y preguntando es que tengo que crear una estructura de datos dinámica (con punteros) y reservar grandes cantidades de memoria ram para almacenarla, o algo así. Pero yo saco estas cuentas; Una matriz de 10.000x10.000 son 10^8 datos un double ocupa creo que 4 Bytes y luego 4x10^8 = 4000 MB y mi PC solo tiene unos humildes 64MB, entonces antes de ponerme a programar esa estructura pienso en ese predicamento. Un experto informático me recomendó preguntarle a algún matemático si es que es posible trabajar con submatrices, lo que tengo que hacer es simplemente invertir la matriaz. Mi matriz tiene las siguientes características:
Es simétrica: Aij =Aji
Todos los eleméntos de la diagonal son iguales: A11=A22=A33... =Ann.
Mi pregunta es.. ¿Existe algún teorema del Álgebra Lineal que me permita invertir esta matriz a través de submatrices o filas o algo así? La idea es no tener que aplicar algún método de inversión conocido (diagonal inferior o adjunta) a la matriz completa, ya que para esto tendría que esperar unas 10 generaciones más de computatores, sino que hacerlo por partes. ¿Me explico?
Muy bien Doctor, espero no ofuscarle con estas trivialidades, y desde ya muy agradecido espero su respuesta. Cualquier información me será de gran utilidad.
Sinceramente.
Rodrigo
1 Respuesta
Respuesta
1