=====================================
Computational Crystallography Toolbox
=====================================

cctbx links
-----------

- `Introduction <current/>`_

- `Web services <http://cci.lbl.gov/cctbx/>`_

- `Downloads <http://cci.lbl.gov/cctbx_build/>`_

- `Mailing list (cctbxbb) <http://www.phenix-online.org/mailman/listinfo/cctbxbb>`_

- `Tutorial on free-electron laser data processing <http://cci.lbl.gov/xfel>`_ (cctbx.xfel)

- `Tutorial IUCr 2008 (Software Fayre) <iucr2008/>`_ (rigid_body_refinement_core.py)

- `Tutorial SBGrid 2008 (Quo Vadis) <sbgrid2008/>`_ (iotbx.pdb)

- `Tutorials Siena 2005 IUCr Crystallographic Computing School <siena2005/>`_

- `scitbx/rigid_body/essence subset (self-contained) <scitbx_rigid_body_essence/>`_

- Peer-reviewed publications

  - `Grosse-Kunstleve et al. (2002) "The Computational Crystallography
    Toolbox: crystallographic algorithms in a reusable software framework"
    <http://scripts.iucr.org/cgi-bin/paper?ks0118>`_

  - `Gildea et al. (2011) "iotbx.cif: a comprehensive CIF toolbox."
    <http://www.ncbi.nlm.nih.gov/pubmed/22199401>`_

  - `Grosse-Kunstleve et al. (2012) "Automatic Fortran to C++ conversion with
    FABLE." <http://www.ncbi.nlm.nih.gov/pubmed/22640868>`_

  - `Sauter et al. (2013).  "New Python-based methods for data processing."
    <http://www.ncbi.nlm.nih.gov/pubmed/23793153>`_

  - Additional publications specific to software making use of CCTBX:
    `PHENIX <http://www.phenix-online.org/papers>`_, `LABELIT
    <http://adder.lbl.gov/labelit/html/publications.html>`_,
    `PHASER <http://www.phaser.cimr.cam.ac.uk/index.php/Publications>`_

- Newsletter articles

  - **Important notice**: use ``cctbx.python`` to run the scripts shown
    in the newsletters. The plain ``python`` command is no longer
    supported to avoid confusion with Python versions provided by
    some operating systems.

  - `IUCr Computing Commission No. 1, 2003/01 <http://cci.lbl.gov/publications/download/iucrcompcomm_jan2003.pdf>`_

    - State of the Toolbox: an overview of the Computational Crystallography Toolbox (CCTBX)

  - `IUCr Computing Commission No. 2, 2003/07 <http://cci.lbl.gov/publications/download/iucrcompcomm_jul2003.pdf>`_

    - Fast triplet generator for direct methods
    - Gallery of direct-space asymmetric units

  - `IUCr Computing Commission No. 3, 2004/01 <http://cci.lbl.gov/publications/download/iucrcompcomm_jan2004.pdf>`_

    - Reduced cell computations
    - Determination of lattice symmetry
    - N-Gaussian approximations to scattering factors
    - Fast structure-factor gradients
    - Universal reflection file reader

  - `IUCr Computing Commission No. 4, 2004/08 <http://cci.lbl.gov/publications/download/iucrcompcomm_aug2004.pdf>`_

    - Geometry restraints
    - Bulk solvent correction and scaling

  - `IUCr Computing Commission No. 5, 2005/01 <http://cci.lbl.gov/publications/download/iucrcompcomm_jan2005.pdf>`_

    - Phil and friends
      (see also: `latest Phil documentation <libtbx_phil.html>`_)
    - Refinement tools
    - Reflection statistics
    - Double coset decomposition
    - iotbx.mtz

  - `IUCr Computing Commission No. 6, 2005/09 <http://iucrcomputing.ccp14.ac.uk/iucr-top/comm/ccom/newsletters/2005sep/>`_

    - See also: `Tutorials Siena 2005 IUCr Crystallographic Computing School <siena2005/>`_

  - `IUCr Computing Commission No. 7, 2006/11 <http://cci.lbl.gov/publications/download/iucrcompcomm_nov2006.pdf>`_

    - iotbx.pdb
    - mmtbx.alignment
    - scitbx.math.superpose
    - mmtbx.super

  - `IUCr Computing Commission No. 8, 2007/11 <http://cci.lbl.gov/publications/download/iucrcompcomm_nov2007.pdf>`_

    - Refinement tools for small-molecule crystallographers
    - Phil developments
      (see also: `latest Phil documentation <libtbx_phil.html>`_)

  - `IUCr Computing Commission No. 9, 2008/10 <http://cci.lbl.gov/~rwgk/iucrcompcomm_oct2008.pdf>`_

    - Presentation slides from the IUCr Computing School, Kyoto, Japan

  - `IUCr Computing Commission No. 10, 2009/11 <http://cci.lbl.gov/publications/download/iucrcompcomm_nov2009.pdf>`_

    - Experience converting a large Fortran-77 program to C++

  - `CCP4 newsletter No. 42, Summer 2005: The Phenix refinement framework <http://www.ccp4.ac.uk/newsletters/newsletter42/articles/Afonine_GrosseKunstleve_Adams_18JUL2005.doc>`_

  - `CCP4 newsletter No. 42, Summer 2005: Characterization of X-ray data sets <http://www.ccp4.ac.uk/newsletters/newsletter42/articles/CCP4_2005_PHZ_RWGK_PDA.doc>`_

  - `CCP4 newsletter No. 43, Winter 2005: Xtriage and Fest: automatic assessment of X-ray data and substructure structure factor estimation <http://www.ccp4.ac.uk/newsletters/newsletter43/articles/PHZ_RWGK_PDA.pdf>`_

  - `CCP4 newsletter No. 44, Summer 2006: Exploring Metric Symmetry <http://www.ccp4.ac.uk/newsletters/newsletter44/articles/explore_metric_symmetry.html>`_

