Estou procurando uma função que me ajude a obter a matriz adjunta de uma determinada, descobri que você pode obter os cofatores de uma matriz, mas apenas usando o pacote “Combinatorica”, que não consegui.
Se você conhece algum comando ou se conhece maneiras eficazes de criar uma função que faça isso, por favor me ajude.
Comentários
Resposta
Isso é apenas para obter uma resposta registrada para a pergunta pode ser removido da lista de não respondidas.
O seguinte é retirado de um exemplo fornecido na seção Aplicativo da documentação de Minors
.
Defina o adjunto de uma matriz:
adj[m_] := Map[Reverse, Minors[Transpose[m], Length[m] - 1], {0, 1}] * Table[(-1)^(i + j), {i, Length[m]}, {j, Length[m]}]
Comentários
- Muito bem . Mas você ' está errado: a questão é removida da pilha de respostas não respondidas somente após ter votado positivamente nas respostas. Espere … agora você ' está certo 🙂
- Sei que há um risco envolvido, mas geralmente há alguém disposto para morder a isca 🙂
- Nós ' somos todos pelo representante aqui 🙂
- @belisarius. Rep? Qual representante? Este é um trabalho pro bono (CW).
- Esse foi o motivo do meu smiley!
Resposta
Aqui está uma resposta mais simples:
adj[m_] := Inverse[m] Det[m]
Comentários
- Muito bem. $ \ phantom {} $
- Isso só funciona para matrizes quadradas. O adjunto clássico (também chamado de adjunto) pode ser definido para matrizes de qualquer dimensão, e a resposta acima de @m_goldberg é a maneira correta de fazer -Matrizes quadradas.
- E só funciona se o inverso existir.
- @MichaelSeifert A resposta aceita funciona para você em matrizes não quadradas? Não ' para mim. Acho que ' s porque os termos {i, comprimento [m]} e {j, comprimento [m]} acabam formando uma mesa quadrada.
Minors[]
, em " Aplicativos "