Encapsulates the currently active BLAS implementation.

Namespace: Extreme.Mathematics.LinearAlgebra
Assembly: Extreme.Numerics (Extreme.Numerics)

Syntax

Visual Basic (Declaration)
Public NotInheritable Class Blas
C#
public static class Blas
C++
public ref class Blas abstract sealed

Methods

IconTypeDescription
static memberUseCustom(BlasLevel1, BlasLevel2, BlasLevel3)
Instructs the library to use a custom BLAS implementation.
static memberUseManaged()
Instructs the library to use the managed BLAS implementation.
static memberUseNative()
Instructs the library to use the native BLAS implementation.

Properties

IconTypeDescription
static memberLevel1
Gets or sets the current implementation of the Level 1 BLAS for double-precision arguments.
static memberLevel2
Gets or sets the current implementation of the Level 2 BLAS for double-precision arguments.
static memberLevel3
Gets or sets the current implementation of the Level 3 BLAS for double-precision arguments.

Remarks

The classes in the Extreme.Mathematics.LinearAlgebra namespace use the standard Basic Linear Algebra Subroutines (BLAS) whenever possible. The Extreme Optimization Mathematics Library for .NET provides two implementations. One is in 100% managed code. The other calls a native, highly optimized, processor-specific kernel.

This class exposes static properties that allow you to specify the BLAS objects that are to be used by the classes in this namespace.

You can select the managed implementation by calling the UseManaged() method. To select the native implementation, call the UseNative() method. The native kernel is used by default. This is the fastest option, especially for larger matrices, but also has a larger memory footprint.

Alternatively, you can plug in platform optimized versions by inheriting from the BlasLevel1, BlasLevel2, and BlasLevel3 abstract base classes. You can then supply an instance of your class or classes as parameters to the UseCustom(BlasLevel1, BlasLevel2, BlasLevel3) method.

Inheritance Hierarchy

System.Object
  Extreme.Mathematics.LinearAlgebra.Blas

See Also