Ver Mensaje Individual
  #6  
Antiguo 15-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues es cuestión de ir siguiendo las definiciones y traducirlas a código.

Primero que nada debes calcular el determinante de la matriz para asegurarte que es distinto de cero, de lo contrario, la matriz no es invertible. Si te fijas en la definición, el determinante de una matriz de nxn se calcula en términos de determinantes de matrices de (n-1)x(n-1)- los cofactores -, de manera que puedes implementar una función recursiva.

Una vez calculado el determinante, formas su matriz adjunta, la transpones y divides sobre el determinante.

Claro que esto es aplicar el método sin ningún tipo de optimización. De entrada, para formar la matriz adjunta, necesitas calcular sus cofactores, que son los mismos que usas para calcular el determinante, así que sería recomendable no repetir los pasos.

También podrías tratar de examinar la matriz para ver que fila o columna tiene mayor número de entradas cero y desarrollar el determinante sobre tal fila o columna.

// Saludos
Responder Con Cita