Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR PYTHON

adjoint of 3x3 matrix in numpy

'''
TL;DR I found no other way to do this better so here is the handmade function for it.

There is no direct way to find adjoint of a matrix.
Also there is no Numpy function that does this kind of thing so you have to go 
a little offroad from here :)
Following is the formula for finding it in Python:-
                  Adj(matrix) = (cofactor(A))Transpose
After hours of research not finding anything, made my own adjoint function with
a little help from a github repo (link attatched in Source).
Hope I have saved your time and you didn't have to go through the trouble that I have suffered for such a simple looking problem.
Thanks Enjoy!
'''
import numpy as np

def adjoint(matrix): #matrix is a numpy 3x3 array and if any other stuff is passed it will throw an error.
    mtrx = matrix.ravel()  #ravel() converts 2d array to 1d. Just to make things easier.
    A= +((mtrx[4]*mtrx[8])-(mtrx[5]*mtrx[7]))
    B= -((mtrx[3]*mtrx[8])-(mtrx[5]*mtrx[6]))
    C= +((mtrx[3]*mtrx[7])-(mtrx[6]*mtrx[4]))
    D= -((mtrx[1]*mtrx[8])-(mtrx[2]*mtrx[7]))
    E= +((mtrx[0]*mtrx[8])-(mtrx[2]*mtrx[6]))
    F= -((mtrx[0]*mtrx[7])-(mtrx[1]*mtrx[6]))
    G= +((mtrx[1]*mtrx[5])-(mtrx[2]*mtrx[4]))
    H= -((mtrx[0]*mtrx[5])-(mtrx[2]*mtrx[3]))
    I= +((mtrx[0]*mtrx[4])-(mtrx[1]*mtrx[3]))
    #Convert back to 3x3 matrix format
    cofactor = np.array([[A, B, C], 
                         [D, E, F], 
                         [G, H, I]])
    #Formula for adjoint
    adjnt = cofactor.T
    return adjnt
Source by github.com #
 
PREVIOUS NEXT
Tagged: #adjoint #matrix #numpy
ADD COMMENT
Topic
Name
8+5 =