<commit_before>..
    This work is licensed under the Creative Commons Attribution-
    NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this
    license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a
    letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
    California, 94041, USA.
    
.. _intro:
    
Introduction
============

TODO

Obtaining QInfer
----------------

A stable version of **QInfer** has not yet been released. Until then,
the latest version may always be obtained by cloning into the GitHub
repository::

    $ git clone <EMAIL>:csferrie/python-qinfer.git
    
Once obtained in this way, **QInfer** may be updated by pulling from GitHub::

    $ git pull

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

**QInfer** provides a setup script, ``setup.py``, for installing from source.
On Unix-like systems, **QInfer** can be made available globally by running::

    $ cd /path/to/qinfer/
    $ sudo python setup.py install

On Windows, run ``cmd.exe``, then run the setup script::

    C:\> cd C:\path\to\qinfer\
    C:\path\to\qinfer\> python setup.py install
    
Note that you may be prompted for permission by User Access Control.

Dependencies
------------

**QInfer** depends on only a very few packages:

- Python 2.7 (may work with earlier, but not tested).
- NumPy and SciPy.

Some features of **QInfer** require additional packages, but the core of
**QInfer** will work without them:

- `SciKit-Learn`_ required for some advanced features.
- `Sphinx`_ required to rebuild documentation.
- `matplotlib`_ required for plotting functionality.
- `IPython Notebook`_ (version 1.1) is used to provide examples.

On Windows, these packages can be provided by `Python(x,y)`_. Linux users may
obtain the needed dependencies using package managers. Under Ubuntu::

    $ sudo apt-get install python2.7 python-numpy python-scipy python-scikits-learn python-matplotlib python-sphinx ipython-notebook
    
On Fedora::

    $ sudo yum install python numpy scipy python-sphinx python-matplotlib python-ipython-notebook
    $ sudo easy_install -U scikit-learn

Alternatively,
`Enthought Canopy`_ has been tested with **QInfer**, and may be
used on Windows, Mac OS X or Linux.

Citing QInfer
-------------

If you use **QInfer** in your publication or presentation, we would appreciate it
if you cited our work. We recommend citing **QInfer** by using the BibTeX
entry::

    @Misc{,
      author = {<NAME> and <NAME> and others},
      title =  {{QInfer}: Library for Statistical Inference in Quantum Information},
      year =   {2012--},
      url =    "https://github.com/csferrie/python-qinfer"
    }

To indicate which version of **QInfer** you used in your work, it may be helpful
to cite a given SHA hash as listed on
`GitHub <https://github.com/csferrie/python-qinfer/commits/master>`_ (the
hashes of each commit are listed on the right hand side of the page).
A recommended BibTeX entry for citing a particular version is::

    @Misc{,
      author = {<NAME> and <NAME> and others},
      title =  {{QInfer}: Library for Statistical Inference in Quantum Information},
      year =   {2013},
      month =  {2},
      day =    {18},
      url =    "https://github.com/csferrie/python-qinfer/commit/d04bc1d53933f13065917c15ccb0e2f127de3b8a",
      note =   {Version \texttt{d04bc1d53933f13065917c15ccb0e2f127de3b8a}.}
    }
    
In this example, ``d04bc1d53933f13065917c15ccb0e2f127de3b8a`` should be replaced by the
particular version being cited.

Getting Started
---------------

TODO

.. _Enthought Canopy: https://www.enthought.com/products/canopy/
.. _Python(x,y): http://code.google.com/p/pythonxy/
.. _matplotlib: http://matplotlib.org/
.. _SciKit-Learn: http://scikit-learn.org/stable/
.. _Sphinx: http://sphinx-doc.org/
.. _IPython Notebook: http://ipython.org/ipython-doc/stable/interactive/notebook.html<commit_msg>Resolved a few TODOs in intro.rst.<commit_after>..
    This work is licensed under the Creative Commons Attribution-
    NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this
    license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a
    letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
    California, 94041, USA.
    
.. _intro:
    
Introduction
============

**QInfer** is a library for working with sequential Monte Carlo methods for
parameter estimation in quantum information. **QInfer** will use your custom
experimental models to estimate properties of those models based on experimental
data.

Additionally, **QInfer** is designed for use with cutting-edge tools, such as
Python and IPython, making it easier to integrate with the rich community of
Python-based scientific software libraries.

Obtaining QInfer
----------------

A fully-stable version of **QInfer** has not yet been released. Until then,
the latest version may always be obtained by cloning into the GitHub
repository::

    $ git clone <EMAIL>:csferrie/python-qinfer.git
    
