Extreme Optimization™: Complexity made simple.

Numerical Components
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
    • 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
    • Contact us
Introduction
Deployment Guide
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 Statistics Library User's GuideStatistics Library User's Guide
Expand ReferenceReference
  • Home
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Reference
    • Extreme.Mathematics Namespace
    • Extreme.Mathematics.Algorithms Namespace
    • Extreme.Mathematics.Calculus Namespace
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations Namespace
    • Extreme.Mathematics.Curves Namespace
    • Extreme.Mathematics.Curves.Nonlinear Namespace
    • Extreme.Mathematics.EquationSolvers Namespace
    • Extreme.Mathematics.Generic Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions Namespace
    • Extreme.Mathematics.LinearAlgebra.IO Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners Namespace
    • Extreme.Mathematics.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra.Sparse Namespace
    • Extreme.Mathematics.Optimization Namespace
    • Extreme.Mathematics.Optimization.LineSearches Namespace
    • Extreme.Mathematics.SignalProcessing Namespace
    • Extreme.Statistics Namespace
    • Extreme.Statistics.Distributions Namespace
    • Extreme.Statistics.IO Namespace
    • Extreme.Statistics.Multivariate Namespace
    • Extreme.Statistics.Random Namespace
    • Extreme.Statistics.Tests Namespace
    • Extreme.Statistics.TimeSeriesAnalysis Namespace
  • Extreme.Statistics.Random Namespace
    • CorrelatedRandomNumberGenerator Class
    • ExtendedRandom Class
    • FaureSequence Class
    • GfsrGenerator Class
    • HaltonSequence Class
    • MersenneTwister Class
    • ParallelRandom Class
    • RandomEnumerator Class
    • RandomizedCollection Class
    • RandomSequence Class
    • RandomWordGenerator Class
    • RanLux Class
    • RanLux24 Class
    • RanLuxLuxuryLevel Enumeration
    • Shuffler Class
  • MersenneTwister Class
    • Members
    • Constructors
    • Methods
Collapse image Expand Image Copy image CopyHover image
         




MersenneTwister Class

Members See Also 
Represents a pseudo-random number generator based on the Mersenne Twister algorithm.

Namespace: Extreme.Statistics.Random
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 4.2.11333.0 (4.2.12253.0)

Syntax

C#
[SerializableAttribute]
public sealed class MersenneTwister : RandomWordGenerator
Visual Basic (Declaration)
<SerializableAttribute> _
Public NotInheritable Class MersenneTwister _
	Inherits RandomWordGenerator
Visual C++
[SerializableAttribute]
public ref class MersenneTwister sealed : public RandomWordGenerator
F#
[<SealedAttribute>]
[<SerializableAttribute>]
type MersenneTwister =  
    class
        inherit RandomWordGenerator
    end

Remarks

Use the MersenneTwister class to represent a pseudo-this.random number generator that uses the Mersenne Twister algorithm of Takuji Nishimura and Makoto Matsumoto.

This generator has a very long period of 219937-1. This period is a Mersenne prime number (since 19937 is prime), whence its name. The algorithm is very fast and produces very good random sequences.

MersenneTwister can be used in place of the Random class to obtain pseudo-random numbers of a higher quality.

The Mersenne Twister is a linear random number generator. This makes it unsuitable for use in cryptography applications. To generate a cryptographically secure random number suitable for creating a random password, for example, use a class derived from RandomNumberGenerator such as RNGCryptoServiceProvider.

Inheritance Hierarchy

System..::..Object
  System..::..Random
    Extreme.Statistics.Random..::..ExtendedRandom
      Extreme.Statistics.Random..::..RandomWordGenerator
        Extreme.Statistics.Random..::..MersenneTwister

See Also

MersenneTwister Members
Extreme.Statistics.Random Namespace

Send comments on this topic to support@extremeoptimization.com

Copyright (c) 2004-2011 ExoAnalytics Inc.

Copyright © 2003-2013, 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.