} // private constructor for singleton pattern /// <summary> /// See https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-fortran/top/lapack-routines/lapack-least-squares-and-eigenvalue-problem-routines/lapack-least-squares-and-eigenvalue-problem-driver-routines/nonsymmetric-eigenvalue-problems-lapack-driver-routines/geev.html /// </summary> public void Dgeev(string jobVl, string jobVr, int n, ref double[] a, int offsetA, int ldA, ref double[] wr, int offsetWr, ref double[] wi, int offsetWi, ref double[] vl, int offsetVl, int ldVl, ref double[] vr, int offsetVr, int ldVr, ref double[] work, int offsetWork, int lWork, ref int info) { Lapack.Dgeev(jobVl, jobVr, ref n, ref a[offsetA], ref ldA, ref wr[offsetWr], ref wi[offsetWi], ref vl[offsetVl], ref ldVl, ref vr[offsetVr], ref ldVr, ref work[offsetWork], ref lWork, ref info); }