static Array Dot(float[,] a, float[,] b, float alpha, float beta) { unsafe { int m = 2; int k = 3; int n = 2; int lda = 2; int ldb = 3; int ldc = 2; float[,] c = new float[m, n]; sbyte nta = (sbyte)BlasOp.NonTranspose; BLAS.Sgemm(&nta, &nta, ref m, ref n, ref k, ref alpha, ref a[0, 0], ref lda, ref b[0, 0], ref ldb, ref beta, ref c[0, 0], ref ldc); return(c); } }