Skip to content

Commit

Permalink
Adding all README.md files into PDF documentation by converting them …
Browse files Browse the repository at this point in the history
…to .rst rather than .html
  • Loading branch information
schoi32 committed Dec 24, 2019
1 parent b875a22 commit 0b105f5
Show file tree
Hide file tree
Showing 22 changed files with 2,444 additions and 1,047 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build Status](https://travis-ci.com/QMCSoftware/QMCSoftware.svg?branch=master)](https://travis-ci.com/QMCSoftware/QMCSoftware)
[![Build Status](https://travis-ci.com/QMCSoftware/QMCSoftware.png?branch=master)](https://travis-ci.com/QMCSoftware/QMCSoftware)

# Quasi-Monte Carlo Community Software

Expand Down
24 changes: 7 additions & 17 deletions docs/_sources/readme.rst.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
About Our QMC Software Community
================================
=================================

.. raw:: html
:file: html_from_readme/QMCSoftware.html
.. toctree::
:maxdepth: 1

About Our Python QMC Software
------------------------------
rts_from_readme/QMCSoftware.rst

.. raw:: html
:file: html_from_readme/python_prototype.html
rts_from_readme/python_prototype.rst

About QMCPy
............
rts_from_readme/qmcpy.rst

.. raw:: html
:file: html_from_readme/qmcpy.html

About QMCPy Tests
..................

.. raw:: html
:file: html_from_readme/test.html
rts_from_readme/test.rst
144 changes: 144 additions & 0 deletions docs/_sources/rts_from_readme/QMCSoftware.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
.. contents::
:depth: 1
..
|Build Status|

Quasi-Monte Carlo Community Software
====================================

.. raw:: html

<hr>

Quasi-Monte Carlo (QMC) methods are used to approximate multivariate
integrals. They have four main components: an integrand, a discrete
distribution, summary output data, and stopping criterion. Information
about the integrand is obtained as a sequence of values of the function
sampled at the data-sites of the discrete distribution. The stopping
criterion tells the algorithm when the user-specified error tolerance
has been satisfied. We are developing a framework that allows
collaborators in the QMC community to develop plug-and-play modules in
an effort to produce more efficient and portable QMC software. Each of
the above four components is an abstract class. Abstract classes specify
the common properties and methods of all subclasses. The ways in which
the four kinds of classes interact with each other are also specified.
Subclasses then flesh out different integrands, sampling schemes, and
stopping criteria. Besides providing developers a way to link their new
ideas with those implemented by the rest of the QMC community, we also
aim to provide practitioners with state-of-the-art QMC software for
their applications.

.. raw:: html

<hr>

Citation
--------

If you find QMCPy helpful in your work, please support us by citing the
following work:

Fred J. Hickernell, Sou-Cheng T. Choi, and Aleksei Sorokin, “QMC
Community Software.” Python software, 2019. Work in progress. Available
from https://github.com/QMCSoftware/QMCSoftware

.. raw:: html

<hr>

Developers
----------

- Sou-Cheng T. Choi
- Fred J. Hickernell
- Aleksei Sorokin

.. raw:: html

<hr>

Contributors
------------

- Michael McCourt

.. raw:: html

<hr>

Acknowledgment
--------------

We thank Dirk Nuyens for fruitful discussions related to Magic Point
Shop.

.. raw:: html

<hr>

References
----------

[1] F.Y. Kuo & D. Nuyens. “Application of quasi-Monte Carlo methods to
elliptic PDEs with random diffusion coefficients - a survey of analysis
and implementation”,Foundations of Computational Mathematics,
16(6):1631-1696, 2016. (`springer
link <https://link.springer.com/article/10.1007/s10208-016-9329-5>`__,
`arxiv link <https://arxiv.org/abs/1606.06613>`__)

[2] Fred J. Hickernell, Lan Jiang, Yuewei Liu, and Art B. Owen,
“Guaranteed conservative fixed width confidence intervals via Monte
Carlo sampling,” Monte Carlo and Quasi-Monte Carlo Methods 2012 (J.
Dick, F.Y. Kuo, G. W. Peters, and I. H. Sloan, eds.), pp. 105-128,
Springer-Verlag, Berlin, 2014. DOI: 10.1007/978-3-642-41095-6_5

[3] Sou-Cheng T. Choi, Yuhan Ding, Fred J. Hickernell, Lan Jiang, Lluis
Antoni Jimenez Rugama, Da Li, Jagadeeswaran Rathinavel, Xin Tong, Kan
Zhang, Yizhi Zhang, and Xuan Zhou, GAIL: Guaranteed Automatic
Integration Library (Version 2.3) [MATLAB Software], 2019. Available
from http://gailgithub.github.io/GAIL_Dev/

[4] Sou-Cheng T. Choi, “MINRES-QLP Pack and Reliable Reproducible
Research via Supportable Scientific Software,” Journal of Open Research
Software, Volume 2, Number 1, e22, pp. 1-7, 2014.

[5] Sou-Cheng T. Choi and Fred J. Hickernell, “IIT MATH-573 Reliable
Mathematical Software” [Course Slides], Illinois Institute of
Technology, Chicago, IL, 2013. Available from
http://gailgithub.github.io/GAIL_Dev/

[6] Daniel S. Katz, Sou-Cheng T. Choi, Hilmar Lapp, Ketan Maheshwari,
Frank Loffler, Matthew Turk, Marcus D. Hanwell, Nancy Wilkins-Diehr,
James Hetherington, James Howison, Shel Swenson, Gabrielle D. Allen,
Anne C. Elster, Bruce Berriman, Colin Venters, “Summary of the First
Workshop On Sustainable Software for Science: Practice and Experiences
(WSSSPE1),” Journal of Open Research Software, Volume 2, Number 1, e6,
pp. 1-21, 2014.

[7] Fang, K.-T., & Wang, Y. (1994). Number-theoretic Methods in
Statistics. London, UK: CHAPMAN & HALL

[8] Lan Jiang, Guaranteed Adaptive Monte Carlo Methods for Estimating
Means of Random Variables, PhD Thesis, Illinois Institute of Technology,
2016.

[9] Lluis Antoni Jimenez Rugama and Fred J. Hickernell, “Adaptive
multidimensional integration based on rank-1 lattices,” Monte Carlo and
Quasi-Monte Carlo Methods: MCQMC, Leuven, Belgium, April 2014 (R. Cools
and D. Nuyens, eds.), Springer Proceedings in Mathematics and
Statistics, vol. 163, Springer-Verlag, Berlin, 2016, arXiv:1411.1966,
pp. 407-422.

[10] Kai-Tai Fang and Yuan Wang, Number-theoretic Methods in Statistics,
Chapman & Hall, London, 1994.

[11] Fred J. Hickernell and Lluis Antoni Jimenez Rugama, “Reliable
adaptive cubature using digital sequences”, Monte Carlo and Quasi-Monte
Carlo Methods: MCQMC, Leuven, Belgium, April 2014 (R. Cools and D.
Nuyens, eds.), Springer Proceedings in Mathematics and Statistics,
vol. 163, Springer-Verlag, Berlin, 2016, arXiv:1410.8615 [math.NA],
pp. 367-383.

.. |Build Status| image:: https://travis-ci.com/QMCSoftware/QMCSoftware.png?branch=master
:target: https://travis-ci.com/QMCSoftware/QMCSoftware
86 changes: 86 additions & 0 deletions docs/_sources/rts_from_readme/python_prototype.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
.. contents::
:depth: 1
..
Python 3 Library of QMC Software
================================

.. raw:: html

<hr>

QMCPy
-----

Package of main components

- Integrand classes
- True Measure classes
- Discrete Distribution classes
- Stopping Criterion classes
- Accumulate Data classes
- Third Party contributed classes
- integrate function

.. raw:: html

<hr>

workouts
--------

Example uses of QMCPy package

.. raw:: html

<hr>

test
----

Sets of long and short unittests

.. raw:: html

<hr>

outputs
-------

Logs and figures generated by workouts

.. raw:: html

<hr>

demos
-----

Example use of QMCPy as an independent package

.. raw:: html

<hr>

sphinx
------

Automated project documentation

.. raw:: html

<hr>

Installation
------------

::

pip install qmcpy

A virtual environment is recommended for developers/contributors Ensure
*…/python_prototypes/* is in your path Install dependencies with

::

pip install requirements.txt
103 changes: 103 additions & 0 deletions docs/_sources/rts_from_readme/qmcpy.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
.. contents::
:depth: 1
..
QMCPy
=====

.. raw:: html

<hr>

Integrand
---------

The function to integrate *Abstract class with concrete implementations*

- Linear: :math:`\:\: y_i = \sum_{j=0}^{d-1}(x_{ij})`
- Keister: :math:`\:\: y_i = \pi^{d/2} * \cos(||x_i||_2)`
- Asian Call

- :math:`S_i(t_j)=S(0)e^{(r-\frac{\sigma^2}{2})t_j+\sigma\mathcal{B}(t_j)}`
- discounted call payoff
:math:`= max(\frac{1}{d}\sum_{j=0}^{d-1} S(jT/d)-K)\;,\: 0)`
- discounted put payoff
:math:`= max(K-\frac{1}{d}\sum_{j=0}^{d-1} S(jT/d))\;,\: 0)`

.. raw:: html

<hr>

True Measure
------------

General measure used to define the integrand *Abstract class with
concrete implementations*

- Uniform: :math:`\:\: \mathcal{U}(a,b)`
- Gaussian: :math:`\:\: \mathcal{N}(\mu,\sigma^2)`
- Brownian Motion:
:math:`\:\: \mathcal{B}(t_j)=B(t_{j-1})+Z_j\sqrt{t_j-t_{j-1}} \;` for
:math:`\;Z_j \sim \mathcal{N}(0,1)`

.. raw:: html

<hr>

Discrete Distribution
---------------------

Sampling nodes iid or lds (low-discrepancy sequence) *Abstract class
with concrete implementations*

- IID Standard Uniform:
:math:`\:\: x_j \overset{iid}{\sim} \mathcal{U}(0,1)`
- IID Standard Gaussian:
:math:`\:\: x_j \overset{iid}{\sim} \mathcal{N}(0,1)`
- Lattice (base 2):
:math:`\:\: x_j \overset{lds}{\sim} \mathcal{U}(0,1)`
- Sobol (base 2): :math:`\:\: x_j \overset{lds}{\sim} \mathcal{U}(0,1)`

.. raw:: html

<hr>

Stopping Criterion
------------------

The stopping criterion to determine sufficient approximation *Abstract
class with concrete implementations* Central Limit Theorem (CLT)
:math:`\; \hat{\mu}_n = \overline{Y}_n \approx\mathcal{N}(\mu,\frac{\sigma^2}{n})`\
:math:`\; \mathbb{P}[\hat{\mu}_n-\frac{\mathcal{Z}_{\alpha/2}\hat{\sigma}_n}{\sqrt{n}} \leq \mu \leq \hat{\mu}_n+\frac{\mathcal{Z}_{\alpha/2}\hat{\sigma}_n}{\sqrt{n}}] \approx 1-\alpha`

- CLT for :math:`x_i\sim` iid
- CLT Repeated for :math:`\{x_{r,i}\}_{r=1}^R \sim` lds

.. raw:: html

<hr>

Accumulate Data Class
---------------------

Stores data values of corresponding stopping criterion procedure
*Abstract class with concrete implementations*

- Mean Variance Data (Controlled by CLT)
- Mean Variance Repeated Data (Controlled by CLT Repeated)

.. raw:: html

<hr>

Integrate Method
----------------

Repeatedly samples the integrand at nodes generated by the discrete
distribution and transformed to mimic the integrand’s true measure until
the Stopping Criterion is met *Function with arguments:*

- Integrand object
- True Measure object
- Discrete Distribution object
- Stopping Criterion object

0 comments on commit 0b105f5

Please sign in to comment.