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
Nuget packages
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
    • Nuget packages
    • 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.DataAnalysis.Models
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Providers
    • Extreme.Providers.InteropServices
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics.Random
    • ExtendedRandom Class
    • GfsrGenerator Class
    • MersenneTwister Class
    • ParallelRandom Class
    • QuasiRandom Class
    • RandomizedCollection(T) Class
    • RandomWordGenerator Class
    • RanLux Class
    • RanLux24 Class
    • RanLuxLuxuryLevel Enumeration
    • Shuffler Class
    • SobolSequenceGenerator Class
  • RanLux Class
    • RanLux Constructors
    • Properties
    • Methods

RanLux Class

Extreme Optimization Numerical Libraries for .NET Professional
Represents a RanLux pseudo-random number generator
Inheritance Hierarchy

SystemObject
  SystemRandom
    Extreme.Mathematics.RandomExtendedRandom
      Extreme.Mathematics.RandomRanLux

Namespace:  Extreme.Mathematics.Random
Assembly:  Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1
Syntax

C#
VB
C++
F#
Copy
public class RanLux : ExtendedRandom
Public Class RanLux
	Inherits ExtendedRandom
public ref class RanLux : public ExtendedRandom
type RanLux =  
    class
        inherit ExtendedRandom
    end

The RanLux type exposes the following members.

Constructors

  NameDescription
Public methodRanLux
Constructs a new RanLux random number generator using the default seed and luxury level.
Public methodRanLux(Int32)
Constructs a new RanLux random number generator using the specified seed and the default luxury level.
Public methodRanLux(RanLuxLuxuryLevel)
Constructs a new RanLux random number generator using the default seed and the specified luxury level.
Public methodRanLux(Int32, RanLuxLuxuryLevel)
Constructs a new RanLux random number generator using the specified seed and custom luxury level.
Top
Properties

  NameDescription
Public propertyLuxuryLevel
Gets the luxury level for the random number generator.
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 the default hash function.
(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 methodNext
Returns a nonnegative random number.
(Overrides RandomNext.)
Public methodNext(Int32)
Returns a non-negative random integer that is less than the specified maximum.
(Inherited from Random.)
Public methodNext(Int32, Int32)
Returns a random integer that is within a specified range.
(Inherited from Random.)
Public methodNextBytes(Byte)
Fills the elements of a specified array of bytes with random numbers.
(Overrides RandomNextBytes(Byte).)
Public methodNextBytes(SpanByte)
Fills the elements of a specified span of bytes with random numbers.
(Inherited from Random.)
Public methodNextDouble
Returns a random floating-point number that is greater than or equal to 0.0, and less than 1.0.
(Inherited from Random.)
Public methodRestart
Restarts the random number generator using the original seed.
(Overrides ExtendedRandomRestart.)
Public methodRestart(Int32)
Restarts the random number generator using the specified seed.
(Overrides ExtendedRandomRestart(Int32).)
Protected methodSample
Returns a random number between 0 and 1.
(Overrides RandomSample.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Extension Methods

  NameDescription
Public Extension MethodAsParallel
Returns a thread-safe version of this random number generator.
(Defined by RandomExtensions.)
Public Extension MethodCorrelatedSamples
Generates a series of random variables with the specified correlation matrix.
(Defined by RandomExtensions.)
Public Extension MethodFill(IListDouble)Overloaded.
Fills a Double array with random numbers.
(Defined by RandomExtensions.)
Public Extension MethodFill(IListInt32)Overloaded.
Fills an Int32 array with random numbers.
(Defined by RandomExtensions.)
Public Extension MethodFill(Double, ContinuousDistribution)Overloaded.
Fills a Double array with random samples from the specified distribution.
(Defined by RandomExtensions.)
Public Extension MethodFill(Int32, DiscreteDistribution)Overloaded.
Fills an Int32 array with random samples from the specified distribution.
(Defined by RandomExtensions.)
Public Extension MethodFill(VectorDouble, ContinuousDistribution)Overloaded.
Fills a vector with random samples from the specified distribution.
(Defined by RandomExtensions.)
Public Extension MethodFill(VectorDouble, DiscreteDistribution)Overloaded.
Fills a vector with random samples from the specified distribution.
(Defined by RandomExtensions.)
Public Extension MethodFill(Double, Int32, Int32)Overloaded.
Fills a Double array with random samples from the specified distribution.
(Defined by RandomExtensions.)
Public Extension MethodFill(IListDouble, Int32, Int32)Overloaded.
Fills a Double array with random numbers.
(Defined by RandomExtensions.)
Public Extension MethodFill(IListInt32, Int32, Int32)Overloaded.
Fills an Int32 array with random numbers.
(Defined by RandomExtensions.)
Public Extension MethodFill(Int32, Int32, Int32)Overloaded.
Fills an Int32 array with random samples from the specified distribution.
(Defined by RandomExtensions.)
Public Extension MethodFill(Double, Int32, Int32, ContinuousDistribution)Overloaded.
Fills a Double array with random samples from the specified distribution.
(Defined by RandomExtensions.)
Public Extension MethodFill(Int32, Int32, Int32, DiscreteDistribution)Overloaded.
Fills an Int32 array with random samples from the specified distribution.
(Defined by RandomExtensions.)
Public Extension MethodFillNormal(IListDouble)Overloaded.
Fills a list with normal random numbers with zero mean and unit standard deviation.
(Defined by RandomExtensions.)
Public Extension MethodFillNormal(IListDouble, Int32, Int32)Overloaded.
Fills a list with normal random numbers with zero mean and unit standard deviation.
(Defined by RandomExtensions.)
Public Extension MethodNext
Returns a sample from the specified distribution.
(Defined by RandomExtensions.)
Public Extension MethodNextDouble
Returns a sample from the specified distribution.
(Defined by RandomExtensions.)
Top
Remarks

Use the RanLux class to represent a pseudo-random number generator based on M. Luescher's second generation version of the RANLUX random number generator.

The RanLux generator produces random blocks of 48 bits. It has a period of over 10166.

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

References:

  • M. Leuscher, "A portable high-quality random number random for lattice field theory calculations", Computer Physics Communications, 79 (1994) 100-110.
  • F. James, "RANLUX: A Fortran implementation of the high-quality pseudo-random number generator of Leuscher", Computer Physics Communications, 79 (1994) 111-114.

See Also

Reference

Extreme.Mathematics.Random Namespace
Extreme.Mathematics.RandomRanLux24

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, 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.