Sampling with Halton Points on n-Sphere
-
Upload
danny-luk -
Category
Technology
-
view
623 -
download
4
Transcript of Sampling with Halton Points on n-Sphere
![Page 1: Sampling with Halton Points on n-Sphere](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/1.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/7.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/20.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/22.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/24.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/26.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/27.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/28.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/29.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/30.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/31.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/32.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/33.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/34.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/35.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/36.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/37.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/38.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/39.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/40.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/41.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/42.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/43.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/44.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/45.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/46.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/47.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/48.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/49.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/50.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/51.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/52.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/53.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/54.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/55.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/56.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/57.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/58.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/59.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/60.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/61.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/62.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/63.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/64.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/65.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/66.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/67.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/68.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/69.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/70.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/71.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/72.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/73.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/74.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/75.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/76.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/77.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/78.jpg)
S 3 projected on four different spheres
![Page 79: Sampling with Halton Points on n-Sphere](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/79.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/80.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/81.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/82.jpg)
Convex Hull with �400 points
Left: our, right: random
![Page 83: Sampling with Halton Points on n-Sphere](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/83.jpg)
Results for S 3
![Page 84: Sampling with Halton Points on n-Sphere](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/84.jpg)
Results for S 4
![Page 85: Sampling with Halton Points on n-Sphere](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/85.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/86.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022052904/557cbe19d8b42a59078b48be/html5/thumbnails/87.jpg)
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.