He estado buscando una función que me ayude a obtener la matriz adjunta o una dada, encontré que se pueden obtener los cofactores de una matriz pero solo usando el paquete «Combinatorica», que no pude obtener.
Si conoce algún comando o si conoce formas efectivas de crear una función que haga esto, por favor ayúdeme.
Comentarios
Respuesta
Esto es solo para obtener una respuesta registrada, así que la pregunta se puede eliminar de la lista de no contestadas.
Lo siguiente es tomado de un ejemplo dado en la sección Aplicación de la documentación para Minors
.
Defina el adjunto de una matriz:
adj[m_] := Map[Reverse, Minors[Transpose[m], Length[m] - 1], {0, 1}] * Table[(-1)^(i + j), {i, Length[m]}, {j, Length[m]}]
Comentarios
- Bien hecho . Pero usted ' está equivocado: la pregunta se elimina del montón de respuestas sin respuesta sólo después de haber votaciones positivas respuestas. Espera … ahora ' tienes razón 🙂
- Me doy cuenta de que hay un riesgo involucrado, pero generalmente hay alguien dispuesto para morder el anzuelo 🙂
- Nosotros ' estamos a favor del representante aquí 🙂
- @belisarius. ¿Reps? ¿Qué representante? Esto es trabajo pro bono (CW).
- ¡Ese fue el motivo de mi carita sonriente!
Responder
Aquí hay una respuesta más simple:
adj[m_] := Inverse[m] Det[m]
Comentarios
- Bien hecho. $ \ phantom {} $
- Esto solo funciona para matrices cuadradas. El adjunto clásico (también llamado adjugado) se puede definir para matrices de cualquier dimensión, y la respuesta anterior de @m_goldberg es la forma correcta de hacerlo para -matrices cuadradas.
- Y solo funciona si existe la inversa.
- @MichaelSeifert ¿La respuesta aceptada funciona para usted en matrices no cuadradas? No es ' t para mí. Creo que ' s porque los términos {i, length [m]} y {j, length [m]} terminan formando una tabla cuadrada.
Minors[]
, en " Aplicaciones "