Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.Distributed.Cuda
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.FSharp
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.Generic.LinearAlgebra
    • Extreme.Mathematics.Generic.LinearAlgebra.Implementation
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers
    • Extreme.Mathematics.Generic.SignalProcessing
    • Extreme.Mathematics.Implementation
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Complex
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IO
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.LinearAlgebra.Providers
    • Extreme.Mathematics.LinearAlgebra.Sparse
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.Genetic
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Numerics.FSharp
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.IO
    • Extreme.Statistics.Linq
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Random
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics.LinearAlgebra
    • BandMatrix Class
    • BandMatrix(T) Class
    • BandVector Class
    • BlockVector(T) Class
    • CholeskyDecomposition Class
    • CholeskyDecomposition(T) Class
    • CloningMethod Enumeration
    • ColumnCollection Structure
    • ColumnCollection(T) Structure
    • ComplexEigenvalueDecomposition Class
    • ComplexSingularValueDecomposition(T) Class
    • ComponentReadOnlyException Class
    • ComposedComplexMatrix(T) Class
    • ComposedComplexVector(T) Class
    • ConstantMatrix Class
    • ConstantMatrix(T) Class
    • ConstantVector Class
    • ConstantVector(T) Class
    • Decomposition Class
    • Decomposition(T) Class
    • DenseMatrix Class
    • DenseMatrix(T) Class
    • DenseVector Class
    • DenseVector(T) Class
    • DiagonalMatrix Class
    • DiagonalMatrix(T) Class
    • EigenvalueDecomposition Class
    • EigenvalueDecomposition(T) Class
    • EigenvalueRange Enumeration
    • GeneralizedDecomposition(T) Class
    • GeneralizedEigenvalueDecomposition(T) Class
    • GeneralizedSingularValueDecomposition(T) Class
    • GeneralizedSingularValueDecompositionFactors Enumeration
    • HermitianEigenvalueDecomposition Class
    • HermitianMatrix(T) Class
    • IDoubleStorage Interface
    • ILeastSquaresSolver Interface
    • IndexedVector Class
    • IndexedVector(T) Class
    • IndexValuePair Structure
    • IndexValuePair(T) Structure
    • IResizableMatrix Interface
    • IResizableMatrix(T) Interface
    • ISingleLeastSquaresSolver Interface
    • ISingleResizableMatrix Interface
    • ISingleStorage Interface
    • Kernel Class
    • LeastSquaresSolutionMethod Enumeration
    • LeastSquaresSolver Class
    • LeastSquaresSolver(T) Class
    • LinearAlgebraOperations Class
    • LinearOperator Class
    • LinearOperator(T) Class
    • LQDecomposition(T) Class
    • LUDecomposition Class
    • LUDecomposition(T) Class
    • MatrixNotPositiveDefiniteException Class
    • MatrixSingularException Class
    • MatrixStructure Enumeration
    • MatrixView Class
    • MatrixView(T) Class
    • NonHermitianEigenvalueDecomposition Class
    • NonHermitianEigenvalueDecomposition(T) Class
    • NonNegativeMatrixFactorization Class
    • NonNegativeMatrixFactorization(T) Class
    • NonsymmetricEigenvalueDecomposition Class
    • PermutationMatrix Class
    • PivotVector Structure
    • QLDecomposition(T) Class
    • QRDecomposition Class
    • QRDecomposition(T) Class
    • Range Structure
    • RowCollection Structure
    • RowCollection(T) Structure
    • RowColumnValueTriplet Structure
    • RowColumnValueTriplet(T) Structure
    • RQDecomposition(T) Class
    • SingleBandCholeskyDecomposition Class
    • SingleBandLUDecomposition Class
    • SingleBandMatrix Class
    • SingleBandVector Class
    • SingleBandVector.BandVectorEnumerator Structure
    • SingleCholeskyDecomposition Class
    • SingleColumnCollection Structure
    • SingleConstantMatrix Class
    • SingleConstantVector Class
    • SingleDecomposition Class
    • SingleDenseMatrix Class
    • SingleDenseVector Class
    • SingleDiagonalMatrix Class
    • SingleEigenvalueDecomposition Class
    • SingleIndexedVector Class
    • SingleIndexValuePair Structure
    • SingleKernel Class
    • SingleLeastSquaresSolver Class
    • SingleLinearTransformation Class
    • SingleLUDecomposition Class
    • SingleMatrixView Class
    • SinglePermutationMatrix Class
    • SingleQRDecomposition Class
    • SingleRowCollection Structure
    • SingleRowColumnValueTriplet Structure
    • SingleSingularValueDecomposition Class
    • SingleSparseLUDecomposition Class
    • SingleSparseMatrix Class
    • SingleSparseVector Class
    • SingleSymmetricEigenvalueDecomposition Class
    • SingleSymmetricMatrix Class
    • SingleTriangularMatrix Class
    • SingularValueDecomposition Class
    • SingularValueDecomposition(T) Class
    • SingularValueDecompositionFactors Enumeration
    • SparseCompressedColumnMatrix Class
    • SparseCompressedColumnMatrix(T) Class
    • SparseMatrix Class
    • SparseMatrix(T) Class
    • SparseVector Class
    • SparseVector(T) Class
    • SymmetricEigenvalueDecomposition Class
    • SymmetricIndefiniteDecomposition Class
    • SymmetricIndefiniteDecomposition(T) Class
    • SymmetricMatrix Class
    • SymmetricMatrix(T) Class
    • TriangularMatrix Class
    • TriangularMatrix(T) Class
  • SingleKernel Class
    • Properties
    • Methods
