<< Overview Low Discrepancy lowdisc_ldgen >>

Low Discrepancy >> Low Discrepancy > Projections

Projections

An overview of bad 2D projections.

Purpose

The goal of this page is to gather experiments showing bad 2D projections for famous Low Disrepancy sequences.

Halton Sequence

In this section, we present some bad 2D projections of the Halton sequence. The Halton sequence is known for having bad 2D projections and several examples are presented in the bibliography.

In the following example, we consider the projection of dimensions (28,29) as in "On the optimal Halton sequence", Chi, Mascagnib, Warnock Mathematics and Computers in Simulation 70 (2005) 9?21 The paper contains an error : the faulty projection is (28,29) (primes 107,109) and not (27,28) (primes 103,107).

lds = lowdisc_new("haltonf");
lds = lowdisc_configure(lds,"-dimension",29);
lds = lowdisc_startup (lds);
[lds,u] = lowdisc_next (lds,4096);
lds = lowdisc_destroy(lds);
scf(); 
lowdisc_proj2d ( u , [28 29] );
// Compute the correlation coefficient for dimensions (28,29)
lowdisc_corrcoef ( [u(:,28) u(:,29)] )
// See our Leaped - Halton projection:
// there is no obvious problem.
[ evalf , u ] = lowdisc_ldgen ( 4096 , 29 , "haltonf" );
scf(); 
lowdisc_proj2d ( u , [28 29] );

In the following example, we consider the projection of Halton sequence in dimensions (39,40) as in "Computational Investigations of Low-Discrepancy Sequences", Kocis, Whiten ACM Transactions on Mathematical Software, Vol. 23, No. 2, June 1997, Pages 266-294.

lds = lowdisc_new("haltonf");
lds = lowdisc_configure(lds,"-dimension",40);
lds = lowdisc_startup (lds);
[lds,u] = lowdisc_next (lds,2000);
lds = lowdisc_destroy(lds);
scf();
lowdisc_proj2d ( u , [39 40] );
// Compute the correlation coefficient for dimensions (39,40)
lowdisc_corrcoef ( [u(:,39) u(:,40)] )
// See our Leaped-Halton
[ evalf , u ] = lowdisc_ldgen ( 2000 , 40 , "haltonf" );
scf();
lowdisc_proj2d ( u , [39 40] );

In the following example, we search the worst Halton projection for 2000 points in dimensions 40. In order to evaluate the projection, we compute the correlation coefficients. The projections which have the largest non-diagonal correlation coefficients are the worst.

lds = lowdisc_new("haltonf");
lds = lowdisc_configure(lds,"-dimension",40);
lds = lowdisc_startup (lds);
[lds,u] = lowdisc_next (lds,2000);
lds = lowdisc_destroy(lds);
// Compute correlation coefficients
c = lowdisc_corrcoef ( u );
// Get the maximum correlation coefficient 
// but remove the diagonal (unity) terms
[m,k] = max(abs(c-eye(c)))
// This is projection (35,36) :
k
// Get the correlation coefficient for this projection
c(k(1),k(2))
// Print this projection
scf();
lowdisc_proj2d ( u , k );

Faure Sequence

In this section, we present some bad 2D projections of the Faure sequence.

In the following example, we search for the worst projection of the Faure sequence in dimension 40. The worst projection is relatively good, which indicates how Faure's sequence is much better than Halton's sequence.

lds = lowdisc_new("fauref");
lds = lowdisc_configure(lds,"-dimension",40);
lds = lowdisc_startup (lds);
[lds,u] = lowdisc_next (lds,2000);
lds = lowdisc_destroy(lds);
// Compute correlation coefficients
c = lowdisc_corrcoef ( u );
// Get the maximum correlation coefficient 
// but remove the diagonal (unity) terms
[m,k] = max(abs(c-eye(c)))
// This is projection (20,21) :
k
// Get the correlation coefficient for this projection
c(k(1),k(2))
// Print this projection
scf();
lowdisc_proj2d ( u , k );

In the following example, we consider the projection of Faure sequence for 300 points in dimensions (39,40) as in "Computational Investigations of Low-Discrepancy Sequences", Kocis, Whiten ACM Transactions on Mathematical Software, Vol. 23, No. 2, June 1997, Pages 266-294.

lds = lowdisc_new("fauref");
lds = lowdisc_configure(lds,"-dimension",40);
lds = lowdisc_startup (lds);
[lds,u] = lowdisc_next (lds,300);
lds = lowdisc_destroy(lds);
scf();
lowdisc_proj2d ( u , [39 40] );
<< Overview Low Discrepancy lowdisc_ldgen >>