- Notes by Michael Hohn:

  - `scitbx tour <http://cci.lbl.gov/~hohn/scitbx-tour.html>`_

  - `array family tour <http://cci.lbl.gov/~hohn/array-family-tour.html>`_

- `C++ interfaces <current/c_plus_plus/namespaces.html>`_

- Python interfaces:

  - `boost_adaptbx <current/python/boost.html>`_

  - `cctbx <current/python/cctbx.html>`_

  - `gltbx <current/python/gltbx.html>`_

  - `iotbx <current/python/iotbx.html>`_

  - `libtbx <current/python/libtbx.html>`_

  - `mmtbx <current/python/mmtbx.html>`_

  - `omptbx <current/python/omptbx.html>`_

  - `rstbx <current/python/rstbx.html>`_

  - `scitbx <current/python/scitbx.html>`_

  - `smtbx <current/python/smtbx.html>`_

  - `xfel <current/python/xfel.html>`_

- `SVN repository <http://sourceforge.net/p/cctbx/code/HEAD/tree/trunk/>`_

- `Mailing list for cctbx SVN activity <https://lists.sourceforge.net/lists/listinfo/cctbx-cvs>`_

- `Project page at SourceForge <http://sourceforge.net/projects/cctbx/>`_

- `Project metrics (Ohloh) <http://www.ohloh.net/projects/3878/analyses/latest>`_

- `Current source tree <http://cci.lbl.gov/cctbx_sources/>`_

Please direct questions to cctbx@cci.lbl.gov or cctbxbb@phenix-online.org .

-----------------------------------------------------------------------------

The cctbx SVN development tree is hosted by

__SOURCEFORGE_LOGO_HERE__

-----------------------------------------------------------------------------

The cctbx `Open Source License <http://cctbx.svn.sourceforge.net/viewvc/cctbx/trunk/cctbx/LICENSE_2_0.txt?view=markup>`_ is inspired by this

Historical Note
---------------

As found in:

- `Thomas W. Judson <http://faculty.sfasu.edu/judsontw/>`_,
  Abstract Algebra: Theory and Applications,
  PWS Publishing Company, Boston, 1994, pp. 282-283.
  (`Now also available as a free download.
  <http://abstract.pugetsound.edu/index.html>`_)

Reproduced with kind permission from the author:

Throughout history, the solution of polynomial equations has been a
challenging problem. The Babylonians knew how to solve the equation
ax^2+bx+c=0. Omar Khayyam (1048-1131) devised methods of solving cubic
equations through the use of geometric constructions and conic
sections. The algebraic solution of the general cubic equation
ax^3+bx^2+cx+d=0 was not discovered until the sixteenth century.
An Italian mathematician,
`Luca Pacioli <http://en.wikipedia.org/wiki/Luca_Pacioli>`_,
wrote in *Summa de Arithmetica* that the solution
of the cubic was impossible. This was taken as a challenge by the
rest of the mathematical community.

Scipione del Ferro (1465-1526), of the University of Bologna, solved
the "depressed cubic,"

        ax^3+cx+d=0.

He kept his solution an absolute secret. This may seem surprising
today, when mathematicians are usually very eager to publish their
results, but in the days of the Italian Renaissance secrecy was
customary. Academic appointments were not easy to secure and dependent
on the ability to prevail in public contests. Such challenges could be
issued at any time. Consequently, any major new discovery was a
valuable weapon in such a contest. If an opponent presented a list of
problems to be solved, del Ferro could in turn present a list of
depressed cubics. He kept the secret of his discovery throughout his
life, passing it on only on his deathbed to his student Antonio Fior
(ca. 1506-?).

Although Fior was not equal of his teacher, he immediately issued a
challenge to Niccolo Fontana (1499-1557). Fontana was known as
Tartaglia (the Stammerer). As a youth he had suffered a blow from the
sword of a French soldier during an attack on his village. He survived
the savage wound, but his speech was permanently impaired. Tartaglia
sent Fior a list of 30 various mathematical problems; Fior countered by
sending Tartaglia a list of 30 depressed cubics. Tartaglia would either
solve all 30 of the problems or absolutely fail. After much effort
Tartaglia finally succeeded in solving the depressed cubic and defeated
Fior, who faded into obscurity.

At this point another mathematician, Gerolamo Cardano (1501-1576),
entered the story. Cardano wrote to Tartaglia, begging him for the
solution to the depressed cubic. Tartaglia refused several of his
requests, then finally revealed the solution to Cardano after the
latter swore an oath not to publish the secret or to pass it on to
anyone else. Using the knowledge that he had obtained from Tartaglia,
Cardano eventually solved the general cubic

        ax^3+bx^2+cx+d=0.

Cardano shared the secret with his student, Ludovico Ferrari
(1522-1565), who solved the general quartic equation,

        ax^4+bx^3+cx^2+dx+e=0.

In 1543, Cardano and Ferrari examined del Ferro's papers and discovered
that he had also solved the depressed cubic. Cardano felt that this
relieved him of his obligation to Tartaglia, so he proceeded to publish
the solutions in *Ars Magna* (1545), in which he gave credit to del
Ferro for solving the special case of the cubic. This resulted in a
bitter dispute between Cardano and Tartaglia, who published the story
of the oath a year later.
