Namespaces

Types in MathNet.Numerics

Type Control

Namespace MathNet.Numerics

Sets parameters for the library.

Static Functions

Properties

Public Static Functions

void ConfigureAuto()

bool TryUseNative()

Try to use any available native provider in an undefined order.
Return
bool

True if one of the native providers was found and successfully initialized. False if it failed and the previous provider is still active.

bool TryUseNativeCUDA()

Try to use the Nvidia CUDA native provider for linear algebra.
Return
bool

True if the provider was found and initialized successfully. False if it failed and the previous provider is still active.

bool TryUseNativeMKL()

Try to use the Intel MKL native provider for linear algebra.
Return
bool

True if the provider was found and initialized successfully. False if it failed and the previous provider is still active.

bool TryUseNativeOpenBLAS()

Try to use the OpenBLAS native provider for linear algebra.
Return
bool

True if the provider was found and initialized successfully. False if it failed and the previous provider is still active.

void UseBestProviders()

Use the best provider available.

void UseDefaultProviders()

Use a specific provider if configured, e.g. using environment variables, or fall back to the best providers.

void UseManaged()

void UseMultiThreading()

void UseNativeCUDA()

Use the Nvidia CUDA native provider for linear algebra. Throws if it is not available or failed to initialize, in which case the previous provider is still active.

void UseNativeMKL()

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.

void UseNativeMKL(MklConsistency consistency, MklPrecision precision, MklAccuracy accuracy)

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.
Obsolete: Will be removed in the next major version. Use the enums in the Common namespace instead.

void UseNativeMKL(MklConsistency consistency, MklPrecision precision, MklAccuracy accuracy)

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.

void UseNativeOpenBLAS()

Use the OpenBLAS native provider for linear algebra. Throws if it is not available or failed to initialize, in which case the previous provider is still active.

void UseSingleThread()

Public Properties

int BlockSize get; set;

Gets or sets the the block size to use for the native linear algebra provider.
Value:

bool CheckDistributionParameters get; set;

Gets or sets a value indicating whether the distribution classes check validate each parameter. For the multivariate distributions this could involve an expensive matrix factorization. The default setting of this property is true.

IFourierTransformProvider FourierTransformProvider get; set;

Gets or sets the fourier transform provider. Consider to use UseNativeMKL or UseManaged instead.
Value:

ILinearAlgebraProvider LinearAlgebraProvider get; set;

Gets or sets the linear algebra provider. Consider to use UseNativeMKL or UseManaged instead.
Value:

int MaxDegreeOfParallelism get; set;

Gets or sets a value indicating how many parallel worker threads shall be used when parallelization is applicable.
Default to the number of processor cores, must be between 1 and 1024 (inclusive).

string NativeProviderPath get; set;

Optional path to try to load native provider binaries from.

TaskScheduler TaskScheduler get; set;

Gets or sets the TaskScheduler used to schedule the worker tasks.

bool ThreadSafeRandomNumberGenerators get; set;

Gets or sets a value indicating whether to use thread safe random number generators (RNG). Thread safe RNG about two and half time slower than non-thread safe RNG.
Value: