Top Banner
Sampling with Halton Points on n-Sphere Wai-Shing Luk 1 1 School of Microelectronics Fudan University April 6, 2014
87
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sampling with Halton Points on n-Sphere

Sampling with Halton Points on n-Sphere

Wai-Shing Luk1

1School of MicroelectronicsFudan University

April 6, 2014

Page 2: Sampling with Halton Points on n-Sphere

Agenda

Abstract

Motivation and Applications

Review of Low Discrepancy SequenceVan der Corput sequence on [0; 1]Halton sequence on [0; 1]Halton sequence on [0; 1]n

Unit Circle S1

Unit Sphere S2

Sphere Sn and SO(3)

Our approach

Numerical Experiments

Conclusions

Page 3: Sampling with Halton Points on n-Sphere

Agenda

Abstract

Motivation and Applications

Review of Low Discrepancy SequenceVan der Corput sequence on [0; 1]Halton sequence on [0; 1]Halton sequence on [0; 1]n

Unit Circle S1

Unit Sphere S2

Sphere Sn and SO(3)

Our approach

Numerical Experiments

Conclusions

Page 4: Sampling with Halton Points on n-Sphere

Abstract

I Sampling on n-sphere (Sn) has a wide range ofapplications, such as:

I Spherical coding in MIMO wireless communicationI Multivariate empirical mode decompositionI Filter bank design

I We propose a simple yet effective method which:I Utilizes low-discrepancy sequenceI Contains only 10 lines of MATLAB code in our

implementation!I Allow incremental generation.

I Numerical results show that the proposed methodoutperforms the randomly generated sequences and otherproposed methods.

Page 5: Sampling with Halton Points on n-Sphere

Agenda

Abstract

Motivation and Applications

Review of Low Discrepancy SequenceVan der Corput sequence on [0; 1]Halton sequence on [0; 1]Halton sequence on [0; 1]n

Unit Circle S1

Unit Sphere S2

Sphere Sn and SO(3)

Our approach

Numerical Experiments

Conclusions

Page 6: Sampling with Halton Points on n-Sphere

Problem Formulation

Desirable properties of samples over Sn

I UniformI DeterministicI Incremental

I The uniformity measures are optimized with every newpoint.

I Reason: in some applications, it is unknown how manypoints are needed to solve the problem in advance

Page 7: Sampling with Halton Points on n-Sphere

Motivation

I The topic has been well studied for sphere in 3D, i.e. n = 2I Yet it is still unknown how to generate for n > 2.I Potential applications (for n > 2):

I Robotic Motion Planning (S3 and SO(3)) [YJLM10]I Spherical coding in MIMO wireless communication [UL06]:

I Cookbook for Unitary matricesI A code word = a point in Sn

I Multivariate empirical mode decomposition [RM10]I Filter bank design [M+11]

Page 8: Sampling with Halton Points on n-Sphere

Halton Sequence on Sn

I Halton sequence on S2 has been well studied [CF97] byusing cylindrical coordinates.

I Yet it is still little known for Sn where n > 2.I Note: The generalization of cylindrical coordinates does

NOT work in higher dimensions.

Page 9: Sampling with Halton Points on n-Sphere

Agenda

Abstract

Motivation and Applications

Review of Low Discrepancy SequenceVan der Corput sequence on [0; 1]Halton sequence on [0; 1]Halton sequence on [0; 1]n

Unit Circle S1

Unit Sphere S2

Sphere Sn and SO(3)

Our approach

Numerical Experiments

Conclusions

Page 10: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 11: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 12: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 13: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 14: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 15: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 16: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 17: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 18: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 19: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 20: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 21: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 22: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 23: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 24: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 25: Sampling with Halton Points on n-Sphere

Basic: Van der Corput sequence

I Generate a low discrepancy sequence over [0; 1]I Denote vd(k ; b) as a Van der Corput sequence of k points,

where b is the base of a prime number.I MATLAB source code is available at http:

//www.mathworks.com/matlabcentral/fileexchange/15354-generate-a-van-der-corput-sequence

Example

Page 26: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 27: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 28: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 29: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 30: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 31: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 32: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 33: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 34: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 35: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 36: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 37: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 38: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 39: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 40: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 41: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 42: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 43: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 44: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 45: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 46: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 47: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 48: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 49: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 50: Sampling with Halton Points on n-Sphere

Unit Square [0; 1]� [0; 1]

Halton sequence: using 2Van der Corput sequenceswith different bases.

Example[x ; y ] = [vd(k ; 2); vd(k ; 3)]

Page 51: Sampling with Halton Points on n-Sphere

Unit Hypercube [0; 1]n

I Generally we can generate Halton sequence in a unithypercube [0; 1]n :

[x1; x2; : : : ; xn ] = [vd(k ; b1); vd(k ; b2); : : : ; vd(k ; bn)]

I A wide range of applications on Quasi-Monte CarloMethods (QMC).

Page 52: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 53: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 54: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 55: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 56: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 57: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 58: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 59: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 60: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 61: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 62: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 63: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 64: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 65: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 66: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 67: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 68: Sampling with Halton Points on n-Sphere

Unit Circle S 1

Can be generated by mapping theVan der Corput sequence to [0; 2�]

I � = 2� � vd(k ; b)I [x ; y ] = [cos �; sin �]

Page 69: Sampling with Halton Points on n-Sphere

Unit Sphere S 2

Has been applied for computergraphic applications [WLH97]

I [z ; x ; y ]= [cos �; sin � cos'; sin � sin']= [z ;

p1� z 2 cos';

p1� z 2 sin']

I ' = 2� � vd(k ; b1) % map to[0; 2�]

I z = 2 � vd(k ; b2)� 1 % map to[�1; 1]

Page 70: Sampling with Halton Points on n-Sphere

Sphere S 3 and SO(3)

I Deterministic point setsI Optimal grid point sets for S3, SO(3) [Lubotzky, Phillips,

Sarnak 86] [Mitchell 07]I No Halton sequences so far to the best of our knowledge

Page 71: Sampling with Halton Points on n-Sphere

Agenda

Abstract

Motivation and Applications

Review of Low Discrepancy SequenceVan der Corput sequence on [0; 1]Halton sequence on [0; 1]Halton sequence on [0; 1]n

Unit Circle S1

Unit Sphere S2

Sphere Sn and SO(3)

Our approach

Numerical Experiments

Conclusions

Page 72: Sampling with Halton Points on n-Sphere

SO(3) or S 3 Hopf Coordinates

I Hopf coordinates (cf. [YJLM10])I x1 = cos(�=2) cos( =2)I x2 = cos(�=2) sin( =2)I x3 = sin(�=2) cos('+ =2)I x4 = sin(�=2) sin('+ =2)

I S3 is a principal circle bundleover the S2

Page 73: Sampling with Halton Points on n-Sphere

Hopf Coordinates for SO(3) or S 3

Similar to the Halton sequence generation on S2, we performthe mapping:

I ' = 2� � vd(k ; b1) % map to [0; 2�]I = 2� � vd(k ; b2) % map to [0; 2�] for SO(3), orI = 4� � vd(k ; b2) % map to [0; 4�] for S3

I z = 2 � vd(k ; b3)� 1 % map to [�1; 1]I � = cos�1 z

Page 74: Sampling with Halton Points on n-Sphere

10 Lines of MATLAB Code

1 function[s] = sphere3_hopf(k,b)2 % sphere3_hopf Halton sequence3 varphi = 2*pi*vdcorput(k,b(1)); % map to [0, 2*pi]4 psi = 4*pi*vdcorput(k,b(2)); % map to [0, 4*pi]5 z = 2* vdcorput(k,b(3)) - 1; % map to [-1, 1]6 theta = acos(z);7 cos_eta = cos(theta /2);8 sin_eta = sin(theta /2);9 s = [cos_eta .* cos(psi/2), ...

10 cos_eta .* sin(psi/2), ...11 sin_eta .* cos(varphi + psi/2), ...12 sin_eta .* sin(varphi + psi /2)];

Page 75: Sampling with Halton Points on n-Sphere

3-sphere

I Polar coordinates:I x0 = cos �3I x1 = sin �3 cos �2I x2 = sin �3 sin �2 cos �1I x3 = sin �3 sin �2 sin �1

Page 76: Sampling with Halton Points on n-Sphere

n-sphere

I Polar coordinates:I x0 = cos �nI x1 = sin �n cos �n�1I x2 = sin �n sin �n�1 cos �n�2I x3 = sin �n sin �n�1 sin �n�2 cos �n�3I � � �I xn�1 = sin �n sin �n�1 sin �n�2 � � � cos �1I xn = sin �n sin �n�1 sin �n�2 � � � sin �1

Page 77: Sampling with Halton Points on n-Sphere

How to Generate the Point Set

I p0 = [cos �1; sin �1] where �1 = 2� � vd(k ; b1)I Let fj (�) =

Rsinj �d�, where � 2 (0; �).

Note: fj (�) is a monotonic increasing function in (0; �)I Map vd(k ; bj ) uniformly to fj (�):tj = fj (0) + (fj (�)� fj (0))vd(k ; bj )

I Let �j = f �1j (tj )I Define pn recursively as:pn = [cos �n ; sin �n � pn�1]

Page 78: Sampling with Halton Points on n-Sphere

S 3 projected on four different spheres

Page 79: Sampling with Halton Points on n-Sphere

Agenda

Abstract

Motivation and Applications

Review of Low Discrepancy SequenceVan der Corput sequence on [0; 1]Halton sequence on [0; 1]Halton sequence on [0; 1]n

Unit Circle S1

Unit Sphere S2

Sphere Sn and SO(3)

Our approach

Numerical Experiments

Conclusions

Page 80: Sampling with Halton Points on n-Sphere

Testing the Correctness

I Compare the dispersion with the random point-setI Construct the convex hull for each point-setI Dispersion roughly measured by the difference of the

maximum distance and the minimum distance betweenevery two neighbour points:

maxa2N (b)

fD(a ; b)g � mina2N (b)

fD(a ; b)g

where D(a ; b) =p1� aTb

Page 81: Sampling with Halton Points on n-Sphere

Random sequences

I To generate random points on Sn , spherical symmetry ofthe multidimensional Gaussian density function can beexploited.

I Then the normalized vector (xi=kxik) is uniformlydistributed over the hypersphere Sn . [Fishman, G. F.(1996)]

Page 82: Sampling with Halton Points on n-Sphere

Convex Hull with �400 points

Left: our, right: random

Page 83: Sampling with Halton Points on n-Sphere

Results for S 3

Page 84: Sampling with Halton Points on n-Sphere

Results for S 4

Page 85: Sampling with Halton Points on n-Sphere

Agenda

Abstract

Motivation and Applications

Review of Low Discrepancy SequenceVan der Corput sequence on [0; 1]Halton sequence on [0; 1]Halton sequence on [0; 1]n

Unit Circle S1

Unit Sphere S2

Sphere Sn and SO(3)

Our approach

Numerical Experiments

Conclusions

Page 86: Sampling with Halton Points on n-Sphere

Conclusions

I Proposed method generates low-discrepancy point-set innearly linear time

I The result outperforms the corresponding randompoint-set, especially when the number of points is small

I The MATLAB source code is available in public (or uponrequest)

Page 87: Sampling with Halton Points on n-Sphere

References I

[CF97] Jianjun Cui and Willi Freeden, Equidistribution on the sphere, SIAMJournal on Scientific Computing 18 (1997), no. 2, 595–609.

[M+11] DP Mandic et al., Filter bank property of multivariate empirical modedecomposition, Signal Processing, IEEE Transactions on 59 (2011),no. 5, 2421–2426.

[RM10] Naveed Rehman and Danilo P Mandic, Multivariate empirical modedecomposition, Proceedings of the Royal Society A: Mathematical,Physical and Engineering Science 466 (2010), no. 2117, 1291–1302.

[UL06] Zoran Utkovski and Juergen Lindner, On the construction ofnon-coherent space time codes from high-dimensional spherical codes,Spread Spectrum Techniques and Applications, 2006 IEEE NinthInternational Symposium on, IEEE, 2006, pp. 327–331.

[WLH97] Tien-Tsin Wong, Wai-Shing Luk, and Pheng-Ann Heng, Sampling withhammersley and halton points, Journal of graphics tools 2 (1997),no. 2, 9–24.

[YJLM10] Anna Yershova, Swati Jain, Steven M LaValle, and Julie C Mitchell,Generating uniform incremental grids on so (3) using the hopffibration, The International journal of robotics research 29 (2010),no. 7, 801–812.