SingleKernel ClassExtreme Optimization Numerical Libraries for .NET Professional
Encapsulates the currently active BLAS implementation.
Inheritance Hierarchy

SystemObject
  ProviderManagerSingleLinearAlgebraProvider, SingleManagedLinearAlgebraProvider
    Extreme.Mathematics.LinearAlgebraSingleKernel

Namespace: Extreme.Mathematics.LinearAlgebra
Assembly: Extreme.Numerics.Version4x.Net40 (in Extreme.Numerics.Version4x.Net40.dll) Version: 4.2.11333.0 (5.0.12317.0)
Syntax

C#
VB
C++
F#
Copy
public class SingleKernel : ProviderManager<SingleLinearAlgebraProvider, SingleManagedLinearAlgebraProvider>
Public Class SingleKernel
	Inherits ProviderManager(Of SingleLinearAlgebraProvider, SingleManagedLinearAlgebraProvider)
public ref class SingleKernel : public ProviderManager<SingleLinearAlgebraProvider^, SingleManagedLinearAlgebraProvider^>
type SingleKernel =  
    class
        inherit ProviderManager<SingleLinearAlgebraProvider, SingleManagedLinearAlgebraProvider>
    end

The SingleKernel type exposes the following members.

Properties

  NameDescription
Public propertyStatic memberComplexLapack
Gets or sets the current LAPACK implementation for float-precision complex arguments.
Public propertyStatic memberComplexLevel1
Gets or sets the current implementation of the Level 1 BLAS for float-precision complex arguments.
Public propertyStatic memberComplexLevel2
Gets or sets the current implementation of the Level 2 BLAS for float-precision complex arguments.
Public propertyStatic memberComplexLevel3
Gets or sets the current implementation of the Level 3 BLAS for float-precision complex arguments.
Public propertyStatic memberComplexSparse
Gets or sets the current implementation of the sparse BLAS for float-precision complex arguments.
Public propertyStatic memberLapack
Gets or sets the current LAPACK implementation for float-precision arguments.
Public propertyStatic memberLevel1
Gets or sets the current implementation of the Level 1 BLAS for float-precision arguments.
Public propertyStatic memberLevel2
Gets or sets the current implementation of the Level 2 BLAS for float-precision arguments.
Public propertyStatic memberLevel3
Gets or sets the current implementation of the Level 3 BLAS for float-precision arguments.
Public propertyStatic memberSparse
Gets or sets the current implementation of the sparse BLAS for float-precision arguments.
Top
Methods

  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodStatic memberUseFromAssembly
Instructs the library to use a custom BLAS implementation contained in a .NET assembly.
Public methodStatic memberUseHybrid
Instructs the library to use a hybrid of the managed and default native BLAS implementation.
Public methodStatic memberUseHybrid(SingleLinearAlgebraProvider)
Instructs the library to use the managed and the specified native BLAS implementation.
Public methodStatic memberUseManaged
Instructs the library to use the managed BLAS implementation.
Public methodStatic memberUseNative
Instructs the library to use the native BLAS implementation.
Public methodStatic memberUseProvider
Instructs the library to use the specified SingleLinearAlgebraProvider.
Top
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] method.

Version Information

Numerical Libraries

Supported in: 5.x, 4.x
See Also

Reference

Extreme.Mathematics.LinearAlgebra Namespace
Extreme.Mathematics.LinearAlgebra.ProvidersBlasLevel1
Extreme.Mathematics.LinearAlgebra.ProvidersBlasLevel2
Extreme.Mathematics.LinearAlgebra.ProvidersBlasLevel3

Copyright (c) 2004-2016 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2018, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.