public override void ScaleOffset(NArray <double> a, double scale, double offset, NArray <double> result)
        {
            double[] aArray, resultArray;
            int      aStart, resultStart;

            GetArray(a, out aArray, out aStart);
            GetArray(result, out resultArray, out resultStart);
            IntelMathKernelLibrary.ConstantAddMultiply(aArray, aStart, scale, offset, resultArray, resultStart, result.Length);
        }
        public override void ScaleInverse(NArray <double> a, double scale, NArray <double> result)
        {
            double[] aArray, resultArray;
            int      aStart, resultStart;

            GetArray(a, out aArray, out aStart);
            GetArray(result, out resultArray, out resultStart);
            VectorOperation(a, result, IntelMathKernelLibrary.Inverse);
            IntelMathKernelLibrary.ConstantAddMultiply(resultArray, resultStart, scale, 0, resultArray, resultStart, result.Length);
        }
 public override void SortInPlace(NArray a)
 {
     IntelMathKernelLibrary.SortInPlace(GetManagedStorage <double>(a));
 }
 public override void EigenvalueDecomposition(NArray a, NArray eigenvectors, NArray eigenvalues)
 {
     IntelMathKernelLibrary.EigenvalueDecomposition(GetManagedStorage <double>(a),
                                                    GetManagedStorage <double>(eigenvectors), GetManagedStorage <double>(eigenvalues));
 }
        public override void CholeskyDecomposition(NArray a)
        {
            bool positiveSemiDefinite = true;

            IntelMathKernelLibrary.CholeskyDecomposition(GetManagedStorage <double>(a), out positiveSemiDefinite);
        }
 public override void MatrixMultiply(NArray a, NArray b, NArray c)
 {
     IntelMathKernelLibrary.MatrixMultiply(GetManagedStorage <double>(a), GetManagedStorage <double>(b),
                                           GetManagedStorage <double>(c));
 }
 public override double Dot(NArray a, NArray b)
 {
     Assertions.AssertVectorsOfEqualLength(a, b);
     return(IntelMathKernelLibrary.Dot(GetManagedStorage <double>(a), GetManagedStorage <double>(b)));
 }