public static Matrix HInv(this ILinAlg ila, Matrix A, string invtype, params object[] invopt) { Matrix invA; { ILinAlgMat AA = ila.ToILMat(A); ILinAlgMat invAA = ila.HInv(AA, invtype, invopt); invA = invAA.ToMatrix(); AA.Dispose(); invAA.Dispose(); } GC.Collect(); return(invA); }
public static Matrix Mul(this ILinAlg ila, params Matrix[] mats) { ILinAlgMat[] MATS = new ILinAlgMat[mats.Length]; for (int i = 0; i < mats.Length; i++) { MATS[i] = ila.ToILMat(mats[i]); } ILinAlgMat MUL = ila.Mul(MATS); Matrix mul = ToMatrix(MUL); MUL.Dispose(); foreach (var MAT in MATS) { MAT.Dispose(); } return(mul); }