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))); }