I’m not sure that this categoly is proper to post, but the function “invert” doesn’t work in this case. I need your help!
I executed the following code. It calculates inverse of a matrix A and multiple it by A to confirm if it’s correct.
import Blender as B import Blender.Mathutils as BM BVec = BM.Vector BMat = BM.Matrix lcAMat = BMat([1,1], [-1,0]) lcBVec = BVec([1,1]) print lcAMat, "AMat" lcAInv = lcAMat.invert() print lcAInv, "AInv" lcACopy = BMat([1,1], [-1,0]) print lcAInv*lcACopy, "1?"
I got the following result in which A^-1 * A is not equal to unit matrix. That’s the problem.
I have confirmed what A^-1 is by calculating with kind of software of computer algebra system (CAS) as follows.
According to CAS, the correct answer of A^-1 is [[0,-1],[1,1]] while it’s [[0,1],[-1,1]] in Blender. Please let me know what my mistake is in the code.