Once obtained in this way, **QInfer** may be updated by pulling from GitHub::

    $ git pull

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

**QInfer** provides a setup script, ``setup.py``, for installing from source.
On Unix-like systems, **QInfer** can be made available globally by running::

    $ cd /path/to/qinfer/
    $ sudo python setup.py install

On Windows, run ``cmd.exe``, then run the setup script::

    C:\> cd C:\path\to\qinfer\
    C:\path\to\qinfer\> python setup.py install
    
Note that you may be prompted for permission by User Access Control.

Dependencies
------------

**QInfer** depends on only a very few packages:

- Python 2.7 (may work with earlier, but not tested).
- NumPy and SciPy.

Some features of **QInfer** require additional packages, but the core of
**QInfer** will work without them:

- `SciKit-Learn`_ required for some advanced features, such as clustering.
- `Sphinx`_ required to rebuild documentation.
- `matplotlib`_ required for plotting functionality.
- `IPython Notebook`_ (version 1.1) is used to provide examples.

On Windows, these packages can be provided by `Python(x,y)`_. Linux users may
obtain the needed dependencies using package managers. Under Ubuntu::

    $ sudo apt-get install python2.7 python-numpy python-scipy python-scikits-learn python-matplotlib python-sphinx ipython-notebook
    
On Fedora::

    $ sudo yum install python numpy scipy python-sphinx python-matplotlib python-ipython-notebook
    $ sudo easy_install -U scikit-learn

Alternatively,
`Enthought Canopy`_ has been tested with **QInfer**, and may be
used on Windows, Mac OS X or Linux.

Citing QInfer
-------------

If you use **QInfer** in your publication or presentation, we would appreciate it
if you cited our work. We recommend citing **QInfer** by using the BibTeX
entry::

    @Misc{,
      author = {<NAME> and <NAME> and others},
      title =  {{QInfer}: Library for Statistical Inference in Quantum Information},
      year =   {2012--},
      url =    "https://github.com/csferrie/python-qinfer"
    }

To indicate which version of **QInfer** you used in your work, it may be helpful
to cite a given SHA hash as listed on
`GitHub <https://github.com/csferrie/python-qinfer/commits/master>`_ (the
hashes of each commit are listed on the right hand side of the page).
A recommended BibTeX entry for citing a particular version is::

    @Misc{,
      author = {<NAME> and <NAME> and others},
      title =  {{QInfer}: Library for Statistical Inference in Quantum Information},
      year =   {2013},
      month =  {2},
      day =    {18},
      url =    "https://github.com/csferrie/python-qinfer/commit/d04bc1d53933f13065917c15ccb0e2f127de3b8a",
      note =   {Version \texttt{d04bc1d53933f13065917c15ccb0e2f127de3b8a}.}
    }
    
In this example, ``d04bc1d53933f13065917c15ccb0e2f127de3b8a`` should be replaced by the
particular version being cited.

Getting Started
---------------

To get started using **QInfer**, it may be helpful to give a look through the
:ref:`guide`. Alternatively, you may want to dive right into looking at
the `examples`_ using `IPython Notebook`_. To do so, from your system command
line, navigate to where you downloaded **QInfer**, then run::

    cd python-qinfer/examples
    ipython notebook

Alternatively, IPython provides an online viewer for reading notebook files:

- `Plotting Example <http://nbviewer.ipython.org/github/csferrie/python-qinfer/blob/master/examples/plot_example.ipynb>`_
- `Noisy Coin Example <http://nbviewer.ipython.org/github/csferrie/python-qinfer/blob/master/examples/Noisy%20Coin%20Example.ipynb>`_


.. _Enthought Canopy: https://www.enthought.com/products/canopy/
.. _Python(x,y): http://code.google.com/p/pythonxy/
.. _matplotlib: http://matplotlib.org/
.. _SciKit-Learn: http://scikit-learn.org/stable/
.. _Sphinx: http://sphinx-doc.org/
.. _IPython Notebook: http://ipython.org/ipython-doc/stable/interactive/notebook.html

.. _examples: https://github.com/csferrie/python-qinfer/tree/master/examples
{'fraction_non_alphanumeric': 0.11440630900810841, 'fraction_numerical': 0.024214150838609352, 'mean_word_length': 3.4729259811227022, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 21, 'https://': 9, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4078607', 'n_tokens_mistral': 3015, 'n_tokens_neox': 2742, 'n_words': 993}