/// <summary>
        /// Try to use the Intel MKL native provider for linear algebra.
        /// </summary>
        /// <returns>
        /// True if the provider was found and initialized successfully.
        /// False if it failed and the previous provider is still active.
        /// </returns>
        public static bool TryUseNativeMKL()
        {
            bool linearAlgebra      = MklLinearAlgebraControl.TryUseNativeMKL();
            bool fourierTransform   = MklFourierTransformControl.TryUseNativeMKL();
            bool directSparseSolver = MklSparseSolverControl.TryUseNativeMKL();

            return(linearAlgebra || fourierTransform || directSparseSolver);
        }
 /// <summary>
 /// Use the Intel MKL native provider for linear algebra, with the specified configuration parameters.
 /// Throws if it is not available or failed to initialize, in which case the previous provider is still active.
 /// </summary>
 public static void UseNativeMKL(
     MklConsistency consistency = MklConsistency.Auto,
     MklPrecision precision     = MklPrecision.Double,
     MklAccuracy accuracy       = MklAccuracy.High)
 {
     MklLinearAlgebraControl.UseNativeMKL(consistency, precision, accuracy);
     MklFourierTransformControl.UseNativeMKL();
     MklSparseSolverControl.UseNativeMKL();
 }
 /// <summary>
 /// Use the Intel MKL native provider for linear algebra.
 /// Throws if it is not available or failed to initialize, in which case the previous provider is still active.
 /// </summary>
 public static void UseNativeMKL()
 {
     MklLinearAlgebraControl.UseNativeMKL();
     MklFourierTransformControl.UseNativeMKL();
     MklSparseSolverControl.UseNativeMKL();
 }