Merge lp:~barry/ubuntu/natty/cvxopt/cvxopt-113 into lp:ubuntu/natty/cvxopt

Proposed by Barry Warsaw
Status: Merged
Merge reported by: Stefano Rivera
Merged at revision: not available
Proposed branch: lp:~barry/ubuntu/natty/cvxopt/cvxopt-113
Merge into: lp:ubuntu/natty/cvxopt
Diff against target: 27822 lines (+18387/-5932)
152 files modified
INSTALL (+5/-5)
LICENSE (+4/-1)
debian/changelog (+6/-0)
debian/control (+2/-1)
doc/build/html/.buildinfo (+4/-0)
doc/build/html/_static/basic.css (+509/-0)
doc/build/html/_static/cvxopt.css (+630/-0)
doc/build/html/_static/default.css (+256/-0)
doc/build/html/_static/doctools.js (+247/-0)
doc/build/html/_static/jquery.js (+154/-0)
doc/build/html/_static/pygments.css (+62/-0)
doc/build/html/_static/searchtools.js (+518/-0)
doc/build/html/_static/sidebar.js (+148/-0)
doc/build/html/_static/underscore.js (+16/-0)
doc/build/html/blas.html (+913/-0)
doc/build/html/c-api.html (+306/-0)
doc/build/html/coneprog.html (+1953/-0)
doc/build/html/copyright.html (+139/-0)
doc/build/html/fftw.html (+293/-0)
doc/build/html/index.html (+181/-0)
doc/build/html/intro.html (+158/-0)
doc/build/html/lapack.html (+1575/-0)
doc/build/html/matrices.html (+1333/-0)
doc/build/html/modeling.html (+822/-0)
doc/build/html/printing.html (+198/-0)
doc/build/html/search.html (+96/-0)
doc/build/html/searchindex.js (+1/-0)
doc/build/html/solvers.html (+1200/-0)
doc/build/html/spsolvers.html (+690/-0)
doc/source/.templates/layout.html (+17/-0)
doc/source/coneprog.rst (+6/-7)
doc/source/copyright.rst (+3/-2)
doc/source/index.rst (+1/-1)
doc/source/matrices.rst (+3/-3)
doc/source/modeling.rst (+6/-6)
doc/source/spsolvers.rst (+5/-5)
examples/book/chap4/portfolio (+0/-57)
examples/book/chap4/portfolio.py (+55/-0)
examples/book/chap4/rls (+0/-78)
examples/book/chap4/rls.py (+76/-0)
examples/book/chap6/basispursuit (+0/-247)
examples/book/chap6/basispursuit.py (+245/-0)
examples/book/chap6/consumerpref (+0/-134)
examples/book/chap6/consumerpref.py (+132/-0)
examples/book/chap6/cvxfit (+0/-56)
examples/book/chap6/cvxfit.py (+54/-0)
examples/book/chap6/huber (+0/-82)
examples/book/chap6/huber.py (+80/-0)
examples/book/chap6/inputdesign (+0/-92)
examples/book/chap6/inputdesign.py (+90/-0)
examples/book/chap6/penalties (+0/-96)
examples/book/chap6/penalties.py (+94/-0)
examples/book/chap6/polapprox (+0/-147)
examples/book/chap6/polapprox.py (+145/-0)
examples/book/chap6/regsel (+0/-126)
examples/book/chap6/regsel.py (+124/-0)
examples/book/chap6/robls (+0/-161)
examples/book/chap6/robls.py (+159/-0)
examples/book/chap6/smoothrec (+0/-83)
examples/book/chap6/smoothrec.py (+81/-0)
examples/book/chap6/tv (+0/-284)
examples/book/chap6/tv.py (+282/-0)
examples/book/chap7/chernoff (+0/-103)
examples/book/chap7/chernoff.py (+101/-0)
examples/book/chap7/expdesign (+0/-185)
examples/book/chap7/expdesign.py (+183/-0)
examples/book/chap7/logreg (+0/-46)
examples/book/chap7/logreg.py (+44/-0)
examples/book/chap7/maxent (+0/-94)
examples/book/chap7/maxent.py (+92/-0)
examples/book/chap7/probbounds (+0/-203)
examples/book/chap7/probbounds.py (+201/-0)
examples/book/chap8/centers (+0/-206)
examples/book/chap8/centers.py (+204/-0)
examples/book/chap8/ellipsoids (+0/-227)
examples/book/chap8/ellipsoids.py (+225/-0)
examples/book/chap8/floorplan (+0/-208)
examples/book/chap8/floorplan.py (+206/-0)
examples/book/chap8/linsep (+0/-133)
examples/book/chap8/linsep.py (+131/-0)
examples/book/chap8/placement (+0/-175)
examples/book/chap8/placement.py (+173/-0)
examples/doc/chap10/l1svc (+0/-19)
examples/doc/chap10/l1svc.py (+17/-0)
examples/doc/chap10/lp (+0/-36)
examples/doc/chap10/lp.py (+34/-0)
examples/doc/chap10/normappr (+0/-34)
examples/doc/chap10/normappr.py (+32/-0)
examples/doc/chap10/roblp (+0/-21)
examples/doc/chap10/roblp.py (+19/-0)
examples/doc/chap4/acent.py (+74/-0)
examples/doc/chap7/covsel (+0/-90)
examples/doc/chap7/covsel.py (+88/-0)
examples/doc/chap8/conelp (+0/-20)
examples/doc/chap8/conelp.py (+18/-0)
examples/doc/chap8/coneqp (+0/-22)
examples/doc/chap8/coneqp.py (+20/-0)
examples/doc/chap8/l1 (+0/-128)
examples/doc/chap8/l1.py (+126/-0)
examples/doc/chap8/l1regls (+0/-145)
examples/doc/chap8/l1regls.py (+143/-0)
examples/doc/chap8/lp (+0/-10)
examples/doc/chap8/lp.py (+8/-0)
examples/doc/chap8/mcsdp (+0/-125)
examples/doc/chap8/mcsdp.py (+123/-0)
examples/doc/chap8/portfolio (+0/-56)
examples/doc/chap8/portfolio.py (+54/-0)
examples/doc/chap8/qcl1 (+0/-136)
examples/doc/chap8/qcl1.py (+134/-0)
examples/doc/chap8/sdp (+0/-18)
examples/doc/chap8/sdp.py (+16/-0)
examples/doc/chap8/socp (+0/-13)
examples/doc/chap8/socp.py (+11/-0)
examples/doc/chap9/acent (+0/-45)
examples/doc/chap9/acent.py (+43/-0)
examples/doc/chap9/acent2 (+0/-28)
examples/doc/chap9/acent2.py (+26/-0)
examples/doc/chap9/floorplan (+0/-185)
examples/doc/chap9/floorplan.py (+183/-0)
examples/doc/chap9/gp (+0/-21)
examples/doc/chap9/gp.py (+19/-0)
examples/doc/chap9/l2ac (+0/-78)
examples/doc/chap9/l2ac.py (+76/-0)
examples/doc/chap9/robls (+0/-59)
examples/doc/chap9/robls.py (+57/-0)
src/C/SuiteSparse/README_cvxopt (+2/-2)
src/C/amd.c (+2/-1)
src/C/base.c (+2/-1)
src/C/blas.c (+2/-1)
src/C/cholmod.c (+2/-1)
src/C/cvxopt.h (+2/-1)
src/C/dense.c (+4/-1)
src/C/dsdp.c (+2/-1)
src/C/fftw.c (+2/-1)
src/C/glpk.c (+2/-1)
src/C/gsl.c (+2/-1)
src/C/lapack.c (+2/-1)
src/C/misc.h (+2/-1)
src/C/misc_solvers.c (+37/-30)
src/C/sparse.c (+3/-2)
src/C/umfpack.c (+2/-1)
src/python/__init__.py (+2/-1)
src/python/coneprog.py (+201/-202)
src/python/cvxprog.py (+97/-95)
src/python/info.py (+4/-2)
src/python/misc.py (+18/-17)
src/python/modeling.py (+141/-140)
src/python/mosek.py (+0/-871)
src/python/msk.py (+881/-0)
src/python/printing.py (+11/-11)
src/python/solvers.py (+2/-1)
src/setup.py (+2/-2)
To merge this branch: bzr merge lp:~barry/ubuntu/natty/cvxopt/cvxopt-113
Reviewer Review Type Date Requested Status
Ubuntu branches Pending
Review via email: mp+43349@code.launchpad.net

Description of the change

New upstream release.

To post a comment you must log in.
Revision history for this message
Jonathan Riddell (jr) wrote :

Where is the upstream tar?

Revision history for this message
Barry Warsaw (barry) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'INSTALL'
2--- INSTALL 2009-12-20 07:09:46 +0000
3+++ INSTALL 2010-12-10 13:03:35 +0000
4@@ -1,4 +1,4 @@
5-Installation instructions for CVXOPT Version 1.1.2.
6+Installation instructions for CVXOPT Version 1.1.3.
7
8 The package requires version 2.5 or newer of Python, and is built from
9 source, so the header files and libraries for Python must be installed,
10@@ -18,7 +18,7 @@
11 3) GLPK (www.gnu.org/software/glpk/glpk.html) is a linear programming
12 package.
13
14-4) MOSEK version 5 (www.mosek.com) is a commercial library of convex
15+4) MOSEK version 6 (www.mosek.com) is a commercial library of convex
16 optimization solvers.
17
18 5) DSDP5.8 (www-unix.mcs.anl.gov/DSDP) is a semidefinite programming
19@@ -77,10 +77,10 @@
20
21 Test it:
22 --------
23-To test that the installation was successful, go to the examples
24-directory and try one of the examples, for example,
25+To test that the installation was successful, go to the examples directory
26+and try one of the examples, for example,
27
28 $ cd examples/doc/chap8
29- $ python lp
30+ $ python lp.py
31
32 If Python does not issue an error message installation was successful.
33
34=== modified file 'LICENSE'
35--- LICENSE 2009-12-20 07:09:46 +0000
36+++ LICENSE 2010-12-10 13:03:35 +0000
37@@ -1,4 +1,7 @@
38-CVXOPT version 1.1.2 Copyright (c) 2004-2009 J. Dahl and L. Vandenberghe.
39+CVXOPT version 1.1.3.
40+
41+Copyright (c) 2010 L. Vandenberghe.
42+Copyright (c) 2004-2009 J. Dahl and L. Vandenberghe.
43
44 This program is free software; you can redistribute it and/or modify
45 it under the terms of the GNU General Public License as published by
46
47=== modified file 'debian/changelog'
48--- debian/changelog 2010-12-08 15:01:49 +0000
49+++ debian/changelog 2010-12-10 13:03:35 +0000
50@@ -1,3 +1,9 @@
51+cvxopt (1.1.3-0ubuntu1) natty; urgency=low
52+
53+ * New upstream release.
54+
55+ -- Barry Warsaw <barry@ubuntu.com> Thu, 09 Dec 2010 18:16:34 -0500
56+
57 cvxopt (1.1.2-1build2) natty; urgency=low
58
59 * Rebuild with python 2.7 as the python default.
60
61=== modified file 'debian/control'
62--- debian/control 2009-12-20 07:09:46 +0000
63+++ debian/control 2010-12-10 13:03:35 +0000
64@@ -1,7 +1,8 @@
65 Source: cvxopt
66 Section: python
67 Priority: optional
68-Maintainer: Soeren Sonnenburg <sonne@debian.org>
69+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
70+XSBC-Original-Maintainer: Soeren Sonnenburg <sonne@debian.org>
71 Build-Depends: cdbs, debhelper (>= 5), python-central (>= 0.5), python-all-dev,
72 libatlas-base-dev [!powerpc !alpha !arm !armel], libblas-dev, liblapack-dev,
73 python-sphinx, libglpk-dev, libfftw3-dev, libgsl0-dev, libdsdp-dev (>= 5.8-4),
74
75=== added directory 'doc/build/html'
76=== added file 'doc/build/html/.buildinfo'
77--- doc/build/html/.buildinfo 1970-01-01 00:00:00 +0000
78+++ doc/build/html/.buildinfo 2010-12-10 13:03:35 +0000
79@@ -0,0 +1,4 @@
80+# Sphinx build info version 1
81+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
82+config: be7cd3abe5c0acebff1e97eaf6ac08f1
83+tags: fbb0d17656682115ca4d033fb2f83ba1
84
85=== added directory 'doc/build/html/_images'
86=== added file 'doc/build/html/_images/floorplan.png'
87Binary files doc/build/html/_images/floorplan.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/floorplan.png 2010-12-10 13:03:35 +0000 differ
88=== added directory 'doc/build/html/_images/math'
89=== added file 'doc/build/html/_images/math/002d337a82f7a9dbcea5bf01e9cb2e0b115af530.png'
90Binary files doc/build/html/_images/math/002d337a82f7a9dbcea5bf01e9cb2e0b115af530.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/002d337a82f7a9dbcea5bf01e9cb2e0b115af530.png 2010-12-10 13:03:35 +0000 differ
91=== added file 'doc/build/html/_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png'
92Binary files doc/build/html/_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png 2010-12-10 13:03:35 +0000 differ
93=== added file 'doc/build/html/_images/math/020270365620aa9739da358115af75168d7bdc82.png'
94Binary files doc/build/html/_images/math/020270365620aa9739da358115af75168d7bdc82.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/020270365620aa9739da358115af75168d7bdc82.png 2010-12-10 13:03:35 +0000 differ
95=== added file 'doc/build/html/_images/math/02fddc92b9ba6d1b1edb8918191220db96c48859.png'
96Binary files doc/build/html/_images/math/02fddc92b9ba6d1b1edb8918191220db96c48859.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/02fddc92b9ba6d1b1edb8918191220db96c48859.png 2010-12-10 13:03:35 +0000 differ
97=== added file 'doc/build/html/_images/math/034a6cc900fafbe63299305a19ba860fea7649c6.png'
98Binary files doc/build/html/_images/math/034a6cc900fafbe63299305a19ba860fea7649c6.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/034a6cc900fafbe63299305a19ba860fea7649c6.png 2010-12-10 13:03:35 +0000 differ
99=== added file 'doc/build/html/_images/math/0389113401db2debbec2ccd2c5ccdb3f6d80141a.png'
100Binary files doc/build/html/_images/math/0389113401db2debbec2ccd2c5ccdb3f6d80141a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/0389113401db2debbec2ccd2c5ccdb3f6d80141a.png 2010-12-10 13:03:35 +0000 differ
101=== added file 'doc/build/html/_images/math/03aefd25c4991f8850133c03dffd3fb1701ec1e2.png'
102Binary files doc/build/html/_images/math/03aefd25c4991f8850133c03dffd3fb1701ec1e2.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/03aefd25c4991f8850133c03dffd3fb1701ec1e2.png 2010-12-10 13:03:35 +0000 differ
103=== added file 'doc/build/html/_images/math/058418cc5858eeab7f1ceb92f70b1c00fe7fe5d6.png'
104Binary files doc/build/html/_images/math/058418cc5858eeab7f1ceb92f70b1c00fe7fe5d6.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/058418cc5858eeab7f1ceb92f70b1c00fe7fe5d6.png 2010-12-10 13:03:35 +0000 differ
105=== added file 'doc/build/html/_images/math/05f225c5fa71605f1d627bf6731b4b5d7020a83d.png'
106Binary files doc/build/html/_images/math/05f225c5fa71605f1d627bf6731b4b5d7020a83d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/05f225c5fa71605f1d627bf6731b4b5d7020a83d.png 2010-12-10 13:03:35 +0000 differ
107=== added file 'doc/build/html/_images/math/088678597f59c16fea047bea9d1975beb919da52.png'
108Binary files doc/build/html/_images/math/088678597f59c16fea047bea9d1975beb919da52.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/088678597f59c16fea047bea9d1975beb919da52.png 2010-12-10 13:03:35 +0000 differ
109=== added file 'doc/build/html/_images/math/092e364e1d9d19ad5fffb0b46ef4cc7f2da02c1c.png'
110Binary files doc/build/html/_images/math/092e364e1d9d19ad5fffb0b46ef4cc7f2da02c1c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/092e364e1d9d19ad5fffb0b46ef4cc7f2da02c1c.png 2010-12-10 13:03:35 +0000 differ
111=== added file 'doc/build/html/_images/math/0a37188505ca27207357560da7b13319912482a8.png'
112Binary files doc/build/html/_images/math/0a37188505ca27207357560da7b13319912482a8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/0a37188505ca27207357560da7b13319912482a8.png 2010-12-10 13:03:35 +0000 differ
113=== added file 'doc/build/html/_images/math/0b510f9a977383df1b4d673133bceea168d95838.png'
114Binary files doc/build/html/_images/math/0b510f9a977383df1b4d673133bceea168d95838.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/0b510f9a977383df1b4d673133bceea168d95838.png 2010-12-10 13:03:35 +0000 differ
115=== added file 'doc/build/html/_images/math/0ec1c8ba6115149dd073909f209e502f2ba3e83e.png'
116Binary files doc/build/html/_images/math/0ec1c8ba6115149dd073909f209e502f2ba3e83e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/0ec1c8ba6115149dd073909f209e502f2ba3e83e.png 2010-12-10 13:03:35 +0000 differ
117=== added file 'doc/build/html/_images/math/0f40544ba8e65435a6bd704399b347d25ce947fc.png'
118Binary files doc/build/html/_images/math/0f40544ba8e65435a6bd704399b347d25ce947fc.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/0f40544ba8e65435a6bd704399b347d25ce947fc.png 2010-12-10 13:03:35 +0000 differ
119=== added file 'doc/build/html/_images/math/0fb35d76d5ee3a9cea74866affcb223883174be3.png'
120Binary files doc/build/html/_images/math/0fb35d76d5ee3a9cea74866affcb223883174be3.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/0fb35d76d5ee3a9cea74866affcb223883174be3.png 2010-12-10 13:03:35 +0000 differ
121=== added file 'doc/build/html/_images/math/10cb764f88509fb1c8012366993fdbee98f31bc5.png'
122Binary files doc/build/html/_images/math/10cb764f88509fb1c8012366993fdbee98f31bc5.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/10cb764f88509fb1c8012366993fdbee98f31bc5.png 2010-12-10 13:03:35 +0000 differ
123=== added file 'doc/build/html/_images/math/10f1c810b7aea1fee7dd21cd0de10161957cf7e8.png'
124Binary files doc/build/html/_images/math/10f1c810b7aea1fee7dd21cd0de10161957cf7e8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/10f1c810b7aea1fee7dd21cd0de10161957cf7e8.png 2010-12-10 13:03:35 +0000 differ
125=== added file 'doc/build/html/_images/math/128a89e677c6def54cb57ef44a64cc8307b73877.png'
126Binary files doc/build/html/_images/math/128a89e677c6def54cb57ef44a64cc8307b73877.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/128a89e677c6def54cb57ef44a64cc8307b73877.png 2010-12-10 13:03:35 +0000 differ
127=== added file 'doc/build/html/_images/math/12d58aa29201da09d8e620f8698e3a37547f6b4a.png'
128Binary files doc/build/html/_images/math/12d58aa29201da09d8e620f8698e3a37547f6b4a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/12d58aa29201da09d8e620f8698e3a37547f6b4a.png 2010-12-10 13:03:35 +0000 differ
129=== added file 'doc/build/html/_images/math/131c4578e1d0555aabdbdc52cdbe7b840cecb293.png'
130Binary files doc/build/html/_images/math/131c4578e1d0555aabdbdc52cdbe7b840cecb293.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/131c4578e1d0555aabdbdc52cdbe7b840cecb293.png 2010-12-10 13:03:35 +0000 differ
131=== added file 'doc/build/html/_images/math/1321ae4fe422737feacf3c1da9c8d2f78b542272.png'
132Binary files doc/build/html/_images/math/1321ae4fe422737feacf3c1da9c8d2f78b542272.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/1321ae4fe422737feacf3c1da9c8d2f78b542272.png 2010-12-10 13:03:35 +0000 differ
133=== added file 'doc/build/html/_images/math/15c9e0d5b18ecfcec0dc5faf60950122d134d40e.png'
134Binary files doc/build/html/_images/math/15c9e0d5b18ecfcec0dc5faf60950122d134d40e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/15c9e0d5b18ecfcec0dc5faf60950122d134d40e.png 2010-12-10 13:03:35 +0000 differ
135=== added file 'doc/build/html/_images/math/1682dfd5865597e4ae2222e7e9de20cb5eadd543.png'
136Binary files doc/build/html/_images/math/1682dfd5865597e4ae2222e7e9de20cb5eadd543.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/1682dfd5865597e4ae2222e7e9de20cb5eadd543.png 2010-12-10 13:03:35 +0000 differ
137=== added file 'doc/build/html/_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png'
138Binary files doc/build/html/_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png 2010-12-10 13:03:35 +0000 differ
139=== added file 'doc/build/html/_images/math/17f1249ad95b7682b8316ad21de8ce4ee9fdcf93.png'
140Binary files doc/build/html/_images/math/17f1249ad95b7682b8316ad21de8ce4ee9fdcf93.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/17f1249ad95b7682b8316ad21de8ce4ee9fdcf93.png 2010-12-10 13:03:35 +0000 differ
141=== added file 'doc/build/html/_images/math/18a3d61b1379bffa541f77bdd4be7f39c9b48249.png'
142Binary files doc/build/html/_images/math/18a3d61b1379bffa541f77bdd4be7f39c9b48249.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/18a3d61b1379bffa541f77bdd4be7f39c9b48249.png 2010-12-10 13:03:35 +0000 differ
143=== added file 'doc/build/html/_images/math/193a10d6257248249fc9ba6a97ebf8db48d8dd96.png'
144Binary files doc/build/html/_images/math/193a10d6257248249fc9ba6a97ebf8db48d8dd96.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/193a10d6257248249fc9ba6a97ebf8db48d8dd96.png 2010-12-10 13:03:35 +0000 differ
145=== added file 'doc/build/html/_images/math/19a25b18df260149489eac1d37664296def89476.png'
146Binary files doc/build/html/_images/math/19a25b18df260149489eac1d37664296def89476.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/19a25b18df260149489eac1d37664296def89476.png 2010-12-10 13:03:35 +0000 differ
147=== added file 'doc/build/html/_images/math/1a877016ae6db3fb612a56ec2989e72844db99f7.png'
148Binary files doc/build/html/_images/math/1a877016ae6db3fb612a56ec2989e72844db99f7.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/1a877016ae6db3fb612a56ec2989e72844db99f7.png 2010-12-10 13:03:35 +0000 differ
149=== added file 'doc/build/html/_images/math/1a8d47fe4c6b9295f4c73ecb0181d7cdc2f265bd.png'
150Binary files doc/build/html/_images/math/1a8d47fe4c6b9295f4c73ecb0181d7cdc2f265bd.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/1a8d47fe4c6b9295f4c73ecb0181d7cdc2f265bd.png 2010-12-10 13:03:35 +0000 differ
151=== added file 'doc/build/html/_images/math/1c1f67a0734afc239885815cb3fdca712cdeee34.png'
152Binary files doc/build/html/_images/math/1c1f67a0734afc239885815cb3fdca712cdeee34.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/1c1f67a0734afc239885815cb3fdca712cdeee34.png 2010-12-10 13:03:35 +0000 differ
153=== added file 'doc/build/html/_images/math/1c839f56dd2ed41d4e9d5b2f84296b1c561dfd8b.png'
154Binary files doc/build/html/_images/math/1c839f56dd2ed41d4e9d5b2f84296b1c561dfd8b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/1c839f56dd2ed41d4e9d5b2f84296b1c561dfd8b.png 2010-12-10 13:03:35 +0000 differ
155=== added file 'doc/build/html/_images/math/1c8895d22e38d59cd235a7f370e1266bbdc90ad0.png'
156Binary files doc/build/html/_images/math/1c8895d22e38d59cd235a7f370e1266bbdc90ad0.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/1c8895d22e38d59cd235a7f370e1266bbdc90ad0.png 2010-12-10 13:03:35 +0000 differ
157=== added file 'doc/build/html/_images/math/1caa3e3ac8919174afb2c7d55599b897ea724bd1.png'
158Binary files doc/build/html/_images/math/1caa3e3ac8919174afb2c7d55599b897ea724bd1.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/1caa3e3ac8919174afb2c7d55599b897ea724bd1.png 2010-12-10 13:03:35 +0000 differ
159=== added file 'doc/build/html/_images/math/208cbfe014aba5e7e2a46a6d382991da92f36f74.png'
160Binary files doc/build/html/_images/math/208cbfe014aba5e7e2a46a6d382991da92f36f74.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/208cbfe014aba5e7e2a46a6d382991da92f36f74.png 2010-12-10 13:03:35 +0000 differ
161=== added file 'doc/build/html/_images/math/20b4c4466ff23a0c6d3864f869c1c4a80c0fd408.png'
162Binary files doc/build/html/_images/math/20b4c4466ff23a0c6d3864f869c1c4a80c0fd408.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/20b4c4466ff23a0c6d3864f869c1c4a80c0fd408.png 2010-12-10 13:03:35 +0000 differ
163=== added file 'doc/build/html/_images/math/2234314d95cdb2e0ee644869eeb7bd365fd64fca.png'
164Binary files doc/build/html/_images/math/2234314d95cdb2e0ee644869eeb7bd365fd64fca.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/2234314d95cdb2e0ee644869eeb7bd365fd64fca.png 2010-12-10 13:03:35 +0000 differ
165=== added file 'doc/build/html/_images/math/243bee50f19fb6b984ac05f7892cfbbc64520e51.png'
166Binary files doc/build/html/_images/math/243bee50f19fb6b984ac05f7892cfbbc64520e51.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/243bee50f19fb6b984ac05f7892cfbbc64520e51.png 2010-12-10 13:03:35 +0000 differ
167=== added file 'doc/build/html/_images/math/254ff34a45363b0e441b4adb30285d637d1a93af.png'
168Binary files doc/build/html/_images/math/254ff34a45363b0e441b4adb30285d637d1a93af.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/254ff34a45363b0e441b4adb30285d637d1a93af.png 2010-12-10 13:03:35 +0000 differ
169=== added file 'doc/build/html/_images/math/2554b6496c3b678897e9b060ef00aa9f0a7d7ece.png'
170Binary files doc/build/html/_images/math/2554b6496c3b678897e9b060ef00aa9f0a7d7ece.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/2554b6496c3b678897e9b060ef00aa9f0a7d7ece.png 2010-12-10 13:03:35 +0000 differ
171=== added file 'doc/build/html/_images/math/26b1d40ca1aa27365fdcb0e1c0dfb68bcb015472.png'
172Binary files doc/build/html/_images/math/26b1d40ca1aa27365fdcb0e1c0dfb68bcb015472.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/26b1d40ca1aa27365fdcb0e1c0dfb68bcb015472.png 2010-12-10 13:03:35 +0000 differ
173=== added file 'doc/build/html/_images/math/26eeb5258ca5099acf8fe96b2a1049c48c89a5e6.png'
174Binary files doc/build/html/_images/math/26eeb5258ca5099acf8fe96b2a1049c48c89a5e6.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/26eeb5258ca5099acf8fe96b2a1049c48c89a5e6.png 2010-12-10 13:03:35 +0000 differ
175=== added file 'doc/build/html/_images/math/28068510f40886db797e5328e070ba303dd20c3f.png'
176Binary files doc/build/html/_images/math/28068510f40886db797e5328e070ba303dd20c3f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/28068510f40886db797e5328e070ba303dd20c3f.png 2010-12-10 13:03:35 +0000 differ
177=== added file 'doc/build/html/_images/math/29169a7341170ee1c3bc87f30bcfec4fc1fddb1c.png'
178Binary files doc/build/html/_images/math/29169a7341170ee1c3bc87f30bcfec4fc1fddb1c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/29169a7341170ee1c3bc87f30bcfec4fc1fddb1c.png 2010-12-10 13:03:35 +0000 differ
179=== added file 'doc/build/html/_images/math/29324e89cd738bc7e99f3eee77329a7a044b9454.png'
180Binary files doc/build/html/_images/math/29324e89cd738bc7e99f3eee77329a7a044b9454.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/29324e89cd738bc7e99f3eee77329a7a044b9454.png 2010-12-10 13:03:35 +0000 differ
181=== added file 'doc/build/html/_images/math/29dd6e523d1d84cf56aaffc9c949b4ecb8e10339.png'
182Binary files doc/build/html/_images/math/29dd6e523d1d84cf56aaffc9c949b4ecb8e10339.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/29dd6e523d1d84cf56aaffc9c949b4ecb8e10339.png 2010-12-10 13:03:35 +0000 differ
183=== added file 'doc/build/html/_images/math/29fc3d86ed16d5fbe4a492dfeb0b42778cb9d7ee.png'
184Binary files doc/build/html/_images/math/29fc3d86ed16d5fbe4a492dfeb0b42778cb9d7ee.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/29fc3d86ed16d5fbe4a492dfeb0b42778cb9d7ee.png 2010-12-10 13:03:35 +0000 differ
185=== added file 'doc/build/html/_images/math/2a8ca6a7009ee5385d73e61d462a58f248c80986.png'
186Binary files doc/build/html/_images/math/2a8ca6a7009ee5385d73e61d462a58f248c80986.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/2a8ca6a7009ee5385d73e61d462a58f248c80986.png 2010-12-10 13:03:35 +0000 differ
187=== added file 'doc/build/html/_images/math/2bd21984207bb64a4af86d045947fdb01d050f8f.png'
188Binary files doc/build/html/_images/math/2bd21984207bb64a4af86d045947fdb01d050f8f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/2bd21984207bb64a4af86d045947fdb01d050f8f.png 2010-12-10 13:03:35 +0000 differ
189=== added file 'doc/build/html/_images/math/2ccfe97aad19720278a939bedb093af63f8ec959.png'
190Binary files doc/build/html/_images/math/2ccfe97aad19720278a939bedb093af63f8ec959.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/2ccfe97aad19720278a939bedb093af63f8ec959.png 2010-12-10 13:03:35 +0000 differ
191=== added file 'doc/build/html/_images/math/2d8c833ed800824727cd7bd2fb9de1a12ad7e674.png'
192Binary files doc/build/html/_images/math/2d8c833ed800824727cd7bd2fb9de1a12ad7e674.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/2d8c833ed800824727cd7bd2fb9de1a12ad7e674.png 2010-12-10 13:03:35 +0000 differ
193=== added file 'doc/build/html/_images/math/2f2c7e1863869b3b250c3397ca8146a4d4863f1b.png'
194Binary files doc/build/html/_images/math/2f2c7e1863869b3b250c3397ca8146a4d4863f1b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/2f2c7e1863869b3b250c3397ca8146a4d4863f1b.png 2010-12-10 13:03:35 +0000 differ
195=== added file 'doc/build/html/_images/math/2f877c26508a30a5c47ee96f8b69027da87c62f7.png'
196Binary files doc/build/html/_images/math/2f877c26508a30a5c47ee96f8b69027da87c62f7.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/2f877c26508a30a5c47ee96f8b69027da87c62f7.png 2010-12-10 13:03:35 +0000 differ
197=== added file 'doc/build/html/_images/math/32d78aae1741ff43c6f40e2077f1ab67900cca2c.png'
198Binary files doc/build/html/_images/math/32d78aae1741ff43c6f40e2077f1ab67900cca2c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/32d78aae1741ff43c6f40e2077f1ab67900cca2c.png 2010-12-10 13:03:35 +0000 differ
199=== added file 'doc/build/html/_images/math/331fc28185082cbfa8c57029e65f9a6bd91cc2aa.png'
200Binary files doc/build/html/_images/math/331fc28185082cbfa8c57029e65f9a6bd91cc2aa.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/331fc28185082cbfa8c57029e65f9a6bd91cc2aa.png 2010-12-10 13:03:35 +0000 differ
201=== added file 'doc/build/html/_images/math/33266dab31dfb57b3570ab76c2ebc2ffcf617831.png'
202Binary files doc/build/html/_images/math/33266dab31dfb57b3570ab76c2ebc2ffcf617831.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/33266dab31dfb57b3570ab76c2ebc2ffcf617831.png 2010-12-10 13:03:35 +0000 differ
203=== added file 'doc/build/html/_images/math/34354d108ac6971eb68a84c984bc8ac4a6a2ab41.png'
204Binary files doc/build/html/_images/math/34354d108ac6971eb68a84c984bc8ac4a6a2ab41.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/34354d108ac6971eb68a84c984bc8ac4a6a2ab41.png 2010-12-10 13:03:35 +0000 differ
205=== added file 'doc/build/html/_images/math/3437890f06999b22bb720f0cbb50ad44cc671af1.png'
206Binary files doc/build/html/_images/math/3437890f06999b22bb720f0cbb50ad44cc671af1.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/3437890f06999b22bb720f0cbb50ad44cc671af1.png 2010-12-10 13:03:35 +0000 differ
207=== added file 'doc/build/html/_images/math/343d0b1bdf0a89348e54e78243206b00921891fa.png'
208Binary files doc/build/html/_images/math/343d0b1bdf0a89348e54e78243206b00921891fa.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/343d0b1bdf0a89348e54e78243206b00921891fa.png 2010-12-10 13:03:35 +0000 differ
209=== added file 'doc/build/html/_images/math/3549b27670a997ad5bae81038fb982ef5d2c28f0.png'
210Binary files doc/build/html/_images/math/3549b27670a997ad5bae81038fb982ef5d2c28f0.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/3549b27670a997ad5bae81038fb982ef5d2c28f0.png 2010-12-10 13:03:35 +0000 differ
211=== added file 'doc/build/html/_images/math/35966a8389b47f5a99dc5c8d378f99a4bbff5068.png'
212Binary files doc/build/html/_images/math/35966a8389b47f5a99dc5c8d378f99a4bbff5068.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/35966a8389b47f5a99dc5c8d378f99a4bbff5068.png 2010-12-10 13:03:35 +0000 differ
213=== added file 'doc/build/html/_images/math/35cf8b0b6e5f53cc10c6ef43b8bc6fc921888521.png'
214Binary files doc/build/html/_images/math/35cf8b0b6e5f53cc10c6ef43b8bc6fc921888521.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/35cf8b0b6e5f53cc10c6ef43b8bc6fc921888521.png 2010-12-10 13:03:35 +0000 differ
215=== added file 'doc/build/html/_images/math/3649d418d0750fb66f68e828cfec83faca966498.png'
216Binary files doc/build/html/_images/math/3649d418d0750fb66f68e828cfec83faca966498.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/3649d418d0750fb66f68e828cfec83faca966498.png 2010-12-10 13:03:35 +0000 differ
217=== added file 'doc/build/html/_images/math/36f73fc1312ee0349b3f3a0f3bd9eb5504339011.png'
218Binary files doc/build/html/_images/math/36f73fc1312ee0349b3f3a0f3bd9eb5504339011.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/36f73fc1312ee0349b3f3a0f3bd9eb5504339011.png 2010-12-10 13:03:35 +0000 differ
219=== added file 'doc/build/html/_images/math/373f482f73854e03e6ed7bd3e56010dedac0a40f.png'
220Binary files doc/build/html/_images/math/373f482f73854e03e6ed7bd3e56010dedac0a40f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/373f482f73854e03e6ed7bd3e56010dedac0a40f.png 2010-12-10 13:03:35 +0000 differ
221=== added file 'doc/build/html/_images/math/37a07a60f26280afd1716c6202e5d5c410456463.png'
222Binary files doc/build/html/_images/math/37a07a60f26280afd1716c6202e5d5c410456463.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/37a07a60f26280afd1716c6202e5d5c410456463.png 2010-12-10 13:03:35 +0000 differ
223=== added file 'doc/build/html/_images/math/3956aa6f1545292f7bc387edc45ab2dfb06838dc.png'
224Binary files doc/build/html/_images/math/3956aa6f1545292f7bc387edc45ab2dfb06838dc.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/3956aa6f1545292f7bc387edc45ab2dfb06838dc.png 2010-12-10 13:03:35 +0000 differ
225=== added file 'doc/build/html/_images/math/3b768d10ffde750b75e396ad22ac2c8192bd72d5.png'
226Binary files doc/build/html/_images/math/3b768d10ffde750b75e396ad22ac2c8192bd72d5.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/3b768d10ffde750b75e396ad22ac2c8192bd72d5.png 2010-12-10 13:03:35 +0000 differ
227=== added file 'doc/build/html/_images/math/3b995588fb741169d3c9ad3feb0cef172737ee0d.png'
228Binary files doc/build/html/_images/math/3b995588fb741169d3c9ad3feb0cef172737ee0d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/3b995588fb741169d3c9ad3feb0cef172737ee0d.png 2010-12-10 13:03:35 +0000 differ
229=== added file 'doc/build/html/_images/math/3ca0e9bfd6892d48d77c87a33bcc228c3a017ec0.png'
230Binary files doc/build/html/_images/math/3ca0e9bfd6892d48d77c87a33bcc228c3a017ec0.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/3ca0e9bfd6892d48d77c87a33bcc228c3a017ec0.png 2010-12-10 13:03:35 +0000 differ
231=== added file 'doc/build/html/_images/math/3d5748e90487d80ee689dc7c8ea13ef316542389.png'
232Binary files doc/build/html/_images/math/3d5748e90487d80ee689dc7c8ea13ef316542389.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/3d5748e90487d80ee689dc7c8ea13ef316542389.png 2010-12-10 13:03:35 +0000 differ
233=== added file 'doc/build/html/_images/math/3e2caf480789aba90884fce313eff58bbd1edcfd.png'
234Binary files doc/build/html/_images/math/3e2caf480789aba90884fce313eff58bbd1edcfd.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/3e2caf480789aba90884fce313eff58bbd1edcfd.png 2010-12-10 13:03:35 +0000 differ
235=== added file 'doc/build/html/_images/math/403491933318ae3568330e59282cb8a17e4f055a.png'
236Binary files doc/build/html/_images/math/403491933318ae3568330e59282cb8a17e4f055a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/403491933318ae3568330e59282cb8a17e4f055a.png 2010-12-10 13:03:35 +0000 differ
237=== added file 'doc/build/html/_images/math/41a726bfe77466ca146cde13f263d2b09de16e44.png'
238Binary files doc/build/html/_images/math/41a726bfe77466ca146cde13f263d2b09de16e44.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/41a726bfe77466ca146cde13f263d2b09de16e44.png 2010-12-10 13:03:35 +0000 differ
239=== added file 'doc/build/html/_images/math/44ca9c124a21e360685eaad738b7fe20d18fb2b3.png'
240Binary files doc/build/html/_images/math/44ca9c124a21e360685eaad738b7fe20d18fb2b3.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/44ca9c124a21e360685eaad738b7fe20d18fb2b3.png 2010-12-10 13:03:35 +0000 differ
241=== added file 'doc/build/html/_images/math/4554cc0b90e8722fe8ca11c108832c9fbaeb647d.png'
242Binary files doc/build/html/_images/math/4554cc0b90e8722fe8ca11c108832c9fbaeb647d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4554cc0b90e8722fe8ca11c108832c9fbaeb647d.png 2010-12-10 13:03:35 +0000 differ
243=== added file 'doc/build/html/_images/math/4589f85ac7fbb21b7cdacaba35bf431f18cfdd59.png'
244Binary files doc/build/html/_images/math/4589f85ac7fbb21b7cdacaba35bf431f18cfdd59.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4589f85ac7fbb21b7cdacaba35bf431f18cfdd59.png 2010-12-10 13:03:35 +0000 differ
245=== added file 'doc/build/html/_images/math/46260dba508c0827d1f9f6f8fb965791037f79d9.png'
246Binary files doc/build/html/_images/math/46260dba508c0827d1f9f6f8fb965791037f79d9.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/46260dba508c0827d1f9f6f8fb965791037f79d9.png 2010-12-10 13:03:35 +0000 differ
247=== added file 'doc/build/html/_images/math/472871dce2c67252c275f76b089acc63255a8336.png'
248Binary files doc/build/html/_images/math/472871dce2c67252c275f76b089acc63255a8336.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/472871dce2c67252c275f76b089acc63255a8336.png 2010-12-10 13:03:35 +0000 differ
249=== added file 'doc/build/html/_images/math/483a339f09e46bd496504b88bb3638c81fc76d1a.png'
250Binary files doc/build/html/_images/math/483a339f09e46bd496504b88bb3638c81fc76d1a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/483a339f09e46bd496504b88bb3638c81fc76d1a.png 2010-12-10 13:03:35 +0000 differ
251=== added file 'doc/build/html/_images/math/48959eadc206a5205ea6220c002e34ecfc56db25.png'
252Binary files doc/build/html/_images/math/48959eadc206a5205ea6220c002e34ecfc56db25.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/48959eadc206a5205ea6220c002e34ecfc56db25.png 2010-12-10 13:03:35 +0000 differ
253=== added file 'doc/build/html/_images/math/49ac9835ee2e9a28724b6b48183cc8082f2181b1.png'
254Binary files doc/build/html/_images/math/49ac9835ee2e9a28724b6b48183cc8082f2181b1.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/49ac9835ee2e9a28724b6b48183cc8082f2181b1.png 2010-12-10 13:03:35 +0000 differ
255=== added file 'doc/build/html/_images/math/4a77a2b64f03f526dd41a84c12565858df391e4f.png'
256Binary files doc/build/html/_images/math/4a77a2b64f03f526dd41a84c12565858df391e4f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4a77a2b64f03f526dd41a84c12565858df391e4f.png 2010-12-10 13:03:35 +0000 differ
257=== added file 'doc/build/html/_images/math/4b0d8c7c85d040eab00b7b39b8267acccc40dc84.png'
258Binary files doc/build/html/_images/math/4b0d8c7c85d040eab00b7b39b8267acccc40dc84.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4b0d8c7c85d040eab00b7b39b8267acccc40dc84.png 2010-12-10 13:03:35 +0000 differ
259=== added file 'doc/build/html/_images/math/4b4cade9ca8a2c8311fafcf040bc5b15ca507f52.png'
260Binary files doc/build/html/_images/math/4b4cade9ca8a2c8311fafcf040bc5b15ca507f52.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4b4cade9ca8a2c8311fafcf040bc5b15ca507f52.png 2010-12-10 13:03:35 +0000 differ
261=== added file 'doc/build/html/_images/math/4bb8d1af6d1d1da03c879b4d35c7ea51813c4e9a.png'
262Binary files doc/build/html/_images/math/4bb8d1af6d1d1da03c879b4d35c7ea51813c4e9a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4bb8d1af6d1d1da03c879b4d35c7ea51813c4e9a.png 2010-12-10 13:03:35 +0000 differ
263=== added file 'doc/build/html/_images/math/4bce221ce644a2b528da32b012c6275b6271e32b.png'
264Binary files doc/build/html/_images/math/4bce221ce644a2b528da32b012c6275b6271e32b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4bce221ce644a2b528da32b012c6275b6271e32b.png 2010-12-10 13:03:35 +0000 differ
265=== added file 'doc/build/html/_images/math/4bdca93962a2beaffc172ca394e04fe05bd74ffd.png'
266Binary files doc/build/html/_images/math/4bdca93962a2beaffc172ca394e04fe05bd74ffd.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4bdca93962a2beaffc172ca394e04fe05bd74ffd.png 2010-12-10 13:03:35 +0000 differ
267=== added file 'doc/build/html/_images/math/4bea4f5ee837b0249288558f2fb73a871b264491.png'
268Binary files doc/build/html/_images/math/4bea4f5ee837b0249288558f2fb73a871b264491.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4bea4f5ee837b0249288558f2fb73a871b264491.png 2010-12-10 13:03:35 +0000 differ
269=== added file 'doc/build/html/_images/math/4d98c2c2a240fd3ece215d33344d6861c464542a.png'
270Binary files doc/build/html/_images/math/4d98c2c2a240fd3ece215d33344d6861c464542a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4d98c2c2a240fd3ece215d33344d6861c464542a.png 2010-12-10 13:03:35 +0000 differ
271=== added file 'doc/build/html/_images/math/4df706fbfc0129398c1d5f6601a55a41209e7e9a.png'
272Binary files doc/build/html/_images/math/4df706fbfc0129398c1d5f6601a55a41209e7e9a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4df706fbfc0129398c1d5f6601a55a41209e7e9a.png 2010-12-10 13:03:35 +0000 differ
273=== added file 'doc/build/html/_images/math/4e72e35845630bc33262799b6f9935bea86647aa.png'
274Binary files doc/build/html/_images/math/4e72e35845630bc33262799b6f9935bea86647aa.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4e72e35845630bc33262799b6f9935bea86647aa.png 2010-12-10 13:03:35 +0000 differ
275=== added file 'doc/build/html/_images/math/4f017986e2e23bd929c17c8463200dea3fa870df.png'
276Binary files doc/build/html/_images/math/4f017986e2e23bd929c17c8463200dea3fa870df.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4f017986e2e23bd929c17c8463200dea3fa870df.png 2010-12-10 13:03:35 +0000 differ
277=== added file 'doc/build/html/_images/math/4f154c2a91b246c1da552f6826d427ba18164eff.png'
278Binary files doc/build/html/_images/math/4f154c2a91b246c1da552f6826d427ba18164eff.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/4f154c2a91b246c1da552f6826d427ba18164eff.png 2010-12-10 13:03:35 +0000 differ
279=== added file 'doc/build/html/_images/math/50352f13ab4af16d8716ac4e060c5b459e07a9f8.png'
280Binary files doc/build/html/_images/math/50352f13ab4af16d8716ac4e060c5b459e07a9f8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/50352f13ab4af16d8716ac4e060c5b459e07a9f8.png 2010-12-10 13:03:35 +0000 differ
281=== added file 'doc/build/html/_images/math/506236b8fdffce673281716be8d19ead652768cc.png'
282Binary files doc/build/html/_images/math/506236b8fdffce673281716be8d19ead652768cc.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/506236b8fdffce673281716be8d19ead652768cc.png 2010-12-10 13:03:35 +0000 differ
283=== added file 'doc/build/html/_images/math/509aa8b7818d1bdc414b739659748e8d49bdab6f.png'
284Binary files doc/build/html/_images/math/509aa8b7818d1bdc414b739659748e8d49bdab6f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/509aa8b7818d1bdc414b739659748e8d49bdab6f.png 2010-12-10 13:03:35 +0000 differ
285=== added file 'doc/build/html/_images/math/50b918c649afff9a6fe0b5f81d4e02355ff5ee65.png'
286Binary files doc/build/html/_images/math/50b918c649afff9a6fe0b5f81d4e02355ff5ee65.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/50b918c649afff9a6fe0b5f81d4e02355ff5ee65.png 2010-12-10 13:03:35 +0000 differ
287=== added file 'doc/build/html/_images/math/52e0ff1161373cc9cd64457d457939a0cdf63750.png'
288Binary files doc/build/html/_images/math/52e0ff1161373cc9cd64457d457939a0cdf63750.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/52e0ff1161373cc9cd64457d457939a0cdf63750.png 2010-12-10 13:03:35 +0000 differ
289=== added file 'doc/build/html/_images/math/53e61f3814931a26816d64670ceadf602354dd4b.png'
290Binary files doc/build/html/_images/math/53e61f3814931a26816d64670ceadf602354dd4b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/53e61f3814931a26816d64670ceadf602354dd4b.png 2010-12-10 13:03:35 +0000 differ
291=== added file 'doc/build/html/_images/math/5589a714a734f3834cc4aead152691d7517b01d0.png'
292Binary files doc/build/html/_images/math/5589a714a734f3834cc4aead152691d7517b01d0.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5589a714a734f3834cc4aead152691d7517b01d0.png 2010-12-10 13:03:35 +0000 differ
293=== added file 'doc/build/html/_images/math/570e278388fceadb3e2ab11580c63451dc50bd7e.png'
294Binary files doc/build/html/_images/math/570e278388fceadb3e2ab11580c63451dc50bd7e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/570e278388fceadb3e2ab11580c63451dc50bd7e.png 2010-12-10 13:03:35 +0000 differ
295=== added file 'doc/build/html/_images/math/575bf21b82581301988bc21a230e4834fbd8920d.png'
296Binary files doc/build/html/_images/math/575bf21b82581301988bc21a230e4834fbd8920d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/575bf21b82581301988bc21a230e4834fbd8920d.png 2010-12-10 13:03:35 +0000 differ
297=== added file 'doc/build/html/_images/math/57a233e4bced8a9e14812ddb76241c0e78d32d86.png'
298Binary files doc/build/html/_images/math/57a233e4bced8a9e14812ddb76241c0e78d32d86.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/57a233e4bced8a9e14812ddb76241c0e78d32d86.png 2010-12-10 13:03:35 +0000 differ
299=== added file 'doc/build/html/_images/math/58e0fbcb55cee6fa8f2b8c341eec5f1859c453b8.png'
300Binary files doc/build/html/_images/math/58e0fbcb55cee6fa8f2b8c341eec5f1859c453b8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/58e0fbcb55cee6fa8f2b8c341eec5f1859c453b8.png 2010-12-10 13:03:35 +0000 differ
301=== added file 'doc/build/html/_images/math/5961f83a51d6ef966cd7f46720ce096a0f44a828.png'
302Binary files doc/build/html/_images/math/5961f83a51d6ef966cd7f46720ce096a0f44a828.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5961f83a51d6ef966cd7f46720ce096a0f44a828.png 2010-12-10 13:03:35 +0000 differ
303=== added file 'doc/build/html/_images/math/5a1d0cfaccab316e80ee73f75d7a3259def3ffd2.png'
304Binary files doc/build/html/_images/math/5a1d0cfaccab316e80ee73f75d7a3259def3ffd2.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5a1d0cfaccab316e80ee73f75d7a3259def3ffd2.png 2010-12-10 13:03:35 +0000 differ
305=== added file 'doc/build/html/_images/math/5a1dc1e6030606b400ca3bbfb30051f6035092c4.png'
306Binary files doc/build/html/_images/math/5a1dc1e6030606b400ca3bbfb30051f6035092c4.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5a1dc1e6030606b400ca3bbfb30051f6035092c4.png 2010-12-10 13:03:35 +0000 differ
307=== added file 'doc/build/html/_images/math/5a7839c7cd68986aef4aee3eb7941fd8e58b3678.png'
308Binary files doc/build/html/_images/math/5a7839c7cd68986aef4aee3eb7941fd8e58b3678.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5a7839c7cd68986aef4aee3eb7941fd8e58b3678.png 2010-12-10 13:03:35 +0000 differ
309=== added file 'doc/build/html/_images/math/5adb41b6d0d7dec9195b2ce3dd1aa799dfcd0636.png'
310Binary files doc/build/html/_images/math/5adb41b6d0d7dec9195b2ce3dd1aa799dfcd0636.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5adb41b6d0d7dec9195b2ce3dd1aa799dfcd0636.png 2010-12-10 13:03:35 +0000 differ
311=== added file 'doc/build/html/_images/math/5b0a4f7d762ef4289bef542eb87ea9dd5de2e848.png'
312Binary files doc/build/html/_images/math/5b0a4f7d762ef4289bef542eb87ea9dd5de2e848.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5b0a4f7d762ef4289bef542eb87ea9dd5de2e848.png 2010-12-10 13:03:35 +0000 differ
313=== added file 'doc/build/html/_images/math/5be7f9688416e48fd04f912dd6e1dff4749f9db0.png'
314Binary files doc/build/html/_images/math/5be7f9688416e48fd04f912dd6e1dff4749f9db0.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5be7f9688416e48fd04f912dd6e1dff4749f9db0.png 2010-12-10 13:03:35 +0000 differ
315=== added file 'doc/build/html/_images/math/5c13c0b379930c32a6370eef0cccce247dbd2e30.png'
316Binary files doc/build/html/_images/math/5c13c0b379930c32a6370eef0cccce247dbd2e30.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5c13c0b379930c32a6370eef0cccce247dbd2e30.png 2010-12-10 13:03:35 +0000 differ
317=== added file 'doc/build/html/_images/math/5c402c86863bfced2e5a4bdcb849f659c2518762.png'
318Binary files doc/build/html/_images/math/5c402c86863bfced2e5a4bdcb849f659c2518762.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5c402c86863bfced2e5a4bdcb849f659c2518762.png 2010-12-10 13:03:35 +0000 differ
319=== added file 'doc/build/html/_images/math/5d1e4485dc90c450e8c76826516c1b2ccb8fce16.png'
320Binary files doc/build/html/_images/math/5d1e4485dc90c450e8c76826516c1b2ccb8fce16.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5d1e4485dc90c450e8c76826516c1b2ccb8fce16.png 2010-12-10 13:03:35 +0000 differ
321=== added file 'doc/build/html/_images/math/5f835d2d4a213eff54596ede687eff1c913db934.png'
322Binary files doc/build/html/_images/math/5f835d2d4a213eff54596ede687eff1c913db934.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/5f835d2d4a213eff54596ede687eff1c913db934.png 2010-12-10 13:03:35 +0000 differ
323=== added file 'doc/build/html/_images/math/6055e1f59fece64d0154c25751b65aa2fb0e8d3d.png'
324Binary files doc/build/html/_images/math/6055e1f59fece64d0154c25751b65aa2fb0e8d3d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6055e1f59fece64d0154c25751b65aa2fb0e8d3d.png 2010-12-10 13:03:35 +0000 differ
325=== added file 'doc/build/html/_images/math/6195631f3fbcda2f8278cb0969ad0855c9bbcb9a.png'
326Binary files doc/build/html/_images/math/6195631f3fbcda2f8278cb0969ad0855c9bbcb9a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6195631f3fbcda2f8278cb0969ad0855c9bbcb9a.png 2010-12-10 13:03:35 +0000 differ
327=== added file 'doc/build/html/_images/math/61d28c051484889a582fdaefefe98db6b31ce347.png'
328Binary files doc/build/html/_images/math/61d28c051484889a582fdaefefe98db6b31ce347.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/61d28c051484889a582fdaefefe98db6b31ce347.png 2010-12-10 13:03:35 +0000 differ
329=== added file 'doc/build/html/_images/math/61f7b4599b6b6942607c78867e3e7cbf3285c549.png'
330Binary files doc/build/html/_images/math/61f7b4599b6b6942607c78867e3e7cbf3285c549.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/61f7b4599b6b6942607c78867e3e7cbf3285c549.png 2010-12-10 13:03:35 +0000 differ
331=== added file 'doc/build/html/_images/math/61fe866fa7cfeca631c397262ad092802ea37a45.png'
332Binary files doc/build/html/_images/math/61fe866fa7cfeca631c397262ad092802ea37a45.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/61fe866fa7cfeca631c397262ad092802ea37a45.png 2010-12-10 13:03:35 +0000 differ
333=== added file 'doc/build/html/_images/math/64165d10cadf321ef6baf505ec44eaeb5506a363.png'
334Binary files doc/build/html/_images/math/64165d10cadf321ef6baf505ec44eaeb5506a363.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/64165d10cadf321ef6baf505ec44eaeb5506a363.png 2010-12-10 13:03:35 +0000 differ
335=== added file 'doc/build/html/_images/math/6453fe08f902148e82972f42be74529a8c609deb.png'
336Binary files doc/build/html/_images/math/6453fe08f902148e82972f42be74529a8c609deb.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6453fe08f902148e82972f42be74529a8c609deb.png 2010-12-10 13:03:35 +0000 differ
337=== added file 'doc/build/html/_images/math/646800699122480b28203a978deddb945eb19d98.png'
338Binary files doc/build/html/_images/math/646800699122480b28203a978deddb945eb19d98.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/646800699122480b28203a978deddb945eb19d98.png 2010-12-10 13:03:35 +0000 differ
339=== added file 'doc/build/html/_images/math/6489ee228737f4d9d3366e3a7432230c580b2266.png'
340Binary files doc/build/html/_images/math/6489ee228737f4d9d3366e3a7432230c580b2266.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6489ee228737f4d9d3366e3a7432230c580b2266.png 2010-12-10 13:03:35 +0000 differ
341=== added file 'doc/build/html/_images/math/653de16fdaccadda89726ca6c4853e1804a3087b.png'
342Binary files doc/build/html/_images/math/653de16fdaccadda89726ca6c4853e1804a3087b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/653de16fdaccadda89726ca6c4853e1804a3087b.png 2010-12-10 13:03:35 +0000 differ
343=== added file 'doc/build/html/_images/math/667c22d87327a3131f679693c81686e89c383f4f.png'
344Binary files doc/build/html/_images/math/667c22d87327a3131f679693c81686e89c383f4f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/667c22d87327a3131f679693c81686e89c383f4f.png 2010-12-10 13:03:35 +0000 differ
345=== added file 'doc/build/html/_images/math/67b73ba16f26452982e53f9f5da5d8c246cbd4de.png'
346Binary files doc/build/html/_images/math/67b73ba16f26452982e53f9f5da5d8c246cbd4de.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/67b73ba16f26452982e53f9f5da5d8c246cbd4de.png 2010-12-10 13:03:35 +0000 differ
347=== added file 'doc/build/html/_images/math/68407b248f3e418bdb58269534bdfe5a9469e8f2.png'
348Binary files doc/build/html/_images/math/68407b248f3e418bdb58269534bdfe5a9469e8f2.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/68407b248f3e418bdb58269534bdfe5a9469e8f2.png 2010-12-10 13:03:35 +0000 differ
349=== added file 'doc/build/html/_images/math/695db815f33ead3599bc6fec853a3eb11e540537.png'
350Binary files doc/build/html/_images/math/695db815f33ead3599bc6fec853a3eb11e540537.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/695db815f33ead3599bc6fec853a3eb11e540537.png 2010-12-10 13:03:35 +0000 differ
351=== added file 'doc/build/html/_images/math/699b12aae3e02312980eb11d3b32acff89a71ff9.png'
352Binary files doc/build/html/_images/math/699b12aae3e02312980eb11d3b32acff89a71ff9.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/699b12aae3e02312980eb11d3b32acff89a71ff9.png 2010-12-10 13:03:35 +0000 differ
353=== added file 'doc/build/html/_images/math/6a09e3e0c4b107e714bab1fdaf94303d5ea63905.png'
354Binary files doc/build/html/_images/math/6a09e3e0c4b107e714bab1fdaf94303d5ea63905.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6a09e3e0c4b107e714bab1fdaf94303d5ea63905.png 2010-12-10 13:03:35 +0000 differ
355=== added file 'doc/build/html/_images/math/6a47ca0fe7cb276abc022af6ac88ddae1a9d6894.png'
356Binary files doc/build/html/_images/math/6a47ca0fe7cb276abc022af6ac88ddae1a9d6894.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6a47ca0fe7cb276abc022af6ac88ddae1a9d6894.png 2010-12-10 13:03:35 +0000 differ
357=== added file 'doc/build/html/_images/math/6ac8905165ee8f413ccb8e724b7d8588fdfb9d1b.png'
358Binary files doc/build/html/_images/math/6ac8905165ee8f413ccb8e724b7d8588fdfb9d1b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6ac8905165ee8f413ccb8e724b7d8588fdfb9d1b.png 2010-12-10 13:03:35 +0000 differ
359=== added file 'doc/build/html/_images/math/6bd8152c9dce040652f4d9e2725ff6a2522621ff.png'
360Binary files doc/build/html/_images/math/6bd8152c9dce040652f4d9e2725ff6a2522621ff.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6bd8152c9dce040652f4d9e2725ff6a2522621ff.png 2010-12-10 13:03:35 +0000 differ
361=== added file 'doc/build/html/_images/math/6e28ce12d49d39f160d5a0ef54077fc98e4b9d2b.png'
362Binary files doc/build/html/_images/math/6e28ce12d49d39f160d5a0ef54077fc98e4b9d2b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6e28ce12d49d39f160d5a0ef54077fc98e4b9d2b.png 2010-12-10 13:03:35 +0000 differ
363=== added file 'doc/build/html/_images/math/6fea0b5ad40e6222f621a260aeb1fc3d0b2d1e59.png'
364Binary files doc/build/html/_images/math/6fea0b5ad40e6222f621a260aeb1fc3d0b2d1e59.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/6fea0b5ad40e6222f621a260aeb1fc3d0b2d1e59.png 2010-12-10 13:03:35 +0000 differ
365=== added file 'doc/build/html/_images/math/703a273fa3aa141626b1ad39e100d61bc0d369ed.png'
366Binary files doc/build/html/_images/math/703a273fa3aa141626b1ad39e100d61bc0d369ed.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/703a273fa3aa141626b1ad39e100d61bc0d369ed.png 2010-12-10 13:03:35 +0000 differ
367=== added file 'doc/build/html/_images/math/7175250d0dfa3242e033ac6d88987a77a4fffccd.png'
368Binary files doc/build/html/_images/math/7175250d0dfa3242e033ac6d88987a77a4fffccd.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7175250d0dfa3242e033ac6d88987a77a4fffccd.png 2010-12-10 13:03:35 +0000 differ
369=== added file 'doc/build/html/_images/math/723aee1377a5d8993c3effb0cc5f644011d1a34c.png'
370Binary files doc/build/html/_images/math/723aee1377a5d8993c3effb0cc5f644011d1a34c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/723aee1377a5d8993c3effb0cc5f644011d1a34c.png 2010-12-10 13:03:35 +0000 differ
371=== added file 'doc/build/html/_images/math/723b55830eebda94339bddfe5032d381c449a3fd.png'
372Binary files doc/build/html/_images/math/723b55830eebda94339bddfe5032d381c449a3fd.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/723b55830eebda94339bddfe5032d381c449a3fd.png 2010-12-10 13:03:35 +0000 differ
373=== added file 'doc/build/html/_images/math/7314958d2e70f8f8b75364d171f03fca7b88ed62.png'
374Binary files doc/build/html/_images/math/7314958d2e70f8f8b75364d171f03fca7b88ed62.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7314958d2e70f8f8b75364d171f03fca7b88ed62.png 2010-12-10 13:03:35 +0000 differ
375=== added file 'doc/build/html/_images/math/7339a7b861543525b6c1d74544fc0f2b79e65611.png'
376Binary files doc/build/html/_images/math/7339a7b861543525b6c1d74544fc0f2b79e65611.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7339a7b861543525b6c1d74544fc0f2b79e65611.png 2010-12-10 13:03:35 +0000 differ
377=== added file 'doc/build/html/_images/math/73ef4db286e93bab211267c97ffde30973795f5a.png'
378Binary files doc/build/html/_images/math/73ef4db286e93bab211267c97ffde30973795f5a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/73ef4db286e93bab211267c97ffde30973795f5a.png 2010-12-10 13:03:35 +0000 differ
379=== added file 'doc/build/html/_images/math/7542cd5dd2b14f353c7b4981ca6970458044f2d4.png'
380Binary files doc/build/html/_images/math/7542cd5dd2b14f353c7b4981ca6970458044f2d4.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7542cd5dd2b14f353c7b4981ca6970458044f2d4.png 2010-12-10 13:03:35 +0000 differ
381=== added file 'doc/build/html/_images/math/754d5ef3c6d24a1becd4e5b7cbbb77ba590f1953.png'
382Binary files doc/build/html/_images/math/754d5ef3c6d24a1becd4e5b7cbbb77ba590f1953.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/754d5ef3c6d24a1becd4e5b7cbbb77ba590f1953.png 2010-12-10 13:03:35 +0000 differ
383=== added file 'doc/build/html/_images/math/7694bb8a11c78790d1c12572c04a6df59e94c05c.png'
384Binary files doc/build/html/_images/math/7694bb8a11c78790d1c12572c04a6df59e94c05c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7694bb8a11c78790d1c12572c04a6df59e94c05c.png 2010-12-10 13:03:35 +0000 differ
385=== added file 'doc/build/html/_images/math/77b87703b14d3f1b59ac092865ee19b0f85cf188.png'
386Binary files doc/build/html/_images/math/77b87703b14d3f1b59ac092865ee19b0f85cf188.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/77b87703b14d3f1b59ac092865ee19b0f85cf188.png 2010-12-10 13:03:35 +0000 differ
387=== added file 'doc/build/html/_images/math/77fbceca18518dc4b8b4994c8c5ce16d02d68a4c.png'
388Binary files doc/build/html/_images/math/77fbceca18518dc4b8b4994c8c5ce16d02d68a4c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/77fbceca18518dc4b8b4994c8c5ce16d02d68a4c.png 2010-12-10 13:03:35 +0000 differ
389=== added file 'doc/build/html/_images/math/7828b34252e1af5b450602189daf8af2e6217c2a.png'
390Binary files doc/build/html/_images/math/7828b34252e1af5b450602189daf8af2e6217c2a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7828b34252e1af5b450602189daf8af2e6217c2a.png 2010-12-10 13:03:35 +0000 differ
391=== added file 'doc/build/html/_images/math/78f13635cd256ffe56545a0799a31b262a98c407.png'
392Binary files doc/build/html/_images/math/78f13635cd256ffe56545a0799a31b262a98c407.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/78f13635cd256ffe56545a0799a31b262a98c407.png 2010-12-10 13:03:35 +0000 differ
393=== added file 'doc/build/html/_images/math/793d926676639e8cded1205546b57f6034d84bcd.png'
394Binary files doc/build/html/_images/math/793d926676639e8cded1205546b57f6034d84bcd.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/793d926676639e8cded1205546b57f6034d84bcd.png 2010-12-10 13:03:35 +0000 differ
395=== added file 'doc/build/html/_images/math/7a1678661c9e3d02a8d260c7cdfc5d154fdf6048.png'
396Binary files doc/build/html/_images/math/7a1678661c9e3d02a8d260c7cdfc5d154fdf6048.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7a1678661c9e3d02a8d260c7cdfc5d154fdf6048.png 2010-12-10 13:03:35 +0000 differ
397=== added file 'doc/build/html/_images/math/7a2b5e1418da350cc4f82a9580e216362c567170.png'
398Binary files doc/build/html/_images/math/7a2b5e1418da350cc4f82a9580e216362c567170.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7a2b5e1418da350cc4f82a9580e216362c567170.png 2010-12-10 13:03:35 +0000 differ
399=== added file 'doc/build/html/_images/math/7a7c5981a10b05257be74ff3f4854903bfa9052b.png'
400Binary files doc/build/html/_images/math/7a7c5981a10b05257be74ff3f4854903bfa9052b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7a7c5981a10b05257be74ff3f4854903bfa9052b.png 2010-12-10 13:03:35 +0000 differ
401=== added file 'doc/build/html/_images/math/7a99df5a9041f467f8002a277dedba09aa30420d.png'
402Binary files doc/build/html/_images/math/7a99df5a9041f467f8002a277dedba09aa30420d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7a99df5a9041f467f8002a277dedba09aa30420d.png 2010-12-10 13:03:35 +0000 differ
403=== added file 'doc/build/html/_images/math/7ae90d71491f591ab5a16d19ee7629e8226ec9ce.png'
404Binary files doc/build/html/_images/math/7ae90d71491f591ab5a16d19ee7629e8226ec9ce.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7ae90d71491f591ab5a16d19ee7629e8226ec9ce.png 2010-12-10 13:03:35 +0000 differ
405=== added file 'doc/build/html/_images/math/7b498079ba43bbb0b9a1fa176d1121c45467188b.png'
406Binary files doc/build/html/_images/math/7b498079ba43bbb0b9a1fa176d1121c45467188b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7b498079ba43bbb0b9a1fa176d1121c45467188b.png 2010-12-10 13:03:35 +0000 differ
407=== added file 'doc/build/html/_images/math/7c7417a29910bcf840b52428dbb9ec70f1d85cd9.png'
408Binary files doc/build/html/_images/math/7c7417a29910bcf840b52428dbb9ec70f1d85cd9.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7c7417a29910bcf840b52428dbb9ec70f1d85cd9.png 2010-12-10 13:03:35 +0000 differ
409=== added file 'doc/build/html/_images/math/7c7d8b7d91d512e775fc1d163a421bccf3e69629.png'
410Binary files doc/build/html/_images/math/7c7d8b7d91d512e775fc1d163a421bccf3e69629.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7c7d8b7d91d512e775fc1d163a421bccf3e69629.png 2010-12-10 13:03:35 +0000 differ
411=== added file 'doc/build/html/_images/math/7da7f3d84cc8689757c290b7e2f239e242887694.png'
412Binary files doc/build/html/_images/math/7da7f3d84cc8689757c290b7e2f239e242887694.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7da7f3d84cc8689757c290b7e2f239e242887694.png 2010-12-10 13:03:35 +0000 differ
413=== added file 'doc/build/html/_images/math/7e90ff770fd2d4d1a80653109b2729cbaeefccba.png'
414Binary files doc/build/html/_images/math/7e90ff770fd2d4d1a80653109b2729cbaeefccba.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7e90ff770fd2d4d1a80653109b2729cbaeefccba.png 2010-12-10 13:03:35 +0000 differ
415=== added file 'doc/build/html/_images/math/7f3b4ea3b8abe9ced6095c7d75f207a1127ee843.png'
416Binary files doc/build/html/_images/math/7f3b4ea3b8abe9ced6095c7d75f207a1127ee843.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/7f3b4ea3b8abe9ced6095c7d75f207a1127ee843.png 2010-12-10 13:03:35 +0000 differ
417=== added file 'doc/build/html/_images/math/8056a3a660c59f9757ba0d6296571359058cb8bb.png'
418Binary files doc/build/html/_images/math/8056a3a660c59f9757ba0d6296571359058cb8bb.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8056a3a660c59f9757ba0d6296571359058cb8bb.png 2010-12-10 13:03:35 +0000 differ
419=== added file 'doc/build/html/_images/math/8189a5b5a0917b8c93350827be4038af1839139d.png'
420Binary files doc/build/html/_images/math/8189a5b5a0917b8c93350827be4038af1839139d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8189a5b5a0917b8c93350827be4038af1839139d.png 2010-12-10 13:03:35 +0000 differ
421=== added file 'doc/build/html/_images/math/81dbf963b31f68c91c05f21b40ed2f9199978e1e.png'
422Binary files doc/build/html/_images/math/81dbf963b31f68c91c05f21b40ed2f9199978e1e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/81dbf963b31f68c91c05f21b40ed2f9199978e1e.png 2010-12-10 13:03:35 +0000 differ
423=== added file 'doc/build/html/_images/math/821e47dcc0a42053d3c3c5a35937cd39888d4bf1.png'
424Binary files doc/build/html/_images/math/821e47dcc0a42053d3c3c5a35937cd39888d4bf1.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/821e47dcc0a42053d3c3c5a35937cd39888d4bf1.png 2010-12-10 13:03:35 +0000 differ
425=== added file 'doc/build/html/_images/math/831195a6fc331518c514f648446feafeb6bfc544.png'
426Binary files doc/build/html/_images/math/831195a6fc331518c514f648446feafeb6bfc544.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/831195a6fc331518c514f648446feafeb6bfc544.png 2010-12-10 13:03:35 +0000 differ
427=== added file 'doc/build/html/_images/math/83c1e50d19959960c14634baec2144a257085717.png'
428Binary files doc/build/html/_images/math/83c1e50d19959960c14634baec2144a257085717.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/83c1e50d19959960c14634baec2144a257085717.png 2010-12-10 13:03:35 +0000 differ
429=== added file 'doc/build/html/_images/math/85002127fd3c0643ce3c1b872e7df4280222a280.png'
430Binary files doc/build/html/_images/math/85002127fd3c0643ce3c1b872e7df4280222a280.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/85002127fd3c0643ce3c1b872e7df4280222a280.png 2010-12-10 13:03:35 +0000 differ
431=== added file 'doc/build/html/_images/math/852a0b9a5d52d1a0ee1a59dc1f8016e98a63971b.png'
432Binary files doc/build/html/_images/math/852a0b9a5d52d1a0ee1a59dc1f8016e98a63971b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/852a0b9a5d52d1a0ee1a59dc1f8016e98a63971b.png 2010-12-10 13:03:35 +0000 differ
433=== added file 'doc/build/html/_images/math/8546ca19769179ea1a2b09343f28b2329052a2c8.png'
434Binary files doc/build/html/_images/math/8546ca19769179ea1a2b09343f28b2329052a2c8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8546ca19769179ea1a2b09343f28b2329052a2c8.png 2010-12-10 13:03:35 +0000 differ
435=== added file 'doc/build/html/_images/math/859a58c9213f8f188bab4896071aa51b0a79aeff.png'
436Binary files doc/build/html/_images/math/859a58c9213f8f188bab4896071aa51b0a79aeff.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/859a58c9213f8f188bab4896071aa51b0a79aeff.png 2010-12-10 13:03:35 +0000 differ
437=== added file 'doc/build/html/_images/math/859ccf4cd60c7bc6b8fa1afc9a42dc811a826d6f.png'
438Binary files doc/build/html/_images/math/859ccf4cd60c7bc6b8fa1afc9a42dc811a826d6f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/859ccf4cd60c7bc6b8fa1afc9a42dc811a826d6f.png 2010-12-10 13:03:35 +0000 differ
439=== added file 'doc/build/html/_images/math/867c5e4b34778fd3c6fa395079ad365668a137d7.png'
440Binary files doc/build/html/_images/math/867c5e4b34778fd3c6fa395079ad365668a137d7.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/867c5e4b34778fd3c6fa395079ad365668a137d7.png 2010-12-10 13:03:35 +0000 differ
441=== added file 'doc/build/html/_images/math/886d80061701fa13e900001edc51d07a7edbc605.png'
442Binary files doc/build/html/_images/math/886d80061701fa13e900001edc51d07a7edbc605.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/886d80061701fa13e900001edc51d07a7edbc605.png 2010-12-10 13:03:35 +0000 differ
443=== added file 'doc/build/html/_images/math/89c551481d5decf6fd54503da4c7f55f3e3f8474.png'
444Binary files doc/build/html/_images/math/89c551481d5decf6fd54503da4c7f55f3e3f8474.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/89c551481d5decf6fd54503da4c7f55f3e3f8474.png 2010-12-10 13:03:35 +0000 differ
445=== added file 'doc/build/html/_images/math/89cfa133ccdf6a8f91743b46ad0a7e95d4f31204.png'
446Binary files doc/build/html/_images/math/89cfa133ccdf6a8f91743b46ad0a7e95d4f31204.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/89cfa133ccdf6a8f91743b46ad0a7e95d4f31204.png 2010-12-10 13:03:35 +0000 differ
447=== added file 'doc/build/html/_images/math/89d01bca157792b91e0ba9db5e444cbb19a9d755.png'
448Binary files doc/build/html/_images/math/89d01bca157792b91e0ba9db5e444cbb19a9d755.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/89d01bca157792b91e0ba9db5e444cbb19a9d755.png 2010-12-10 13:03:35 +0000 differ
449=== added file 'doc/build/html/_images/math/89e690d27323eff75486de744db5b585539c5b83.png'
450Binary files doc/build/html/_images/math/89e690d27323eff75486de744db5b585539c5b83.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/89e690d27323eff75486de744db5b585539c5b83.png 2010-12-10 13:03:35 +0000 differ
451=== added file 'doc/build/html/_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png'
452Binary files doc/build/html/_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png 2010-12-10 13:03:35 +0000 differ
453=== added file 'doc/build/html/_images/math/8c4aac4d37d6f9f8563ed4ed85ff75797b4b1645.png'
454Binary files doc/build/html/_images/math/8c4aac4d37d6f9f8563ed4ed85ff75797b4b1645.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8c4aac4d37d6f9f8563ed4ed85ff75797b4b1645.png 2010-12-10 13:03:35 +0000 differ
455=== added file 'doc/build/html/_images/math/8c7f7085c27a8d4d39ad8afca40a774a78a91a82.png'
456Binary files doc/build/html/_images/math/8c7f7085c27a8d4d39ad8afca40a774a78a91a82.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8c7f7085c27a8d4d39ad8afca40a774a78a91a82.png 2010-12-10 13:03:35 +0000 differ
457=== added file 'doc/build/html/_images/math/8db8d2c3b6325306a87e8a10b0e5358afb2f23eb.png'
458Binary files doc/build/html/_images/math/8db8d2c3b6325306a87e8a10b0e5358afb2f23eb.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8db8d2c3b6325306a87e8a10b0e5358afb2f23eb.png 2010-12-10 13:03:35 +0000 differ
459=== added file 'doc/build/html/_images/math/8e3cd7144270d02f18f633b78d085c8433ff8c92.png'
460Binary files doc/build/html/_images/math/8e3cd7144270d02f18f633b78d085c8433ff8c92.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8e3cd7144270d02f18f633b78d085c8433ff8c92.png 2010-12-10 13:03:35 +0000 differ
461=== added file 'doc/build/html/_images/math/8eca721b4bae76ad5931d7308ced32d4c72d258d.png'
462Binary files doc/build/html/_images/math/8eca721b4bae76ad5931d7308ced32d4c72d258d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8eca721b4bae76ad5931d7308ced32d4c72d258d.png 2010-12-10 13:03:35 +0000 differ
463=== added file 'doc/build/html/_images/math/8f89ee4ea94d9b2fbe9036b74316e5cb4951ad09.png'
464Binary files doc/build/html/_images/math/8f89ee4ea94d9b2fbe9036b74316e5cb4951ad09.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/8f89ee4ea94d9b2fbe9036b74316e5cb4951ad09.png 2010-12-10 13:03:35 +0000 differ
465=== added file 'doc/build/html/_images/math/902ddc59f712487171ee6eb4288da19006240a5e.png'
466Binary files doc/build/html/_images/math/902ddc59f712487171ee6eb4288da19006240a5e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/902ddc59f712487171ee6eb4288da19006240a5e.png 2010-12-10 13:03:35 +0000 differ
467=== added file 'doc/build/html/_images/math/90a07d7ff36fa67dc19d3031fec4a29567cf5ea7.png'
468Binary files doc/build/html/_images/math/90a07d7ff36fa67dc19d3031fec4a29567cf5ea7.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/90a07d7ff36fa67dc19d3031fec4a29567cf5ea7.png 2010-12-10 13:03:35 +0000 differ
469=== added file 'doc/build/html/_images/math/92cf69fa5ec2c3089468cecc8da1268b3608cce9.png'
470Binary files doc/build/html/_images/math/92cf69fa5ec2c3089468cecc8da1268b3608cce9.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/92cf69fa5ec2c3089468cecc8da1268b3608cce9.png 2010-12-10 13:03:35 +0000 differ
471=== added file 'doc/build/html/_images/math/9324affab9ba9d5021117be41d8b14381c5a5448.png'
472Binary files doc/build/html/_images/math/9324affab9ba9d5021117be41d8b14381c5a5448.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9324affab9ba9d5021117be41d8b14381c5a5448.png 2010-12-10 13:03:35 +0000 differ
473=== added file 'doc/build/html/_images/math/937da576935afea26df6a1d4f8aeb1f2fca33ff8.png'
474Binary files doc/build/html/_images/math/937da576935afea26df6a1d4f8aeb1f2fca33ff8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/937da576935afea26df6a1d4f8aeb1f2fca33ff8.png 2010-12-10 13:03:35 +0000 differ
475=== added file 'doc/build/html/_images/math/95694f9b1e540b7079bdfc5f79c1f6b8fb13a9eb.png'
476Binary files doc/build/html/_images/math/95694f9b1e540b7079bdfc5f79c1f6b8fb13a9eb.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/95694f9b1e540b7079bdfc5f79c1f6b8fb13a9eb.png 2010-12-10 13:03:35 +0000 differ
477=== added file 'doc/build/html/_images/math/96ab646de7704969b91c76a214126b45f2b07b25.png'
478Binary files doc/build/html/_images/math/96ab646de7704969b91c76a214126b45f2b07b25.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/96ab646de7704969b91c76a214126b45f2b07b25.png 2010-12-10 13:03:35 +0000 differ
479=== added file 'doc/build/html/_images/math/975932e25b8d20b8ef19bccfe15bfc80e9960ca2.png'
480Binary files doc/build/html/_images/math/975932e25b8d20b8ef19bccfe15bfc80e9960ca2.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/975932e25b8d20b8ef19bccfe15bfc80e9960ca2.png 2010-12-10 13:03:35 +0000 differ
481=== added file 'doc/build/html/_images/math/97ab6e8462bb9147903a958bbb60b9100de6591e.png'
482Binary files doc/build/html/_images/math/97ab6e8462bb9147903a958bbb60b9100de6591e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/97ab6e8462bb9147903a958bbb60b9100de6591e.png 2010-12-10 13:03:35 +0000 differ
483=== added file 'doc/build/html/_images/math/9866e3a998d628ba0941eb4fea0666ac391d149a.png'
484Binary files doc/build/html/_images/math/9866e3a998d628ba0941eb4fea0666ac391d149a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9866e3a998d628ba0941eb4fea0666ac391d149a.png 2010-12-10 13:03:35 +0000 differ
485=== added file 'doc/build/html/_images/math/98a42473d3645f925ce069e48a478746fb82e9b6.png'
486Binary files doc/build/html/_images/math/98a42473d3645f925ce069e48a478746fb82e9b6.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/98a42473d3645f925ce069e48a478746fb82e9b6.png 2010-12-10 13:03:35 +0000 differ
487=== added file 'doc/build/html/_images/math/9a52c242e18c58867c799409c61df65280145c29.png'
488Binary files doc/build/html/_images/math/9a52c242e18c58867c799409c61df65280145c29.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9a52c242e18c58867c799409c61df65280145c29.png 2010-12-10 13:03:35 +0000 differ
489=== added file 'doc/build/html/_images/math/9ad99798ec4c38e165cf517cb9e02b1c9e824103.png'
490Binary files doc/build/html/_images/math/9ad99798ec4c38e165cf517cb9e02b1c9e824103.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9ad99798ec4c38e165cf517cb9e02b1c9e824103.png 2010-12-10 13:03:35 +0000 differ
491=== added file 'doc/build/html/_images/math/9b25f8e64b484493fda944d25cad453423041fe6.png'
492Binary files doc/build/html/_images/math/9b25f8e64b484493fda944d25cad453423041fe6.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9b25f8e64b484493fda944d25cad453423041fe6.png 2010-12-10 13:03:35 +0000 differ
493=== added file 'doc/build/html/_images/math/9b323d68ac75880c8435988bb12eebc0882ff5bd.png'
494Binary files doc/build/html/_images/math/9b323d68ac75880c8435988bb12eebc0882ff5bd.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9b323d68ac75880c8435988bb12eebc0882ff5bd.png 2010-12-10 13:03:35 +0000 differ
495=== added file 'doc/build/html/_images/math/9bb5bea50ae28bd840c3d2b526f4104435879613.png'
496Binary files doc/build/html/_images/math/9bb5bea50ae28bd840c3d2b526f4104435879613.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9bb5bea50ae28bd840c3d2b526f4104435879613.png 2010-12-10 13:03:35 +0000 differ
497=== added file 'doc/build/html/_images/math/9cb4d73f6ab0d3b8d69adb041e6659d7408e2b9c.png'
498Binary files doc/build/html/_images/math/9cb4d73f6ab0d3b8d69adb041e6659d7408e2b9c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9cb4d73f6ab0d3b8d69adb041e6659d7408e2b9c.png 2010-12-10 13:03:35 +0000 differ
499=== added file 'doc/build/html/_images/math/9ea31e5c5613f025b5be8aca425d318168491d89.png'
500Binary files doc/build/html/_images/math/9ea31e5c5613f025b5be8aca425d318168491d89.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9ea31e5c5613f025b5be8aca425d318168491d89.png 2010-12-10 13:03:35 +0000 differ
501=== added file 'doc/build/html/_images/math/9ee4b825a2e36ae093ed7be5e4851ef453b34914.png'
502Binary files doc/build/html/_images/math/9ee4b825a2e36ae093ed7be5e4851ef453b34914.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9ee4b825a2e36ae093ed7be5e4851ef453b34914.png 2010-12-10 13:03:35 +0000 differ
503=== added file 'doc/build/html/_images/math/9f1e8e06082f1b284cb27efb72d8ba01c8100741.png'
504Binary files doc/build/html/_images/math/9f1e8e06082f1b284cb27efb72d8ba01c8100741.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9f1e8e06082f1b284cb27efb72d8ba01c8100741.png 2010-12-10 13:03:35 +0000 differ
505=== added file 'doc/build/html/_images/math/9ffb448918db29f2a72f8f87f421b3b3cad18f95.png'
506Binary files doc/build/html/_images/math/9ffb448918db29f2a72f8f87f421b3b3cad18f95.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/9ffb448918db29f2a72f8f87f421b3b3cad18f95.png 2010-12-10 13:03:35 +0000 differ
507=== added file 'doc/build/html/_images/math/a05da4f69517c5d741d690224fcc07e0b6e93f2a.png'
508Binary files doc/build/html/_images/math/a05da4f69517c5d741d690224fcc07e0b6e93f2a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a05da4f69517c5d741d690224fcc07e0b6e93f2a.png 2010-12-10 13:03:35 +0000 differ
509=== added file 'doc/build/html/_images/math/a0bfc2010a37ca5ee8d8553f74881b8e12ea4bfd.png'
510Binary files doc/build/html/_images/math/a0bfc2010a37ca5ee8d8553f74881b8e12ea4bfd.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a0bfc2010a37ca5ee8d8553f74881b8e12ea4bfd.png 2010-12-10 13:03:35 +0000 differ
511=== added file 'doc/build/html/_images/math/a27183e0007f4567dab53885ee2d927f4d50e99b.png'
512Binary files doc/build/html/_images/math/a27183e0007f4567dab53885ee2d927f4d50e99b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a27183e0007f4567dab53885ee2d927f4d50e99b.png 2010-12-10 13:03:35 +0000 differ
513=== added file 'doc/build/html/_images/math/a2cd54430a2ef28aec0877c9ad824d0f93ad5d58.png'
514Binary files doc/build/html/_images/math/a2cd54430a2ef28aec0877c9ad824d0f93ad5d58.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a2cd54430a2ef28aec0877c9ad824d0f93ad5d58.png 2010-12-10 13:03:35 +0000 differ
515=== added file 'doc/build/html/_images/math/a34d96670035ec4b9d538485aca155388900d586.png'
516Binary files doc/build/html/_images/math/a34d96670035ec4b9d538485aca155388900d586.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a34d96670035ec4b9d538485aca155388900d586.png 2010-12-10 13:03:35 +0000 differ
517=== added file 'doc/build/html/_images/math/a3a9b17c7c783e68e7a657928132ecc3905c38ad.png'
518Binary files doc/build/html/_images/math/a3a9b17c7c783e68e7a657928132ecc3905c38ad.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a3a9b17c7c783e68e7a657928132ecc3905c38ad.png 2010-12-10 13:03:35 +0000 differ
519=== added file 'doc/build/html/_images/math/a3d9c4ee3a89fe7be25c8aa046b3b9f787213fcb.png'
520Binary files doc/build/html/_images/math/a3d9c4ee3a89fe7be25c8aa046b3b9f787213fcb.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a3d9c4ee3a89fe7be25c8aa046b3b9f787213fcb.png 2010-12-10 13:03:35 +0000 differ
521=== added file 'doc/build/html/_images/math/a58cff71c9142b4afabdf2463db8f859f51fbfb9.png'
522Binary files doc/build/html/_images/math/a58cff71c9142b4afabdf2463db8f859f51fbfb9.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a58cff71c9142b4afabdf2463db8f859f51fbfb9.png 2010-12-10 13:03:35 +0000 differ
523=== added file 'doc/build/html/_images/math/a5bae4d3ef0ce383b5baf135e82b596b52067dcf.png'
524Binary files doc/build/html/_images/math/a5bae4d3ef0ce383b5baf135e82b596b52067dcf.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a5bae4d3ef0ce383b5baf135e82b596b52067dcf.png 2010-12-10 13:03:35 +0000 differ
525=== added file 'doc/build/html/_images/math/a6277fabd6505c22d4f7ba27b0ab165c49656e11.png'
526Binary files doc/build/html/_images/math/a6277fabd6505c22d4f7ba27b0ab165c49656e11.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a6277fabd6505c22d4f7ba27b0ab165c49656e11.png 2010-12-10 13:03:35 +0000 differ
527=== added file 'doc/build/html/_images/math/a651686b04a35a123ebb96a288e71d45a4bb6069.png'
528Binary files doc/build/html/_images/math/a651686b04a35a123ebb96a288e71d45a4bb6069.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a651686b04a35a123ebb96a288e71d45a4bb6069.png 2010-12-10 13:03:35 +0000 differ
529=== added file 'doc/build/html/_images/math/a679fbfb2de3fd861e61d3bbb611ebd10be953ab.png'
530Binary files doc/build/html/_images/math/a679fbfb2de3fd861e61d3bbb611ebd10be953ab.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a679fbfb2de3fd861e61d3bbb611ebd10be953ab.png 2010-12-10 13:03:35 +0000 differ
531=== added file 'doc/build/html/_images/math/a78f26c0461f724d749e656e8ee0ce1b2d636c23.png'
532Binary files doc/build/html/_images/math/a78f26c0461f724d749e656e8ee0ce1b2d636c23.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a78f26c0461f724d749e656e8ee0ce1b2d636c23.png 2010-12-10 13:03:35 +0000 differ
533=== added file 'doc/build/html/_images/math/a8d0548e81d41514430788f0faf3d247c82a6b64.png'
534Binary files doc/build/html/_images/math/a8d0548e81d41514430788f0faf3d247c82a6b64.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/a8d0548e81d41514430788f0faf3d247c82a6b64.png 2010-12-10 13:03:35 +0000 differ
535=== added file 'doc/build/html/_images/math/ab766ee4f0d9f9b32ed014db54b6c1fd3cd56a0d.png'
536Binary files doc/build/html/_images/math/ab766ee4f0d9f9b32ed014db54b6c1fd3cd56a0d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ab766ee4f0d9f9b32ed014db54b6c1fd3cd56a0d.png 2010-12-10 13:03:35 +0000 differ
537=== added file 'doc/build/html/_images/math/acc99d5af3750cc322eebeacbfbad85f72572f05.png'
538Binary files doc/build/html/_images/math/acc99d5af3750cc322eebeacbfbad85f72572f05.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/acc99d5af3750cc322eebeacbfbad85f72572f05.png 2010-12-10 13:03:35 +0000 differ
539=== added file 'doc/build/html/_images/math/acfa751f702680bc6b604771354d26e601da497b.png'
540Binary files doc/build/html/_images/math/acfa751f702680bc6b604771354d26e601da497b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/acfa751f702680bc6b604771354d26e601da497b.png 2010-12-10 13:03:35 +0000 differ
541=== added file 'doc/build/html/_images/math/ad28c83c99a8fd0dd2e2e594c9d02ee532765a0a.png'
542Binary files doc/build/html/_images/math/ad28c83c99a8fd0dd2e2e594c9d02ee532765a0a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ad28c83c99a8fd0dd2e2e594c9d02ee532765a0a.png 2010-12-10 13:03:35 +0000 differ
543=== added file 'doc/build/html/_images/math/ae2badac9a46b59f50871f2bb8d27dbc0e781580.png'
544Binary files doc/build/html/_images/math/ae2badac9a46b59f50871f2bb8d27dbc0e781580.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ae2badac9a46b59f50871f2bb8d27dbc0e781580.png 2010-12-10 13:03:35 +0000 differ
545=== added file 'doc/build/html/_images/math/af45084f926e60a499b6acab3a790e2e4e0735d9.png'
546Binary files doc/build/html/_images/math/af45084f926e60a499b6acab3a790e2e4e0735d9.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/af45084f926e60a499b6acab3a790e2e4e0735d9.png 2010-12-10 13:03:35 +0000 differ
547=== added file 'doc/build/html/_images/math/b000af80200fdf7effeeb2515d90d10fddd5e710.png'
548Binary files doc/build/html/_images/math/b000af80200fdf7effeeb2515d90d10fddd5e710.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b000af80200fdf7effeeb2515d90d10fddd5e710.png 2010-12-10 13:03:35 +0000 differ
549=== added file 'doc/build/html/_images/math/b0305128e647c1cf75c0df0b958a690962afc23c.png'
550Binary files doc/build/html/_images/math/b0305128e647c1cf75c0df0b958a690962afc23c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b0305128e647c1cf75c0df0b958a690962afc23c.png 2010-12-10 13:03:35 +0000 differ
551=== added file 'doc/build/html/_images/math/b13f21416d84e13708696f34dea81026cda583c9.png'
552Binary files doc/build/html/_images/math/b13f21416d84e13708696f34dea81026cda583c9.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b13f21416d84e13708696f34dea81026cda583c9.png 2010-12-10 13:03:35 +0000 differ
553=== added file 'doc/build/html/_images/math/b173068840ff40ccd496bf571b4840f7e47e8a25.png'
554Binary files doc/build/html/_images/math/b173068840ff40ccd496bf571b4840f7e47e8a25.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b173068840ff40ccd496bf571b4840f7e47e8a25.png 2010-12-10 13:03:35 +0000 differ
555=== added file 'doc/build/html/_images/math/b1902d279ba37d60bdce4e0e987b7cd19d48974e.png'
556Binary files doc/build/html/_images/math/b1902d279ba37d60bdce4e0e987b7cd19d48974e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b1902d279ba37d60bdce4e0e987b7cd19d48974e.png 2010-12-10 13:03:35 +0000 differ
557=== added file 'doc/build/html/_images/math/b29eaf334ae25f9ba06c86ff5e692df7cfaf3c6e.png'
558Binary files doc/build/html/_images/math/b29eaf334ae25f9ba06c86ff5e692df7cfaf3c6e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b29eaf334ae25f9ba06c86ff5e692df7cfaf3c6e.png 2010-12-10 13:03:35 +0000 differ
559=== added file 'doc/build/html/_images/math/b344e21309e4a79bbcf70a30b5cef0ed18d2e8cf.png'
560Binary files doc/build/html/_images/math/b344e21309e4a79bbcf70a30b5cef0ed18d2e8cf.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b344e21309e4a79bbcf70a30b5cef0ed18d2e8cf.png 2010-12-10 13:03:35 +0000 differ
561=== added file 'doc/build/html/_images/math/b57720e648d18f104bebca376094c72e087519ca.png'
562Binary files doc/build/html/_images/math/b57720e648d18f104bebca376094c72e087519ca.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b57720e648d18f104bebca376094c72e087519ca.png 2010-12-10 13:03:35 +0000 differ
563=== added file 'doc/build/html/_images/math/b623225415e8c63aaa50b34a67298cae4e2df999.png'
564Binary files doc/build/html/_images/math/b623225415e8c63aaa50b34a67298cae4e2df999.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b623225415e8c63aaa50b34a67298cae4e2df999.png 2010-12-10 13:03:35 +0000 differ
565=== added file 'doc/build/html/_images/math/b64d772fd47d88c4e63bef5ba1cb73e8627e9088.png'
566Binary files doc/build/html/_images/math/b64d772fd47d88c4e63bef5ba1cb73e8627e9088.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b64d772fd47d88c4e63bef5ba1cb73e8627e9088.png 2010-12-10 13:03:35 +0000 differ
567=== added file 'doc/build/html/_images/math/b6a3fce6771deb11df3b1a91787c94bb4cc59b6b.png'
568Binary files doc/build/html/_images/math/b6a3fce6771deb11df3b1a91787c94bb4cc59b6b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b6a3fce6771deb11df3b1a91787c94bb4cc59b6b.png 2010-12-10 13:03:35 +0000 differ
569=== added file 'doc/build/html/_images/math/b6e63abdbe3938d90b05bd699a4ea54ad9e77421.png'
570Binary files doc/build/html/_images/math/b6e63abdbe3938d90b05bd699a4ea54ad9e77421.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b6e63abdbe3938d90b05bd699a4ea54ad9e77421.png 2010-12-10 13:03:35 +0000 differ
571=== added file 'doc/build/html/_images/math/b6fd7d9a930191ad4f86bb2cd6d0322bd87efd77.png'
572Binary files doc/build/html/_images/math/b6fd7d9a930191ad4f86bb2cd6d0322bd87efd77.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b6fd7d9a930191ad4f86bb2cd6d0322bd87efd77.png 2010-12-10 13:03:35 +0000 differ
573=== added file 'doc/build/html/_images/math/b6fe8380f75a1a57d2ab93a8089d1574c4733a69.png'
574Binary files doc/build/html/_images/math/b6fe8380f75a1a57d2ab93a8089d1574c4733a69.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b6fe8380f75a1a57d2ab93a8089d1574c4733a69.png 2010-12-10 13:03:35 +0000 differ
575=== added file 'doc/build/html/_images/math/b7416ae850a4be262250cf738c69746b8c161976.png'
576Binary files doc/build/html/_images/math/b7416ae850a4be262250cf738c69746b8c161976.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b7416ae850a4be262250cf738c69746b8c161976.png 2010-12-10 13:03:35 +0000 differ
577=== added file 'doc/build/html/_images/math/b8b7119bfcdc51fa8538564d5633d180c2271df6.png'
578Binary files doc/build/html/_images/math/b8b7119bfcdc51fa8538564d5633d180c2271df6.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b8b7119bfcdc51fa8538564d5633d180c2271df6.png 2010-12-10 13:03:35 +0000 differ
579=== added file 'doc/build/html/_images/math/b8ea7ee8a282949fd853a01537ec7a2b55e56f75.png'
580Binary files doc/build/html/_images/math/b8ea7ee8a282949fd853a01537ec7a2b55e56f75.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b8ea7ee8a282949fd853a01537ec7a2b55e56f75.png 2010-12-10 13:03:35 +0000 differ
581=== added file 'doc/build/html/_images/math/b9020f843a892dbbade091be52c42984dce256fe.png'
582Binary files doc/build/html/_images/math/b9020f843a892dbbade091be52c42984dce256fe.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b9020f843a892dbbade091be52c42984dce256fe.png 2010-12-10 13:03:35 +0000 differ
583=== added file 'doc/build/html/_images/math/b968737245c900af760202033b17f2d159658f93.png'
584Binary files doc/build/html/_images/math/b968737245c900af760202033b17f2d159658f93.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/b968737245c900af760202033b17f2d159658f93.png 2010-12-10 13:03:35 +0000 differ
585=== added file 'doc/build/html/_images/math/ba43bc2b06256b6e07fab088703404fadb26d608.png'
586Binary files doc/build/html/_images/math/ba43bc2b06256b6e07fab088703404fadb26d608.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ba43bc2b06256b6e07fab088703404fadb26d608.png 2010-12-10 13:03:35 +0000 differ
587=== added file 'doc/build/html/_images/math/bab9abe98679312d2a3308c76188cf2cbc492f68.png'
588Binary files doc/build/html/_images/math/bab9abe98679312d2a3308c76188cf2cbc492f68.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/bab9abe98679312d2a3308c76188cf2cbc492f68.png 2010-12-10 13:03:35 +0000 differ
589=== added file 'doc/build/html/_images/math/bb097746083c5ae7ae0044d78c10841dde34c10d.png'
590Binary files doc/build/html/_images/math/bb097746083c5ae7ae0044d78c10841dde34c10d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/bb097746083c5ae7ae0044d78c10841dde34c10d.png 2010-12-10 13:03:35 +0000 differ
591=== added file 'doc/build/html/_images/math/bb2c93730dbb48558bb3c4738c956c4e8f816437.png'
592Binary files doc/build/html/_images/math/bb2c93730dbb48558bb3c4738c956c4e8f816437.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/bb2c93730dbb48558bb3c4738c956c4e8f816437.png 2010-12-10 13:03:35 +0000 differ
593=== added file 'doc/build/html/_images/math/bb61f81a64370408f0551fc4353d23e18ef98d4c.png'
594Binary files doc/build/html/_images/math/bb61f81a64370408f0551fc4353d23e18ef98d4c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/bb61f81a64370408f0551fc4353d23e18ef98d4c.png 2010-12-10 13:03:35 +0000 differ
595=== added file 'doc/build/html/_images/math/be84cdc9b0fad064ed72e90e2315398f701d03e3.png'
596Binary files doc/build/html/_images/math/be84cdc9b0fad064ed72e90e2315398f701d03e3.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/be84cdc9b0fad064ed72e90e2315398f701d03e3.png 2010-12-10 13:03:35 +0000 differ
597=== added file 'doc/build/html/_images/math/bee8975908ea146abf5a92e90f4cc1955c9f477b.png'
598Binary files doc/build/html/_images/math/bee8975908ea146abf5a92e90f4cc1955c9f477b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/bee8975908ea146abf5a92e90f4cc1955c9f477b.png 2010-12-10 13:03:35 +0000 differ
599=== added file 'doc/build/html/_images/math/bf7782808286990f4316d2e900ae9022e0fb7689.png'
600Binary files doc/build/html/_images/math/bf7782808286990f4316d2e900ae9022e0fb7689.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/bf7782808286990f4316d2e900ae9022e0fb7689.png 2010-12-10 13:03:35 +0000 differ
601=== added file 'doc/build/html/_images/math/c002f537f1dbe8a31902882fd1084c70c7eb9994.png'
602Binary files doc/build/html/_images/math/c002f537f1dbe8a31902882fd1084c70c7eb9994.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c002f537f1dbe8a31902882fd1084c70c7eb9994.png 2010-12-10 13:03:35 +0000 differ
603=== added file 'doc/build/html/_images/math/c123375fddc2a35885eb9c2b060ad0c41a37e224.png'
604Binary files doc/build/html/_images/math/c123375fddc2a35885eb9c2b060ad0c41a37e224.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c123375fddc2a35885eb9c2b060ad0c41a37e224.png 2010-12-10 13:03:35 +0000 differ
605=== added file 'doc/build/html/_images/math/c1de36bc9290bb7cac164a695c6c21af9f1c808b.png'
606Binary files doc/build/html/_images/math/c1de36bc9290bb7cac164a695c6c21af9f1c808b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c1de36bc9290bb7cac164a695c6c21af9f1c808b.png 2010-12-10 13:03:35 +0000 differ
607=== added file 'doc/build/html/_images/math/c296af07f14575e62741a278a3550ce5ecb4b11e.png'
608Binary files doc/build/html/_images/math/c296af07f14575e62741a278a3550ce5ecb4b11e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c296af07f14575e62741a278a3550ce5ecb4b11e.png 2010-12-10 13:03:35 +0000 differ
609=== added file 'doc/build/html/_images/math/c2ececdc0bb3ce97a20ed0b4fb7c3b1dd8383e9b.png'
610Binary files doc/build/html/_images/math/c2ececdc0bb3ce97a20ed0b4fb7c3b1dd8383e9b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c2ececdc0bb3ce97a20ed0b4fb7c3b1dd8383e9b.png 2010-12-10 13:03:35 +0000 differ
611=== added file 'doc/build/html/_images/math/c3355896da590fc491a10150a50416687626d7cc.png'
612Binary files doc/build/html/_images/math/c3355896da590fc491a10150a50416687626d7cc.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c3355896da590fc491a10150a50416687626d7cc.png 2010-12-10 13:03:35 +0000 differ
613=== added file 'doc/build/html/_images/math/c3416ee6a95674c8610bb9db728b39fa530d8b5b.png'
614Binary files doc/build/html/_images/math/c3416ee6a95674c8610bb9db728b39fa530d8b5b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c3416ee6a95674c8610bb9db728b39fa530d8b5b.png 2010-12-10 13:03:35 +0000 differ
615=== added file 'doc/build/html/_images/math/c3f5a2b8b364fd6006f57a0b03d27d57344fad31.png'
616Binary files doc/build/html/_images/math/c3f5a2b8b364fd6006f57a0b03d27d57344fad31.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c3f5a2b8b364fd6006f57a0b03d27d57344fad31.png 2010-12-10 13:03:35 +0000 differ
617=== added file 'doc/build/html/_images/math/c48b6a571ae86596d7e87fd5b02365026c01d117.png'
618Binary files doc/build/html/_images/math/c48b6a571ae86596d7e87fd5b02365026c01d117.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c48b6a571ae86596d7e87fd5b02365026c01d117.png 2010-12-10 13:03:35 +0000 differ
619=== added file 'doc/build/html/_images/math/c48cfb5af92e06a6a0527d035f9d5e76400dfb79.png'
620Binary files doc/build/html/_images/math/c48cfb5af92e06a6a0527d035f9d5e76400dfb79.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c48cfb5af92e06a6a0527d035f9d5e76400dfb79.png 2010-12-10 13:03:35 +0000 differ
621=== added file 'doc/build/html/_images/math/c620bdffc558c7c84614e360601c181863f7860c.png'
622Binary files doc/build/html/_images/math/c620bdffc558c7c84614e360601c181863f7860c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c620bdffc558c7c84614e360601c181863f7860c.png 2010-12-10 13:03:35 +0000 differ
623=== added file 'doc/build/html/_images/math/c69fb9977daf1ac7d84818c99c45e2afaf8dce8d.png'
624Binary files doc/build/html/_images/math/c69fb9977daf1ac7d84818c99c45e2afaf8dce8d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c69fb9977daf1ac7d84818c99c45e2afaf8dce8d.png 2010-12-10 13:03:35 +0000 differ
625=== added file 'doc/build/html/_images/math/c782f1372833e05dd58ec611408b936a86c85c7d.png'
626Binary files doc/build/html/_images/math/c782f1372833e05dd58ec611408b936a86c85c7d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c782f1372833e05dd58ec611408b936a86c85c7d.png 2010-12-10 13:03:35 +0000 differ
627=== added file 'doc/build/html/_images/math/c917b15b2cdc303898562683b1ac6a34297c70df.png'
628Binary files doc/build/html/_images/math/c917b15b2cdc303898562683b1ac6a34297c70df.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/c917b15b2cdc303898562683b1ac6a34297c70df.png 2010-12-10 13:03:35 +0000 differ
629=== added file 'doc/build/html/_images/math/cad47014eeee6c0af4656757866126b36f1b9c0f.png'
630Binary files doc/build/html/_images/math/cad47014eeee6c0af4656757866126b36f1b9c0f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/cad47014eeee6c0af4656757866126b36f1b9c0f.png 2010-12-10 13:03:35 +0000 differ
631=== added file 'doc/build/html/_images/math/cc1b3736bb03a80e936407cea61fe827faf9490a.png'
632Binary files doc/build/html/_images/math/cc1b3736bb03a80e936407cea61fe827faf9490a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/cc1b3736bb03a80e936407cea61fe827faf9490a.png 2010-12-10 13:03:35 +0000 differ
633=== added file 'doc/build/html/_images/math/cd6b15390ad3c5255da817fd7cc25dfa30d6c520.png'
634Binary files doc/build/html/_images/math/cd6b15390ad3c5255da817fd7cc25dfa30d6c520.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/cd6b15390ad3c5255da817fd7cc25dfa30d6c520.png 2010-12-10 13:03:35 +0000 differ
635=== added file 'doc/build/html/_images/math/cdd797a6ddbbc6d531d242e8477e3d03ef039677.png'
636Binary files doc/build/html/_images/math/cdd797a6ddbbc6d531d242e8477e3d03ef039677.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/cdd797a6ddbbc6d531d242e8477e3d03ef039677.png 2010-12-10 13:03:35 +0000 differ
637=== added file 'doc/build/html/_images/math/cdf1094b2286241abd5200153f1601fb5307ff7c.png'
638Binary files doc/build/html/_images/math/cdf1094b2286241abd5200153f1601fb5307ff7c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/cdf1094b2286241abd5200153f1601fb5307ff7c.png 2010-12-10 13:03:35 +0000 differ
639=== added file 'doc/build/html/_images/math/cdfb5ada1e2b5cce8ec7719396ad8648b569b415.png'
640Binary files doc/build/html/_images/math/cdfb5ada1e2b5cce8ec7719396ad8648b569b415.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/cdfb5ada1e2b5cce8ec7719396ad8648b569b415.png 2010-12-10 13:03:35 +0000 differ
641=== added file 'doc/build/html/_images/math/ce58e4af225c93d08606c26554caaa5ae32edeba.png'
642Binary files doc/build/html/_images/math/ce58e4af225c93d08606c26554caaa5ae32edeba.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ce58e4af225c93d08606c26554caaa5ae32edeba.png 2010-12-10 13:03:35 +0000 differ
643=== added file 'doc/build/html/_images/math/cfe6974cf103f98bc985a9c34598a50b100a6c6b.png'
644Binary files doc/build/html/_images/math/cfe6974cf103f98bc985a9c34598a50b100a6c6b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/cfe6974cf103f98bc985a9c34598a50b100a6c6b.png 2010-12-10 13:03:35 +0000 differ
645=== added file 'doc/build/html/_images/math/d006b62a4fac9204d655641e7dad8d151f9035bc.png'
646Binary files doc/build/html/_images/math/d006b62a4fac9204d655641e7dad8d151f9035bc.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d006b62a4fac9204d655641e7dad8d151f9035bc.png 2010-12-10 13:03:35 +0000 differ
647=== added file 'doc/build/html/_images/math/d0dac11eda62458e1a814cf846ef2425e83d3362.png'
648Binary files doc/build/html/_images/math/d0dac11eda62458e1a814cf846ef2425e83d3362.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d0dac11eda62458e1a814cf846ef2425e83d3362.png 2010-12-10 13:03:35 +0000 differ
649=== added file 'doc/build/html/_images/math/d115e96624cc837dba5b4dda34873b8da01f8061.png'
650Binary files doc/build/html/_images/math/d115e96624cc837dba5b4dda34873b8da01f8061.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d115e96624cc837dba5b4dda34873b8da01f8061.png 2010-12-10 13:03:35 +0000 differ
651=== added file 'doc/build/html/_images/math/d155ea915484cbb2afb045d5d7588a9cf5270a1e.png'
652Binary files doc/build/html/_images/math/d155ea915484cbb2afb045d5d7588a9cf5270a1e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d155ea915484cbb2afb045d5d7588a9cf5270a1e.png 2010-12-10 13:03:35 +0000 differ
653=== added file 'doc/build/html/_images/math/d2266db6938a671063ce99deff14d437b0bbefbe.png'
654Binary files doc/build/html/_images/math/d2266db6938a671063ce99deff14d437b0bbefbe.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d2266db6938a671063ce99deff14d437b0bbefbe.png 2010-12-10 13:03:35 +0000 differ
655=== added file 'doc/build/html/_images/math/d22f3a5882fad95b5a9af193c57e3db91989d676.png'
656Binary files doc/build/html/_images/math/d22f3a5882fad95b5a9af193c57e3db91989d676.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d22f3a5882fad95b5a9af193c57e3db91989d676.png 2010-12-10 13:03:35 +0000 differ
657=== added file 'doc/build/html/_images/math/d3d1038f9001a56757279c19ca3ebe865caebf66.png'
658Binary files doc/build/html/_images/math/d3d1038f9001a56757279c19ca3ebe865caebf66.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d3d1038f9001a56757279c19ca3ebe865caebf66.png 2010-12-10 13:03:35 +0000 differ
659=== added file 'doc/build/html/_images/math/d496b7740ae0ccd09e484413ce837d9000be463e.png'
660Binary files doc/build/html/_images/math/d496b7740ae0ccd09e484413ce837d9000be463e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d496b7740ae0ccd09e484413ce837d9000be463e.png 2010-12-10 13:03:35 +0000 differ
661=== added file 'doc/build/html/_images/math/d59d13c65104816ce07985e05212a84e30699569.png'
662Binary files doc/build/html/_images/math/d59d13c65104816ce07985e05212a84e30699569.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d59d13c65104816ce07985e05212a84e30699569.png 2010-12-10 13:03:35 +0000 differ
663=== added file 'doc/build/html/_images/math/d5a265356676b2bb4fbe1c50e2007bfd318074d8.png'
664Binary files doc/build/html/_images/math/d5a265356676b2bb4fbe1c50e2007bfd318074d8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d5a265356676b2bb4fbe1c50e2007bfd318074d8.png 2010-12-10 13:03:35 +0000 differ
665=== added file 'doc/build/html/_images/math/d61de824765ec1e71fab547965361cde159d3af8.png'
666Binary files doc/build/html/_images/math/d61de824765ec1e71fab547965361cde159d3af8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d61de824765ec1e71fab547965361cde159d3af8.png 2010-12-10 13:03:35 +0000 differ
667=== added file 'doc/build/html/_images/math/d6eaef0ba36a702d7918e25eeb5b544e3f24f035.png'
668Binary files doc/build/html/_images/math/d6eaef0ba36a702d7918e25eeb5b544e3f24f035.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d6eaef0ba36a702d7918e25eeb5b544e3f24f035.png 2010-12-10 13:03:35 +0000 differ
669=== added file 'doc/build/html/_images/math/d7b81fa3c3c6431d8af554fd0172f23de6220ee3.png'
670Binary files doc/build/html/_images/math/d7b81fa3c3c6431d8af554fd0172f23de6220ee3.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d7b81fa3c3c6431d8af554fd0172f23de6220ee3.png 2010-12-10 13:03:35 +0000 differ
671=== added file 'doc/build/html/_images/math/d8ead8d0c08802317dbb19dd6ff1837172f6c3c2.png'
672Binary files doc/build/html/_images/math/d8ead8d0c08802317dbb19dd6ff1837172f6c3c2.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d8ead8d0c08802317dbb19dd6ff1837172f6c3c2.png 2010-12-10 13:03:35 +0000 differ
673=== added file 'doc/build/html/_images/math/d918c0ad087769bca058188217bdc29e865d685c.png'
674Binary files doc/build/html/_images/math/d918c0ad087769bca058188217bdc29e865d685c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/d918c0ad087769bca058188217bdc29e865d685c.png 2010-12-10 13:03:35 +0000 differ
675=== added file 'doc/build/html/_images/math/db90d9f04ceb43c98be02142578c0465284f5c96.png'
676Binary files doc/build/html/_images/math/db90d9f04ceb43c98be02142578c0465284f5c96.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/db90d9f04ceb43c98be02142578c0465284f5c96.png 2010-12-10 13:03:35 +0000 differ
677=== added file 'doc/build/html/_images/math/db9a90b635245756d6e2ad40bb43ae2605558b7f.png'
678Binary files doc/build/html/_images/math/db9a90b635245756d6e2ad40bb43ae2605558b7f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/db9a90b635245756d6e2ad40bb43ae2605558b7f.png 2010-12-10 13:03:35 +0000 differ
679=== added file 'doc/build/html/_images/math/dca5c34345574c3e0c313d436eb2acace8922781.png'
680Binary files doc/build/html/_images/math/dca5c34345574c3e0c313d436eb2acace8922781.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/dca5c34345574c3e0c313d436eb2acace8922781.png 2010-12-10 13:03:35 +0000 differ
681=== added file 'doc/build/html/_images/math/dcb8f8492ae1de33fb0a0d243d10ae040422e12f.png'
682Binary files doc/build/html/_images/math/dcb8f8492ae1de33fb0a0d243d10ae040422e12f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/dcb8f8492ae1de33fb0a0d243d10ae040422e12f.png 2010-12-10 13:03:35 +0000 differ
683=== added file 'doc/build/html/_images/math/debe5ba497f4589b66dfc69f4e18d73c3995d372.png'
684Binary files doc/build/html/_images/math/debe5ba497f4589b66dfc69f4e18d73c3995d372.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/debe5ba497f4589b66dfc69f4e18d73c3995d372.png 2010-12-10 13:03:35 +0000 differ
685=== added file 'doc/build/html/_images/math/df54abf5204a3ea7bb2efce847495127e99154e4.png'
686Binary files doc/build/html/_images/math/df54abf5204a3ea7bb2efce847495127e99154e4.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/df54abf5204a3ea7bb2efce847495127e99154e4.png 2010-12-10 13:03:35 +0000 differ
687=== added file 'doc/build/html/_images/math/dfb064112b6c94470339f6571f69d07afc1c024c.png'
688Binary files doc/build/html/_images/math/dfb064112b6c94470339f6571f69d07afc1c024c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/dfb064112b6c94470339f6571f69d07afc1c024c.png 2010-12-10 13:03:35 +0000 differ
689=== added file 'doc/build/html/_images/math/e01558de5153188b3cc8b1243c0dd845c5a3e06a.png'
690Binary files doc/build/html/_images/math/e01558de5153188b3cc8b1243c0dd845c5a3e06a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e01558de5153188b3cc8b1243c0dd845c5a3e06a.png 2010-12-10 13:03:35 +0000 differ
691=== added file 'doc/build/html/_images/math/e16fb4f37439c49cd32f0cb017826e80af2b5330.png'
692Binary files doc/build/html/_images/math/e16fb4f37439c49cd32f0cb017826e80af2b5330.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e16fb4f37439c49cd32f0cb017826e80af2b5330.png 2010-12-10 13:03:35 +0000 differ
693=== added file 'doc/build/html/_images/math/e227404751bdf9353900cfa8acb3db338ffb45bd.png'
694Binary files doc/build/html/_images/math/e227404751bdf9353900cfa8acb3db338ffb45bd.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e227404751bdf9353900cfa8acb3db338ffb45bd.png 2010-12-10 13:03:35 +0000 differ
695=== added file 'doc/build/html/_images/math/e2bbebb3bd73f1ae5c64098ab0244f739abf7ca4.png'
696Binary files doc/build/html/_images/math/e2bbebb3bd73f1ae5c64098ab0244f739abf7ca4.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e2bbebb3bd73f1ae5c64098ab0244f739abf7ca4.png 2010-12-10 13:03:35 +0000 differ
697=== added file 'doc/build/html/_images/math/e355e8d282fa4ef5357c9a612727d3b43bc0ea82.png'
698Binary files doc/build/html/_images/math/e355e8d282fa4ef5357c9a612727d3b43bc0ea82.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e355e8d282fa4ef5357c9a612727d3b43bc0ea82.png 2010-12-10 13:03:35 +0000 differ
699=== added file 'doc/build/html/_images/math/e38681c006f9c6e0f6b80cc251d31993945d2005.png'
700Binary files doc/build/html/_images/math/e38681c006f9c6e0f6b80cc251d31993945d2005.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e38681c006f9c6e0f6b80cc251d31993945d2005.png 2010-12-10 13:03:35 +0000 differ
701=== added file 'doc/build/html/_images/math/e39b614d32f074ae2f65c950cb3786a70353230d.png'
702Binary files doc/build/html/_images/math/e39b614d32f074ae2f65c950cb3786a70353230d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e39b614d32f074ae2f65c950cb3786a70353230d.png 2010-12-10 13:03:35 +0000 differ
703=== added file 'doc/build/html/_images/math/e3a39e1f9f23b6b48180b47a6941803e150acf02.png'
704Binary files doc/build/html/_images/math/e3a39e1f9f23b6b48180b47a6941803e150acf02.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e3a39e1f9f23b6b48180b47a6941803e150acf02.png 2010-12-10 13:03:35 +0000 differ
705=== added file 'doc/build/html/_images/math/e3bb4eeb347e74e025fd175c22f1f7275af0555e.png'
706Binary files doc/build/html/_images/math/e3bb4eeb347e74e025fd175c22f1f7275af0555e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e3bb4eeb347e74e025fd175c22f1f7275af0555e.png 2010-12-10 13:03:35 +0000 differ
707=== added file 'doc/build/html/_images/math/e505767c729ddb13cbb73d25556a9d0e9068a0e6.png'
708Binary files doc/build/html/_images/math/e505767c729ddb13cbb73d25556a9d0e9068a0e6.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e505767c729ddb13cbb73d25556a9d0e9068a0e6.png 2010-12-10 13:03:35 +0000 differ
709=== added file 'doc/build/html/_images/math/e5dd15b60906f6540af7dbca5853d6a37a7f06b8.png'
710Binary files doc/build/html/_images/math/e5dd15b60906f6540af7dbca5853d6a37a7f06b8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e5dd15b60906f6540af7dbca5853d6a37a7f06b8.png 2010-12-10 13:03:35 +0000 differ
711=== added file 'doc/build/html/_images/math/e626b4609099cd3fc0c2fd48091b8153b57417c9.png'
712Binary files doc/build/html/_images/math/e626b4609099cd3fc0c2fd48091b8153b57417c9.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e626b4609099cd3fc0c2fd48091b8153b57417c9.png 2010-12-10 13:03:35 +0000 differ
713=== added file 'doc/build/html/_images/math/e8444cf908bc5428563fc7afcfae768fc9f96d5f.png'
714Binary files doc/build/html/_images/math/e8444cf908bc5428563fc7afcfae768fc9f96d5f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e8444cf908bc5428563fc7afcfae768fc9f96d5f.png 2010-12-10 13:03:35 +0000 differ
715=== added file 'doc/build/html/_images/math/e8c45072a555e2c11a8eae7d163a733eac11cb24.png'
716Binary files doc/build/html/_images/math/e8c45072a555e2c11a8eae7d163a733eac11cb24.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e8c45072a555e2c11a8eae7d163a733eac11cb24.png 2010-12-10 13:03:35 +0000 differ
717=== added file 'doc/build/html/_images/math/e91b9a70b0279938a93a0ec387ee7359ddb67098.png'
718Binary files doc/build/html/_images/math/e91b9a70b0279938a93a0ec387ee7359ddb67098.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/e91b9a70b0279938a93a0ec387ee7359ddb67098.png 2010-12-10 13:03:35 +0000 differ
719=== added file 'doc/build/html/_images/math/eb1d31d3ef53ada239a7c1ebcfc362b3739e5fb5.png'
720Binary files doc/build/html/_images/math/eb1d31d3ef53ada239a7c1ebcfc362b3739e5fb5.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/eb1d31d3ef53ada239a7c1ebcfc362b3739e5fb5.png 2010-12-10 13:03:35 +0000 differ
721=== added file 'doc/build/html/_images/math/ebb25f78e509bd7d344981884394d69d4ccef94d.png'
722Binary files doc/build/html/_images/math/ebb25f78e509bd7d344981884394d69d4ccef94d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ebb25f78e509bd7d344981884394d69d4ccef94d.png 2010-12-10 13:03:35 +0000 differ
723=== added file 'doc/build/html/_images/math/ec3d0c1e0e6c4dc7823c2bdefd3004179a4338c3.png'
724Binary files doc/build/html/_images/math/ec3d0c1e0e6c4dc7823c2bdefd3004179a4338c3.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ec3d0c1e0e6c4dc7823c2bdefd3004179a4338c3.png 2010-12-10 13:03:35 +0000 differ
725=== added file 'doc/build/html/_images/math/ece9cd1cf6a947d28fd135a387023993c1cff4fc.png'
726Binary files doc/build/html/_images/math/ece9cd1cf6a947d28fd135a387023993c1cff4fc.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ece9cd1cf6a947d28fd135a387023993c1cff4fc.png 2010-12-10 13:03:35 +0000 differ
727=== added file 'doc/build/html/_images/math/ed5845fe00d038db3d1bd263b4a125489e5ec7a7.png'
728Binary files doc/build/html/_images/math/ed5845fe00d038db3d1bd263b4a125489e5ec7a7.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ed5845fe00d038db3d1bd263b4a125489e5ec7a7.png 2010-12-10 13:03:35 +0000 differ
729=== added file 'doc/build/html/_images/math/eebbe23287e11c882a2db71db881db3bb8dc23c4.png'
730Binary files doc/build/html/_images/math/eebbe23287e11c882a2db71db881db3bb8dc23c4.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/eebbe23287e11c882a2db71db881db3bb8dc23c4.png 2010-12-10 13:03:35 +0000 differ
731=== added file 'doc/build/html/_images/math/ef9b02e32cfba0db0f9038a8d077596720f62e91.png'
732Binary files doc/build/html/_images/math/ef9b02e32cfba0db0f9038a8d077596720f62e91.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ef9b02e32cfba0db0f9038a8d077596720f62e91.png 2010-12-10 13:03:35 +0000 differ
733=== added file 'doc/build/html/_images/math/efcae820abe49f870e4cd1607dd26665490f1e01.png'
734Binary files doc/build/html/_images/math/efcae820abe49f870e4cd1607dd26665490f1e01.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/efcae820abe49f870e4cd1607dd26665490f1e01.png 2010-12-10 13:03:35 +0000 differ
735=== added file 'doc/build/html/_images/math/eff43e84f8a3bcf7b6965f0a3248bc4d3a9d0cd4.png'
736Binary files doc/build/html/_images/math/eff43e84f8a3bcf7b6965f0a3248bc4d3a9d0cd4.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/eff43e84f8a3bcf7b6965f0a3248bc4d3a9d0cd4.png 2010-12-10 13:03:35 +0000 differ
737=== added file 'doc/build/html/_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png'
738Binary files doc/build/html/_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png 2010-12-10 13:03:35 +0000 differ
739=== added file 'doc/build/html/_images/math/f0a0436d70647cbcffd03af573a546ebe5048e7d.png'
740Binary files doc/build/html/_images/math/f0a0436d70647cbcffd03af573a546ebe5048e7d.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f0a0436d70647cbcffd03af573a546ebe5048e7d.png 2010-12-10 13:03:35 +0000 differ
741=== added file 'doc/build/html/_images/math/f0cd998505ca0d3bf97f0fcee4eee3e27b643072.png'
742Binary files doc/build/html/_images/math/f0cd998505ca0d3bf97f0fcee4eee3e27b643072.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f0cd998505ca0d3bf97f0fcee4eee3e27b643072.png 2010-12-10 13:03:35 +0000 differ
743=== added file 'doc/build/html/_images/math/f230077e920fbe0645bec97a683f57cd9af7e6d0.png'
744Binary files doc/build/html/_images/math/f230077e920fbe0645bec97a683f57cd9af7e6d0.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f230077e920fbe0645bec97a683f57cd9af7e6d0.png 2010-12-10 13:03:35 +0000 differ
745=== added file 'doc/build/html/_images/math/f316b0ec14c19c1b6879b9d0dda291b1b3eacaf8.png'
746Binary files doc/build/html/_images/math/f316b0ec14c19c1b6879b9d0dda291b1b3eacaf8.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f316b0ec14c19c1b6879b9d0dda291b1b3eacaf8.png 2010-12-10 13:03:35 +0000 differ
747=== added file 'doc/build/html/_images/math/f37bba504894945c07a32f5496d74299a37aa51c.png'
748Binary files doc/build/html/_images/math/f37bba504894945c07a32f5496d74299a37aa51c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f37bba504894945c07a32f5496d74299a37aa51c.png 2010-12-10 13:03:35 +0000 differ
749=== added file 'doc/build/html/_images/math/f3a22d01b8bc69ba4c61c8228fd70aa5579f6f43.png'
750Binary files doc/build/html/_images/math/f3a22d01b8bc69ba4c61c8228fd70aa5579f6f43.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f3a22d01b8bc69ba4c61c8228fd70aa5579f6f43.png 2010-12-10 13:03:35 +0000 differ
751=== added file 'doc/build/html/_images/math/f3f323357467e7e665c0bf7dd0ae17c1a8569e8c.png'
752Binary files doc/build/html/_images/math/f3f323357467e7e665c0bf7dd0ae17c1a8569e8c.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f3f323357467e7e665c0bf7dd0ae17c1a8569e8c.png 2010-12-10 13:03:35 +0000 differ
753=== added file 'doc/build/html/_images/math/f429bacb9935d242fb93509e5b154822ed2d1df7.png'
754Binary files doc/build/html/_images/math/f429bacb9935d242fb93509e5b154822ed2d1df7.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f429bacb9935d242fb93509e5b154822ed2d1df7.png 2010-12-10 13:03:35 +0000 differ
755=== added file 'doc/build/html/_images/math/f4cc3b4324f3f4bb12a7db934c2c5c5acc98fe66.png'
756Binary files doc/build/html/_images/math/f4cc3b4324f3f4bb12a7db934c2c5c5acc98fe66.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f4cc3b4324f3f4bb12a7db934c2c5c5acc98fe66.png 2010-12-10 13:03:35 +0000 differ
757=== added file 'doc/build/html/_images/math/f5047d1e0cbb50ec208923a22cd517c55100fa7b.png'
758Binary files doc/build/html/_images/math/f5047d1e0cbb50ec208923a22cd517c55100fa7b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f5047d1e0cbb50ec208923a22cd517c55100fa7b.png 2010-12-10 13:03:35 +0000 differ
759=== added file 'doc/build/html/_images/math/f5937df8d764f5fe56c90796b10f06456eaea62a.png'
760Binary files doc/build/html/_images/math/f5937df8d764f5fe56c90796b10f06456eaea62a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f5937df8d764f5fe56c90796b10f06456eaea62a.png 2010-12-10 13:03:35 +0000 differ
761=== added file 'doc/build/html/_images/math/f5e4cd18619ee7f651ab49db6de2bb97de14bd98.png'
762Binary files doc/build/html/_images/math/f5e4cd18619ee7f651ab49db6de2bb97de14bd98.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f5e4cd18619ee7f651ab49db6de2bb97de14bd98.png 2010-12-10 13:03:35 +0000 differ
763=== added file 'doc/build/html/_images/math/f83cbd0cda5f2e6fcd9dc17e1cd24ca56210d97b.png'
764Binary files doc/build/html/_images/math/f83cbd0cda5f2e6fcd9dc17e1cd24ca56210d97b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f83cbd0cda5f2e6fcd9dc17e1cd24ca56210d97b.png 2010-12-10 13:03:35 +0000 differ
765=== added file 'doc/build/html/_images/math/f9408643dfec56ef1bdd651b0858bed3b41a899b.png'
766Binary files doc/build/html/_images/math/f9408643dfec56ef1bdd651b0858bed3b41a899b.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/f9408643dfec56ef1bdd651b0858bed3b41a899b.png 2010-12-10 13:03:35 +0000 differ
767=== added file 'doc/build/html/_images/math/fbd258f087f50a0416d11bc990440a6d32ec879a.png'
768Binary files doc/build/html/_images/math/fbd258f087f50a0416d11bc990440a6d32ec879a.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/fbd258f087f50a0416d11bc990440a6d32ec879a.png 2010-12-10 13:03:35 +0000 differ
769=== added file 'doc/build/html/_images/math/fbf12af51e65960c206cf16edb9465c60f479488.png'
770Binary files doc/build/html/_images/math/fbf12af51e65960c206cf16edb9465c60f479488.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/fbf12af51e65960c206cf16edb9465c60f479488.png 2010-12-10 13:03:35 +0000 differ
771=== added file 'doc/build/html/_images/math/fc0ad97dd45bc8aa577476f2505b0b03f95b2d54.png'
772Binary files doc/build/html/_images/math/fc0ad97dd45bc8aa577476f2505b0b03f95b2d54.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/fc0ad97dd45bc8aa577476f2505b0b03f95b2d54.png 2010-12-10 13:03:35 +0000 differ
773=== added file 'doc/build/html/_images/math/fc20ea3a2b3a3d97990a8d2095b1b1252c5fdfa4.png'
774Binary files doc/build/html/_images/math/fc20ea3a2b3a3d97990a8d2095b1b1252c5fdfa4.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/fc20ea3a2b3a3d97990a8d2095b1b1252c5fdfa4.png 2010-12-10 13:03:35 +0000 differ
775=== added file 'doc/build/html/_images/math/fc7c8d2c4d8382a728d705c58741344d7787112f.png'
776Binary files doc/build/html/_images/math/fc7c8d2c4d8382a728d705c58741344d7787112f.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/fc7c8d2c4d8382a728d705c58741344d7787112f.png 2010-12-10 13:03:35 +0000 differ
777=== added file 'doc/build/html/_images/math/fc97ef67268cd4e91bacdf12b8901d7036c9a056.png'
778Binary files doc/build/html/_images/math/fc97ef67268cd4e91bacdf12b8901d7036c9a056.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/fc97ef67268cd4e91bacdf12b8901d7036c9a056.png 2010-12-10 13:03:35 +0000 differ
779=== added file 'doc/build/html/_images/math/fd01517a0c59ac672be7ebe5d531b3f04e7d92b0.png'
780Binary files doc/build/html/_images/math/fd01517a0c59ac672be7ebe5d531b3f04e7d92b0.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/fd01517a0c59ac672be7ebe5d531b3f04e7d92b0.png 2010-12-10 13:03:35 +0000 differ
781=== added file 'doc/build/html/_images/math/ff3e601d603ae2c0fef98fe8b78d53fb099c9ee9.png'
782Binary files doc/build/html/_images/math/ff3e601d603ae2c0fef98fe8b78d53fb099c9ee9.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ff3e601d603ae2c0fef98fe8b78d53fb099c9ee9.png 2010-12-10 13:03:35 +0000 differ
783=== added file 'doc/build/html/_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png'
784Binary files doc/build/html/_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png 2010-12-10 13:03:35 +0000 differ
785=== added file 'doc/build/html/_images/normappr.png'
786Binary files doc/build/html/_images/normappr.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/normappr.png 2010-12-10 13:03:35 +0000 differ
787=== added file 'doc/build/html/_images/portfolio1.png'
788Binary files doc/build/html/_images/portfolio1.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/portfolio1.png 2010-12-10 13:03:35 +0000 differ
789=== added file 'doc/build/html/_images/portfolio2.png'
790Binary files doc/build/html/_images/portfolio2.png 1970-01-01 00:00:00 +0000 and doc/build/html/_images/portfolio2.png 2010-12-10 13:03:35 +0000 differ
791=== added directory 'doc/build/html/_static'
792=== added file 'doc/build/html/_static/basic.css'
793--- doc/build/html/_static/basic.css 1970-01-01 00:00:00 +0000
794+++ doc/build/html/_static/basic.css 2010-12-10 13:03:35 +0000
795@@ -0,0 +1,509 @@
796+/*
797+ * basic.css
798+ * ~~~~~~~~~
799+ *
800+ * Sphinx stylesheet -- basic theme.
801+ *
802+ * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
803+ * :license: BSD, see LICENSE for details.
804+ *
805+ */
806+
807+/* -- main layout ----------------------------------------------------------- */
808+
809+div.clearer {
810+ clear: both;
811+}
812+
813+/* -- relbar ---------------------------------------------------------------- */
814+
815+div.related {
816+ width: 100%;
817+ font-size: 90%;
818+}
819+
820+div.related h3 {
821+ display: none;
822+}
823+
824+div.related ul {
825+ margin: 0;
826+ padding: 0 0 0 10px;
827+ list-style: none;
828+}
829+
830+div.related li {
831+ display: inline;
832+}
833+
834+div.related li.right {
835+ float: right;
836+ margin-right: 5px;
837+}
838+
839+/* -- sidebar --------------------------------------------------------------- */
840+
841+div.sphinxsidebarwrapper {
842+ padding: 10px 5px 0 10px;
843+}
844+
845+div.sphinxsidebar {
846+ float: left;
847+ width: 230px;
848+ margin-left: -100%;
849+ font-size: 90%;
850+}
851+
852+div.sphinxsidebar ul {
853+ list-style: none;
854+}
855+
856+div.sphinxsidebar ul ul,
857+div.sphinxsidebar ul.want-points {
858+ margin-left: 20px;
859+ list-style: square;
860+}
861+
862+div.sphinxsidebar ul ul {
863+ margin-top: 0;
864+ margin-bottom: 0;
865+}
866+
867+div.sphinxsidebar form {
868+ margin-top: 10px;
869+}
870+
871+div.sphinxsidebar input {
872+ border: 1px solid #98dbcc;
873+ font-family: sans-serif;
874+ font-size: 1em;
875+}
876+
877+img {
878+ border: 0;
879+}
880+
881+/* -- search page ----------------------------------------------------------- */
882+
883+ul.search {
884+ margin: 10px 0 0 20px;
885+ padding: 0;
886+}
887+
888+ul.search li {
889+ padding: 5px 0 5px 20px;
890+ background-image: url(file.png);
891+ background-repeat: no-repeat;
892+ background-position: 0 7px;
893+}
894+
895+ul.search li a {
896+ font-weight: bold;
897+}
898+
899+ul.search li div.context {
900+ color: #888;
901+ margin: 2px 0 0 30px;
902+ text-align: left;
903+}
904+
905+ul.keywordmatches li.goodmatch a {
906+ font-weight: bold;
907+}
908+
909+/* -- index page ------------------------------------------------------------ */
910+
911+table.contentstable {
912+ width: 90%;
913+}
914+
915+table.contentstable p.biglink {
916+ line-height: 150%;
917+}
918+
919+a.biglink {
920+ font-size: 1.3em;
921+}
922+
923+span.linkdescr {
924+ font-style: italic;
925+ padding-top: 5px;
926+ font-size: 90%;
927+}
928+
929+/* -- general index --------------------------------------------------------- */
930+
931+table.indextable {
932+ width: 100%;
933+}
934+
935+table.indextable td {
936+ text-align: left;
937+ vertical-align: top;
938+}
939+
940+table.indextable dl, table.indextable dd {
941+ margin-top: 0;
942+ margin-bottom: 0;
943+}
944+
945+table.indextable tr.pcap {
946+ height: 10px;
947+}
948+
949+table.indextable tr.cap {
950+ margin-top: 10px;
951+ background-color: #f2f2f2;
952+}
953+
954+img.toggler {
955+ margin-right: 3px;
956+ margin-top: 3px;
957+ cursor: pointer;
958+}
959+
960+div.modindex-jumpbox {
961+ border-top: 1px solid #ddd;
962+ border-bottom: 1px solid #ddd;
963+ margin: 1em 0 1em 0;
964+ padding: 0.4em;
965+}
966+
967+div.genindex-jumpbox {
968+ border-top: 1px solid #ddd;
969+ border-bottom: 1px solid #ddd;
970+ margin: 1em 0 1em 0;
971+ padding: 0.4em;
972+}
973+
974+/* -- general body styles --------------------------------------------------- */
975+
976+a.headerlink {
977+ visibility: hidden;
978+}
979+
980+h1:hover > a.headerlink,
981+h2:hover > a.headerlink,
982+h3:hover > a.headerlink,
983+h4:hover > a.headerlink,
984+h5:hover > a.headerlink,
985+h6:hover > a.headerlink,
986+dt:hover > a.headerlink {
987+ visibility: visible;
988+}
989+
990+div.body p.caption {
991+ text-align: inherit;
992+}
993+
994+div.body td {
995+ text-align: left;
996+}
997+
998+.field-list ul {
999+ padding-left: 1em;
1000+}
1001+
1002+.first {
1003+ margin-top: 0 !important;
1004+}
1005+
1006+p.rubric {
1007+ margin-top: 30px;
1008+ font-weight: bold;
1009+}
1010+
1011+.align-left {
1012+ text-align: left;
1013+}
1014+
1015+.align-center {
1016+ clear: both;
1017+ text-align: center;
1018+}
1019+
1020+.align-right {
1021+ text-align: right;
1022+}
1023+
1024+/* -- sidebars -------------------------------------------------------------- */
1025+
1026+div.sidebar {
1027+ margin: 0 0 0.5em 1em;
1028+ border: 1px solid #ddb;
1029+ padding: 7px 7px 0 7px;
1030+ background-color: #ffe;
1031+ width: 40%;
1032+ float: right;
1033+}
1034+
1035+p.sidebar-title {
1036+ font-weight: bold;
1037+}
1038+
1039+/* -- topics ---------------------------------------------------------------- */
1040+
1041+div.topic {
1042+ border: 1px solid #ccc;
1043+ padding: 7px 7px 0 7px;
1044+ margin: 10px 0 10px 0;
1045+}
1046+
1047+p.topic-title {
1048+ font-size: 1.1em;
1049+ font-weight: bold;
1050+ margin-top: 10px;
1051+}
1052+
1053+/* -- admonitions ----------------------------------------------------------- */
1054+
1055+div.admonition {
1056+ margin-top: 10px;
1057+ margin-bottom: 10px;
1058+ padding: 7px;
1059+}
1060+
1061+div.admonition dt {
1062+ font-weight: bold;
1063+}
1064+
1065+div.admonition dl {
1066+ margin-bottom: 0;
1067+}
1068+
1069+p.admonition-title {
1070+ margin: 0px 10px 5px 0px;
1071+ font-weight: bold;
1072+}
1073+
1074+div.body p.centered {
1075+ text-align: center;
1076+ margin-top: 25px;
1077+}
1078+
1079+/* -- tables ---------------------------------------------------------------- */
1080+
1081+table.docutils {
1082+ border: 0;
1083+ border-collapse: collapse;
1084+}
1085+
1086+table.docutils td, table.docutils th {
1087+ padding: 1px 8px 1px 5px;
1088+ border-top: 0;
1089+ border-left: 0;
1090+ border-right: 0;
1091+ border-bottom: 1px solid #aaa;
1092+}
1093+
1094+table.field-list td, table.field-list th {
1095+ border: 0 !important;
1096+}
1097+
1098+table.footnote td, table.footnote th {
1099+ border: 0 !important;
1100+}
1101+
1102+th {
1103+ text-align: left;
1104+ padding-right: 5px;
1105+}
1106+
1107+table.citation {
1108+ border-left: solid 1px gray;
1109+ margin-left: 1px;
1110+}
1111+
1112+table.citation td {
1113+ border-bottom: none;
1114+}
1115+
1116+/* -- other body styles ----------------------------------------------------- */
1117+
1118+ol.arabic {
1119+ list-style: decimal;
1120+}
1121+
1122+ol.loweralpha {
1123+ list-style: lower-alpha;
1124+}
1125+
1126+ol.upperalpha {
1127+ list-style: upper-alpha;
1128+}
1129+
1130+ol.lowerroman {
1131+ list-style: lower-roman;
1132+}
1133+
1134+ol.upperroman {
1135+ list-style: upper-roman;
1136+}
1137+
1138+dl {
1139+ margin-bottom: 15px;
1140+}
1141+
1142+dd p {
1143+ margin-top: 0px;
1144+}
1145+
1146+dd ul, dd table {
1147+ margin-bottom: 10px;
1148+}
1149+
1150+dd {
1151+ margin-top: 3px;
1152+ margin-bottom: 10px;
1153+ margin-left: 30px;
1154+}
1155+
1156+dt:target, .highlighted {
1157+ background-color: #fbe54e;
1158+}
1159+
1160+dl.glossary dt {
1161+ font-weight: bold;
1162+ font-size: 1.1em;
1163+}
1164+
1165+.field-list ul {
1166+ margin: 0;
1167+ padding-left: 1em;
1168+}
1169+
1170+.field-list p {
1171+ margin: 0;
1172+}
1173+
1174+.refcount {
1175+ color: #060;
1176+}
1177+
1178+.optional {
1179+ font-size: 1.3em;
1180+}
1181+
1182+.versionmodified {
1183+ font-style: italic;
1184+}
1185+
1186+.system-message {
1187+ background-color: #fda;
1188+ padding: 5px;
1189+ border: 3px solid red;
1190+}
1191+
1192+.footnote:target {
1193+ background-color: #ffa
1194+}
1195+
1196+.line-block {
1197+ display: block;
1198+ margin-top: 1em;
1199+ margin-bottom: 1em;
1200+}
1201+
1202+.line-block .line-block {
1203+ margin-top: 0;
1204+ margin-bottom: 0;
1205+ margin-left: 1.5em;
1206+}
1207+
1208+.guilabel, .menuselection {
1209+ font-family: sans-serif;
1210+}
1211+
1212+.accelerator {
1213+ text-decoration: underline;
1214+}
1215+
1216+.classifier {
1217+ font-style: oblique;
1218+}
1219+
1220+/* -- code displays --------------------------------------------------------- */
1221+
1222+pre {
1223+ overflow: auto;
1224+}
1225+
1226+td.linenos pre {
1227+ padding: 5px 0px;
1228+ border: 0;
1229+ background-color: transparent;
1230+ color: #aaa;
1231+}
1232+
1233+table.highlighttable {
1234+ margin-left: 0.5em;
1235+}
1236+
1237+table.highlighttable td {
1238+ padding: 0 0.5em 0 0.5em;
1239+}
1240+
1241+tt.descname {
1242+ background-color: transparent;
1243+ font-weight: bold;
1244+ font-size: 1.2em;
1245+}
1246+
1247+tt.descclassname {
1248+ background-color: transparent;
1249+}
1250+
1251+tt.xref, a tt {
1252+ background-color: transparent;
1253+ font-weight: bold;
1254+}
1255+
1256+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
1257+ background-color: transparent;
1258+}
1259+
1260+.viewcode-link {
1261+ float: right;
1262+}
1263+
1264+.viewcode-back {
1265+ float: right;
1266+ font-family: sans-serif;
1267+}
1268+
1269+div.viewcode-block:target {
1270+ margin: -1px -10px;
1271+ padding: 0 10px;
1272+}
1273+
1274+/* -- math display ---------------------------------------------------------- */
1275+
1276+img.math {
1277+ vertical-align: middle;
1278+}
1279+
1280+div.body div.math p {
1281+ text-align: center;
1282+}
1283+
1284+span.eqno {
1285+ float: right;
1286+}
1287+
1288+/* -- printout stylesheet --------------------------------------------------- */
1289+
1290+@media print {
1291+ div.document,
1292+ div.documentwrapper,
1293+ div.bodywrapper {
1294+ margin: 0 !important;
1295+ width: 100%;
1296+ }
1297+
1298+ div.sphinxsidebar,
1299+ div.related,
1300+ div.footer,
1301+ #top-link {
1302+ display: none;
1303+ }
1304+}
1305
1306=== added file 'doc/build/html/_static/cvxopt.css'
1307--- doc/build/html/_static/cvxopt.css 1970-01-01 00:00:00 +0000
1308+++ doc/build/html/_static/cvxopt.css 2010-12-10 13:03:35 +0000
1309@@ -0,0 +1,630 @@
1310+/*
1311+ * Alternate Sphinx design
1312+ * Originally created by Armin Ronacher for Werkzeug, adapted by Georg
1313+ * Brandl.
1314+ * Adapted for CVXOPT.
1315+ */
1316+
1317+body {
1318+ font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif;
1319+ font-size: 14px;
1320+ letter-spacing: -0.01em;
1321+ line-height: 150%;
1322+ text-align: center;
1323+ /* background-color: #AFC1C4; */
1324+ /* background-color: #BFD1D4; */
1325+ color: black;
1326+ /* border: 1px solid #aaa; */
1327+ margin: 0px 20px 0px 20px;
1328+ /* min-width: 740px; */
1329+ min-width: 800px; */
1330+}
1331+
1332+a {
1333+/* color: #CA7900; */
1334+ color: black;
1335+ text-decoration: underline;
1336+}
1337+
1338+a:hover {
1339+/* color: #2491CF; */
1340+ text-decoration: underline;
1341+}
1342+
1343+li[class="toctree-l1"] a, div.sphinxsidebar a {
1344+ text-decoration: none !important;
1345+}
1346+li[class="toctree-l1"] a:hover, div.sphinxsidebar a:hover {
1347+ text-decoration: underline !important;
1348+ color: black !important;
1349+}
1350+li[class="toctree-l1"] ul {
1351+ list-style-type: circle;
1352+}
1353+
1354+div.sphinxsidebarwrapper h3 a:hover {
1355+ text-decoration: none !important;
1356+ color: white !important;
1357+}
1358+
1359+pre {
1360+ font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
1361+ font-size: 0.95em;
1362+ letter-spacing: 0.015em;
1363+ padding: 0.5em;
1364+ border: 1px solid #ccc;
1365+ background-color: #f8f8f8;
1366+}
1367+
1368+td.linenos pre {
1369+ padding: 0.5em 0;
1370+ border: 0;
1371+ background-color: transparent;
1372+ color: #aaa;
1373+}
1374+
1375+table.highlighttable {
1376+ margin-left: 0.5em;
1377+}
1378+
1379+table.highlighttable td {
1380+ padding: 0 0.5em 0 0.5em;
1381+}
1382+
1383+cite, code {
1384+ font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
1385+ font-size: 0.95em;
1386+ letter-spacing: 0.01em;
1387+}
1388+
1389+hr {
1390+ border: 1px solid #abc;
1391+ margin: 2em;
1392+}
1393+
1394+tt {
1395+ font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
1396+}
1397+
1398+/* function names */
1399+tt.descname {
1400+ font-style: normal;
1401+ background-color: transparent;
1402+ font-weight: bold;
1403+ font-size: 1.2em;
1404+ border: 0;
1405+}
1406+
1407+/* module name prepended to function name*/
1408+tt.descclassname {
1409+ font-style: normal;
1410+ background-color: transparent;
1411+ border: 0;
1412+}
1413+
1414+/* variables in function argument list and definition, :samp: */
1415+tt.docutils.literal, dl.function em {
1416+ font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
1417+ font-style: italic;
1418+ background-color: transparent;
1419+ border: 0;
1420+}
1421+
1422+/* function name in reference, and literals */
1423+tt.xref.docutils.literal {
1424+ font-style: normal;
1425+ background-color: transparent;
1426+ font-weight: bold;
1427+ border: 0;
1428+}
1429+
1430+a tt {
1431+ background-color: transparent;
1432+ font-weight: bold;
1433+ border: 0;
1434+/* color: #CA7900; */
1435+}
1436+
1437+/*
1438+a tt:hover {
1439+ color: #2491CF;
1440+}
1441+*/
1442+
1443+
1444+.field-list ul {
1445+ margin: 0;
1446+ padding-left: 1em;
1447+}
1448+
1449+.field-list p {
1450+ margin: 0;
1451+}
1452+
1453+dl {
1454+ margin-bottom: 15px;
1455+}
1456+
1457+
1458+
1459+dd p {
1460+ margin-top: 0px;
1461+}
1462+
1463+dd ul, dd table {
1464+ margin-bottom: 10px;
1465+}
1466+
1467+dd {
1468+ margin-top: 3px;
1469+ margin-bottom: 10px;
1470+ margin-left: 30px;
1471+}
1472+
1473+.refcount {
1474+ color: #060;
1475+}
1476+
1477+dt:target,
1478+.highlight {
1479+ background-color: #fbe54e;
1480+}
1481+
1482+dl.glossary dt {
1483+ font-weight: bold;
1484+ font-size: 1.1em;
1485+}
1486+
1487+pre {
1488+ line-height: 120%;
1489+}
1490+
1491+pre a {
1492+ color: inherit;
1493+ text-decoration: underline;
1494+}
1495+
1496+.first {
1497+ margin-top: 0 !important;
1498+}
1499+
1500+div.document {
1501+ background-color: white;
1502+ text-align: left;
1503+/* background-image: url(contents.png); */
1504+/* background-repeat: repeat-x; */
1505+}
1506+
1507+/*
1508+div.documentwrapper {
1509+ width: 100%;
1510+}
1511+*/
1512+
1513+div.clearer {
1514+ clear: both;
1515+}
1516+
1517+div.related h3 {
1518+ display: none;
1519+}
1520+
1521+div.related ul {
1522+/* background-image: url(navigation.png); */
1523+ height: 2em;
1524+ list-style: none;
1525+ border-top: 1px solid #ddd;
1526+ border-bottom: 1px solid #ddd;
1527+ margin: 0;
1528+ padding-left: 10px;
1529+}
1530+
1531+div.related ul li {
1532+ margin: 0;
1533+ padding: 0;
1534+ height: 2em;
1535+ float: left;
1536+}
1537+
1538+div.related ul li.right {
1539+ float: right;
1540+ margin-right: 5px;
1541+}
1542+
1543+div.related ul li a {
1544+ margin: 0;
1545+ padding: 0 5px 0 5px;
1546+ line-height: 1.75em;
1547+/* color: #EE9816; */
1548+ text-decoration: none;
1549+}
1550+
1551+div.related ul li a:hover {
1552+/* color: #3CA8E7; */
1553+ text-decoration: underline;
1554+}
1555+
1556+div.body {
1557+ margin: 0;
1558+ padding: 0.5em 20px 20px 20px;
1559+}
1560+
1561+div.documentwrapper{
1562+ float: left;
1563+ width: 100%;
1564+}
1565+
1566+div.bodywrapper {
1567+/* margin: 0 240px 0 0; */
1568+ margin: 0 0 0 240px;
1569+ border-left: 1px solid #ccc;
1570+}
1571+
1572+/*
1573+div.body a {
1574+ text-decoration: underline;
1575+ text-decoration: none;
1576+}
1577+*/
1578+
1579+div.body a:hover {
1580+ color: #2491CF;
1581+}
1582+
1583+div.sphinxsidebar {
1584+ margin: 0;
1585+ padding: 0.5em 15px 15px 0;
1586+ width: 210px;
1587+ float: left;
1588+ text-align: left;
1589+ margin-left: -100%;
1590+}
1591+
1592+div.sphinxsidebar h4, div.sphinxsidebar h3 {
1593+ margin: 1em 0 .2em 0;
1594+/* font-size: 0.9em; */
1595+ font-size: 1.1em;
1596+
1597+ padding: 0.1em 0 0.1em 0.5em;
1598+ color: white;
1599+ border: 1px solid #86989B;
1600+ background-color: #AFC1C4;
1601+}
1602+
1603+div.sphinxsidebar h3 a {
1604+ color: white;
1605+}
1606+
1607+div.sphinxsidebar ul {
1608+ padding-left: 1.5em;
1609+ margin-top: 7px;
1610+ list-style: none;
1611+ padding: 0;
1612+ line-height: 130%;
1613+}
1614+
1615+div.sphinxsidebar ul ul {
1616+ list-style: square;
1617+ margin-left: 20px;
1618+}
1619+
1620+p {
1621+ margin: 0.8em 0 0.5em 0;
1622+}
1623+
1624+p.rubric {
1625+ font-weight: bold;
1626+}
1627+
1628+div.sidebar {
1629+ margin: 0 0 0.5em 1em;
1630+ border: 1px solid #ddb;
1631+ padding: 7px 7px 0 7px;
1632+ background-color: #ffe;
1633+ width: 40%;
1634+ float: right;
1635+}
1636+
1637+div.quotebar {
1638+ background-color: #f8f8f8;
1639+ max-width: 250px;
1640+ float: right;
1641+ padding: 2px 7px;
1642+ border: 1px solid #ccc;
1643+}
1644+
1645+p.sidebar-title {
1646+ font-weight: bold;
1647+}
1648+
1649+div.topic {
1650+ background-color: #f8f8f8;
1651+ border: 1px solid #ccc;
1652+ padding: 7px 7px 0 7px;
1653+ margin: 10px 0 10px 0;
1654+}
1655+
1656+p.topic-title {
1657+ font-size: 1.1em;
1658+ font-weight: bold;
1659+}
1660+
1661+h1 {
1662+ margin: 0;
1663+ padding: 0.7em 0 0.3em 0;
1664+ font-size: 1.5em;
1665+ color: #11557C;
1666+}
1667+
1668+h2 {
1669+ margin: 1.3em 0 0.2em 0;
1670+ font-size: 1.35em;
1671+ padding: 0;
1672+ color: #11557C;
1673+}
1674+
1675+h3 {
1676+ margin: 1em 0 -0.3em 0;
1677+ font-size: 1.2em;
1678+}
1679+
1680+div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a {
1681+ color: black!important;
1682+}
1683+
1684+h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor {
1685+ display: none;
1686+ margin: 0 0 0 0.3em;
1687+ padding: 0 0.2em 0 0.2em;
1688+ color: #aaa!important;
1689+}
1690+
1691+h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor,
1692+h5:hover a.anchor, h6:hover a.anchor {
1693+ display: inline;
1694+}
1695+
1696+h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover,
1697+h5 a.anchor:hover, h6 a.anchor:hover {
1698+ color: #777;
1699+ background-color: #eee;
1700+}
1701+
1702+table {
1703+ border-collapse: collapse;
1704+ margin: 0 -0.5em 0 -0.5em;
1705+}
1706+
1707+table.docutils{
1708+ margin-left: auto;
1709+ margin-right: auto;
1710+ width: 60%;
1711+ margin-top: 1em;
1712+ margin-bottom: 1em;
1713+}
1714+
1715+table td, table th {
1716+ padding: 0.2em 0.5em 0.2em 0.5em;
1717+}
1718+
1719+div.footer {
1720+/* background-color: #E3EFF1; */
1721+ color: #86989B;
1722+ padding: 3px 8px 3px 0;
1723+ clear: both;
1724+ font-size: 0.8em;
1725+ text-align: right;
1726+}
1727+
1728+div.footer a {
1729+ color: #86989B;
1730+ text-decoration: underline;
1731+}
1732+
1733+div.pagination {
1734+ margin-top: 2em;
1735+ padding-top: 0.5em;
1736+ border-top: 1px solid black;
1737+ text-align: center;
1738+}
1739+
1740+div.sphinxsidebar ul.toc {
1741+ margin: 1em 0 1em 0;
1742+ padding: 0 0 0 0.5em;
1743+ list-style: none;
1744+}
1745+
1746+div.sphinxsidebar ul.toc li {
1747+ margin: 0.5em 0 0.5em 0;
1748+ font-size: 0.9em;
1749+ line-height: 130%;
1750+}
1751+
1752+div.sphinxsidebar ul.toc li p {
1753+ margin: 0;
1754+ padding: 0;
1755+}
1756+
1757+div.sphinxsidebar ul.toc ul {
1758+ margin: 0.2em 0 0.2em 0;
1759+ padding: 0 0 0 1.8em;
1760+}
1761+
1762+div.sphinxsidebar ul.toc ul li {
1763+ padding: 0;
1764+}
1765+
1766+div.admonition, div.warning {
1767+ font-size: 0.9em;
1768+ margin: 1em 0 0 0;
1769+ border: 1px solid #86989B;
1770+ background-color: #f7f7f7;
1771+}
1772+
1773+div.admonition p, div.warning p {
1774+ margin: 0.5em 1em 0.5em 1em;
1775+ padding: 0;
1776+}
1777+
1778+div.admonition pre, div.warning pre {
1779+ margin: 0.4em 1em 0.4em 1em;
1780+}
1781+
1782+div.admonition p.admonition-title,
1783+div.warning p.admonition-title {
1784+ margin: 0;
1785+ padding: 0.1em 0 0.1em 0.5em;
1786+ color: white;
1787+ border-bottom: 1px solid #86989B;
1788+ font-weight: bold;
1789+ background-color: #AFC1C4;
1790+}
1791+
1792+div.warning {
1793+ border: 1px solid #940000;
1794+}
1795+
1796+div.warning p.admonition-title {
1797+ background-color: #CF0000;
1798+ border-bottom-color: #940000;
1799+}
1800+
1801+div.admonition ul, div.admonition ol,
1802+div.warning ul, div.warning ol {
1803+ margin: 0.1em 0.5em 0.5em 3em;
1804+ padding: 0;
1805+}
1806+
1807+div.versioninfo {
1808+ margin: 1em 0 0 0;
1809+ border: 1px solid #ccc;
1810+ background-color: #DDEAF0;
1811+ padding: 8px;
1812+ line-height: 1.3em;
1813+ font-size: 0.9em;
1814+}
1815+
1816+
1817+a.headerlink {
1818+ color: #c60f0f!important;
1819+ font-size: 1em;
1820+ margin-left: 6px;
1821+ padding: 0 4px 0 4px;
1822+ text-decoration: none!important;
1823+ visibility: hidden;
1824+}
1825+
1826+h1:hover > a.headerlink,
1827+h2:hover > a.headerlink,
1828+h3:hover > a.headerlink,
1829+h4:hover > a.headerlink,
1830+h5:hover > a.headerlink,
1831+h6:hover > a.headerlink,
1832+dt:hover > a.headerlink {
1833+ visibility: visible;
1834+}
1835+
1836+a.headerlink:hover {
1837+ background-color: #ccc;
1838+ color: white!important;
1839+}
1840+
1841+table.indextable td {
1842+ text-align: left;
1843+ vertical-align: top;
1844+}
1845+
1846+table.indextable dl, table.indextable dd {
1847+ margin-top: 0;
1848+ margin-bottom: 0;
1849+}
1850+
1851+table.indextable tr.pcap {
1852+ height: 10px;
1853+}
1854+
1855+table.indextable tr.cap {
1856+ margin-top: 10px;
1857+ background-color: #f2f2f2;
1858+}
1859+
1860+img.toggler {
1861+ margin-right: 3px;
1862+ margin-top: 3px;
1863+ cursor: pointer;
1864+}
1865+
1866+form.pfform {
1867+ margin: 10px 0 20px 0;
1868+}
1869+
1870+table.contentstable {
1871+ width: 90%;
1872+}
1873+
1874+table.contentstable p.biglink {
1875+ line-height: 150%;
1876+}
1877+
1878+a.biglink {
1879+ font-size: 1.3em;
1880+}
1881+
1882+span.linkdescr {
1883+ font-style: italic;
1884+ padding-top: 5px;
1885+ font-size: 90%;
1886+}
1887+
1888+ul.search {
1889+ margin: 10px 0 0 20px;
1890+ padding: 0;
1891+}
1892+
1893+ul.search li {
1894+ padding: 5px 0 5px 20px;
1895+ background-image: url(file.png);
1896+ background-repeat: no-repeat;
1897+ background-position: 0 7px;
1898+}
1899+
1900+ul.search li a {
1901+ font-weight: bold;
1902+}
1903+
1904+ul.search li div.context {
1905+ color: #888;
1906+ margin: 2px 0 0 30px;
1907+ text-align: left;
1908+}
1909+
1910+ul.keywordmatches li.goodmatch a {
1911+ font-weight: bold;
1912+}
1913+
1914+img.math {
1915+ vertical-align: middle;
1916+}
1917+
1918+div.math {
1919+ text-align: center;
1920+}
1921+
1922+span.eqno {
1923+ float: right;
1924+}
1925+
1926+img.logo {
1927+ border: 0;
1928+}
1929+
1930+span.raise {
1931+ vertical-align:super;
1932+ font-size: .7em;
1933+}
1934+
1935+ul {
1936+ list-style-type: disc;
1937+}
1938+
1939+
1940
1941=== added file 'doc/build/html/_static/default.css'
1942--- doc/build/html/_static/default.css 1970-01-01 00:00:00 +0000
1943+++ doc/build/html/_static/default.css 2010-12-10 13:03:35 +0000
1944@@ -0,0 +1,256 @@
1945+/*
1946+ * default.css_t
1947+ * ~~~~~~~~~~~~~
1948+ *
1949+ * Sphinx stylesheet -- default theme.
1950+ *
1951+ * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
1952+ * :license: BSD, see LICENSE for details.
1953+ *
1954+ */
1955+
1956+@import url("basic.css");
1957+
1958+/* -- page layout ----------------------------------------------------------- */
1959+
1960+body {
1961+ font-family: sans-serif;
1962+ font-size: 100%;
1963+ background-color: #11303d;
1964+ color: #000;
1965+ margin: 0;
1966+ padding: 0;
1967+}
1968+
1969+div.document {
1970+ background-color: #1c4e63;
1971+}
1972+
1973+div.documentwrapper {
1974+ float: left;
1975+ width: 100%;
1976+}
1977+
1978+div.bodywrapper {
1979+ margin: 0 0 0 230px;
1980+}
1981+
1982+div.body {
1983+ background-color: #ffffff;
1984+ color: #000000;
1985+ padding: 0 20px 30px 20px;
1986+}
1987+
1988+div.footer {
1989+ color: #ffffff;
1990+ width: 100%;
1991+ padding: 9px 0 9px 0;
1992+ text-align: center;
1993+ font-size: 75%;
1994+}
1995+
1996+div.footer a {
1997+ color: #ffffff;
1998+ text-decoration: underline;
1999+}
2000+
2001+div.related {
2002+ background-color: #133f52;
2003+ line-height: 30px;
2004+ color: #ffffff;
2005+}
2006+
2007+div.related a {
2008+ color: #ffffff;
2009+}
2010+
2011+div.sphinxsidebar {
2012+}
2013+
2014+div.sphinxsidebar h3 {
2015+ font-family: 'Trebuchet MS', sans-serif;
2016+ color: #ffffff;
2017+ font-size: 1.4em;
2018+ font-weight: normal;
2019+ margin: 0;
2020+ padding: 0;
2021+}
2022+
2023+div.sphinxsidebar h3 a {
2024+ color: #ffffff;
2025+}
2026+
2027+div.sphinxsidebar h4 {
2028+ font-family: 'Trebuchet MS', sans-serif;
2029+ color: #ffffff;
2030+ font-size: 1.3em;
2031+ font-weight: normal;
2032+ margin: 5px 0 0 0;
2033+ padding: 0;
2034+}
2035+
2036+div.sphinxsidebar p {
2037+ color: #ffffff;
2038+}
2039+
2040+div.sphinxsidebar p.topless {
2041+ margin: 5px 10px 10px 10px;
2042+}
2043+
2044+div.sphinxsidebar ul {
2045+ margin: 10px;
2046+ padding: 0;
2047+ color: #ffffff;
2048+}
2049+
2050+div.sphinxsidebar a {
2051+ color: #98dbcc;
2052+}
2053+
2054+div.sphinxsidebar input {
2055+ border: 1px solid #98dbcc;
2056+ font-family: sans-serif;
2057+ font-size: 1em;
2058+}
2059+
2060+
2061+
2062+/* -- hyperlink styles ------------------------------------------------------ */
2063+
2064+a {
2065+ color: #355f7c;
2066+ text-decoration: none;
2067+}
2068+
2069+a:visited {
2070+ color: #355f7c;
2071+ text-decoration: none;
2072+}
2073+
2074+a:hover {
2075+ text-decoration: underline;
2076+}
2077+
2078+
2079+
2080+/* -- body styles ----------------------------------------------------------- */
2081+
2082+div.body h1,
2083+div.body h2,
2084+div.body h3,
2085+div.body h4,
2086+div.body h5,
2087+div.body h6 {
2088+ font-family: 'Trebuchet MS', sans-serif;
2089+ background-color: #f2f2f2;
2090+ font-weight: normal;
2091+ color: #20435c;
2092+ border-bottom: 1px solid #ccc;
2093+ margin: 20px -20px 10px -20px;
2094+ padding: 3px 0 3px 10px;
2095+}
2096+
2097+div.body h1 { margin-top: 0; font-size: 200%; }
2098+div.body h2 { font-size: 160%; }
2099+div.body h3 { font-size: 140%; }
2100+div.body h4 { font-size: 120%; }
2101+div.body h5 { font-size: 110%; }
2102+div.body h6 { font-size: 100%; }
2103+
2104+a.headerlink {
2105+ color: #c60f0f;
2106+ font-size: 0.8em;
2107+ padding: 0 4px 0 4px;
2108+ text-decoration: none;
2109+}
2110+
2111+a.headerlink:hover {
2112+ background-color: #c60f0f;
2113+ color: white;
2114+}
2115+
2116+div.body p, div.body dd, div.body li {
2117+ text-align: justify;
2118+ line-height: 130%;
2119+}
2120+
2121+div.admonition p.admonition-title + p {
2122+ display: inline;
2123+}
2124+
2125+div.admonition p {
2126+ margin-bottom: 5px;
2127+}
2128+
2129+div.admonition pre {
2130+ margin-bottom: 5px;
2131+}
2132+
2133+div.admonition ul, div.admonition ol {
2134+ margin-bottom: 5px;
2135+}
2136+
2137+div.note {
2138+ background-color: #eee;
2139+ border: 1px solid #ccc;
2140+}
2141+
2142+div.seealso {
2143+ background-color: #ffc;
2144+ border: 1px solid #ff6;
2145+}
2146+
2147+div.topic {
2148+ background-color: #eee;
2149+}
2150+
2151+div.warning {
2152+ background-color: #ffe4e4;
2153+ border: 1px solid #f66;
2154+}
2155+
2156+p.admonition-title {
2157+ display: inline;
2158+}
2159+
2160+p.admonition-title:after {
2161+ content: ":";
2162+}
2163+
2164+pre {
2165+ padding: 5px;
2166+ background-color: #eeffcc;
2167+ color: #333333;
2168+ line-height: 120%;
2169+ border: 1px solid #ac9;
2170+ border-left: none;
2171+ border-right: none;
2172+}
2173+
2174+tt {
2175+ background-color: #ecf0f3;
2176+ padding: 0 1px 0 1px;
2177+ font-size: 0.95em;
2178+}
2179+
2180+th {
2181+ background-color: #ede;
2182+}
2183+
2184+.warning tt {
2185+ background: #efc2c2;
2186+}
2187+
2188+.note tt {
2189+ background: #d6d6d6;
2190+}
2191+
2192+.viewcode-back {
2193+ font-family: sans-serif;
2194+}
2195+
2196+div.viewcode-block:target {
2197+ background-color: #f4debf;
2198+ border-top: 1px solid #ac9;
2199+ border-bottom: 1px solid #ac9;
2200+}
2201\ No newline at end of file
2202
2203=== added file 'doc/build/html/_static/doctools.js'
2204--- doc/build/html/_static/doctools.js 1970-01-01 00:00:00 +0000
2205+++ doc/build/html/_static/doctools.js 2010-12-10 13:03:35 +0000
2206@@ -0,0 +1,247 @@
2207+/*
2208+ * doctools.js
2209+ * ~~~~~~~~~~~
2210+ *
2211+ * Sphinx JavaScript utilties for all documentation.
2212+ *
2213+ * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
2214+ * :license: BSD, see LICENSE for details.
2215+ *
2216+ */
2217+
2218+/**
2219+ * select a different prefix for underscore
2220+ */
2221+$u = _.noConflict();
2222+
2223+/**
2224+ * make the code below compatible with browsers without
2225+ * an installed firebug like debugger
2226+if (!window.console || !console.firebug) {
2227+ var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
2228+ "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
2229+ "profile", "profileEnd"];
2230+ window.console = {};
2231+ for (var i = 0; i < names.length; ++i)
2232+ window.console[names[i]] = function() {};
2233+}
2234+ */
2235+
2236+/**
2237+ * small helper function to urldecode strings
2238+ */
2239+jQuery.urldecode = function(x) {
2240+ return decodeURIComponent(x).replace(/\+/g, ' ');
2241+}
2242+
2243+/**
2244+ * small helper function to urlencode strings
2245+ */
2246+jQuery.urlencode = encodeURIComponent;
2247+
2248+/**
2249+ * This function returns the parsed url parameters of the
2250+ * current request. Multiple values per key are supported,
2251+ * it will always return arrays of strings for the value parts.
2252+ */
2253+jQuery.getQueryParameters = function(s) {
2254+ if (typeof s == 'undefined')
2255+ s = document.location.search;
2256+ var parts = s.substr(s.indexOf('?') + 1).split('&');
2257+ var result = {};
2258+ for (var i = 0; i < parts.length; i++) {
2259+ var tmp = parts[i].split('=', 2);
2260+ var key = jQuery.urldecode(tmp[0]);
2261+ var value = jQuery.urldecode(tmp[1]);
2262+ if (key in result)
2263+ result[key].push(value);
2264+ else
2265+ result[key] = [value];
2266+ }
2267+ return result;
2268+};
2269+
2270+/**
2271+ * small function to check if an array contains
2272+ * a given item.
2273+ */
2274+jQuery.contains = function(arr, item) {
2275+ for (var i = 0; i < arr.length; i++) {
2276+ if (arr[i] == item)
2277+ return true;
2278+ }
2279+ return false;
2280+};
2281+
2282+/**
2283+ * highlight a given string on a jquery object by wrapping it in
2284+ * span elements with the given class name.
2285+ */
2286+jQuery.fn.highlightText = function(text, className) {
2287+ function highlight(node) {
2288+ if (node.nodeType == 3) {
2289+ var val = node.nodeValue;
2290+ var pos = val.toLowerCase().indexOf(text);
2291+ if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
2292+ var span = document.createElement("span");
2293+ span.className = className;
2294+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
2295+ node.parentNode.insertBefore(span, node.parentNode.insertBefore(
2296+ document.createTextNode(val.substr(pos + text.length)),
2297+ node.nextSibling));
2298+ node.nodeValue = val.substr(0, pos);
2299+ }
2300+ }
2301+ else if (!jQuery(node).is("button, select, textarea")) {
2302+ jQuery.each(node.childNodes, function() {
2303+ highlight(this);
2304+ });
2305+ }
2306+ }
2307+ return this.each(function() {
2308+ highlight(this);
2309+ });
2310+};
2311+
2312+/**
2313+ * Small JavaScript module for the documentation.
2314+ */
2315+var Documentation = {
2316+
2317+ init : function() {
2318+ this.fixFirefoxAnchorBug();
2319+ this.highlightSearchWords();
2320+ this.initIndexTable();
2321+ },
2322+
2323+ /**
2324+ * i18n support
2325+ */
2326+ TRANSLATIONS : {},
2327+ PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
2328+ LOCALE : 'unknown',
2329+
2330+ // gettext and ngettext don't access this so that the functions
2331+ // can safely bound to a different name (_ = Documentation.gettext)
2332+ gettext : function(string) {
2333+ var translated = Documentation.TRANSLATIONS[string];
2334+ if (typeof translated == 'undefined')
2335+ return string;
2336+ return (typeof translated == 'string') ? translated : translated[0];
2337+ },
2338+
2339+ ngettext : function(singular, plural, n) {
2340+ var translated = Documentation.TRANSLATIONS[singular];
2341+ if (typeof translated == 'undefined')
2342+ return (n == 1) ? singular : plural;
2343+ return translated[Documentation.PLURALEXPR(n)];
2344+ },
2345+
2346+ addTranslations : function(catalog) {
2347+ for (var key in catalog.messages)
2348+ this.TRANSLATIONS[key] = catalog.messages[key];
2349+ this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
2350+ this.LOCALE = catalog.locale;
2351+ },
2352+
2353+ /**
2354+ * add context elements like header anchor links
2355+ */
2356+ addContextElements : function() {
2357+ $('div[id] > :header:first').each(function() {
2358+ $('<a class="headerlink">\u00B6</a>').
2359+ attr('href', '#' + this.id).
2360+ attr('title', _('Permalink to this headline')).
2361+ appendTo(this);
2362+ });
2363+ $('dt[id]').each(function() {
2364+ $('<a class="headerlink">\u00B6</a>').
2365+ attr('href', '#' + this.id).
2366+ attr('title', _('Permalink to this definition')).
2367+ appendTo(this);
2368+ });
2369+ },
2370+
2371+ /**
2372+ * workaround a firefox stupidity
2373+ */
2374+ fixFirefoxAnchorBug : function() {
2375+ if (document.location.hash && $.browser.mozilla)
2376+ window.setTimeout(function() {
2377+ document.location.href += '';
2378+ }, 10);
2379+ },
2380+
2381+ /**
2382+ * highlight the search words provided in the url in the text
2383+ */
2384+ highlightSearchWords : function() {
2385+ var params = $.getQueryParameters();
2386+ var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
2387+ if (terms.length) {
2388+ var body = $('div.body');
2389+ window.setTimeout(function() {
2390+ $.each(terms, function() {
2391+ body.highlightText(this.toLowerCase(), 'highlighted');
2392+ });
2393+ }, 10);
2394+ $('<li class="highlight-link"><a href="javascript:Documentation.' +
2395+ 'hideSearchWords()">' + _('Hide Search Matches') + '</a></li>')
2396+ .appendTo($('.sidebar .this-page-menu'));
2397+ }
2398+ },
2399+
2400+ /**
2401+ * init the domain index toggle buttons
2402+ */
2403+ initIndexTable : function() {
2404+ var togglers = $('img.toggler').click(function() {
2405+ var src = $(this).attr('src');
2406+ var idnum = $(this).attr('id').substr(7);
2407+ $('tr.cg-' + idnum).toggle();
2408+ if (src.substr(-9) == 'minus.png')
2409+ $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
2410+ else
2411+ $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
2412+ }).css('display', '');
2413+ if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
2414+ togglers.click();
2415+ }
2416+ },
2417+
2418+ /**
2419+ * helper function to hide the search marks again
2420+ */
2421+ hideSearchWords : function() {
2422+ $('.sidebar .this-page-menu li.highlight-link').fadeOut(300);
2423+ $('span.highlighted').removeClass('highlighted');
2424+ },
2425+
2426+ /**
2427+ * make the url absolute
2428+ */
2429+ makeURL : function(relativeURL) {
2430+ return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
2431+ },
2432+
2433+ /**
2434+ * get the current relative url
2435+ */
2436+ getCurrentURL : function() {
2437+ var path = document.location.pathname;
2438+ var parts = path.split(/\//);
2439+ $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
2440+ if (this == '..')
2441+ parts.pop();
2442+ });
2443+ var url = parts.join('/');
2444+ return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
2445+ }
2446+};
2447+
2448+// quick alias for translations
2449+_ = Documentation.gettext;
2450+
2451+$(document).ready(function() {
2452+ Documentation.init();
2453+});
2454
2455=== added file 'doc/build/html/_static/file.png'
2456Binary files doc/build/html/_static/file.png 1970-01-01 00:00:00 +0000 and doc/build/html/_static/file.png 2010-12-10 13:03:35 +0000 differ
2457=== added file 'doc/build/html/_static/jquery.js'
2458--- doc/build/html/_static/jquery.js 1970-01-01 00:00:00 +0000
2459+++ doc/build/html/_static/jquery.js 2010-12-10 13:03:35 +0000
2460@@ -0,0 +1,154 @@
2461+/*!
2462+ * jQuery JavaScript Library v1.4.2
2463+ * http://jquery.com/
2464+ *
2465+ * Copyright 2010, John Resig
2466+ * Dual licensed under the MIT or GPL Version 2 licenses.
2467+ * http://jquery.org/license
2468+ *
2469+ * Includes Sizzle.js
2470+ * http://sizzlejs.com/
2471+ * Copyright 2010, The Dojo Foundation
2472+ * Released under the MIT, BSD, and GPL Licenses.
2473+ *
2474+ * Date: Sat Feb 13 22:33:48 2010 -0500
2475+ */
2476+(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
2477+e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
2478+j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
2479+"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
2480+true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
2481+Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
2482+(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
2483+a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
2484+"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
2485+function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
2486+c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
2487+L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
2488+"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
2489+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
2490+d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
2491+a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
2492+!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
2493+true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
2494+var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
2495+parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
2496+false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
2497+s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
2498+applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
2499+else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
2500+a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
2501+w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
2502+cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
2503+i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
2504+" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
2505+this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
2506+e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
2507+c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
2508+a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
2509+function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
2510+k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
2511+C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
2512+null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
2513+e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
2514+f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
2515+if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
2516+fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
2517+d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
2518+"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
2519+a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
2520+isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
2521+{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
2522+if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
2523+e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
2524+"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
2525+d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
2526+!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
2527+toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
2528+u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
2529+function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
2530+if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
2531+e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
2532+t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
2533+g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
2534+for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
2535+1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
2536+CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
2537+relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
2538+l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
2539+h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
2540+CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
2541+g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
2542+text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
2543+setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
2544+h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
2545+m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
2546+"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
2547+h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
2548+!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
2549+h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
2550+q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
2551+if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
2552+(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
2553+function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
2554+gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
2555+c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
2556+{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
2557+"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
2558+d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
2559+a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
2560+1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
2561+a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
2562+c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
2563+wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
2564+prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
2565+this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
2566+return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
2567+""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
2568+this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
2569+u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
2570+1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
2571+return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
2572+""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
2573+c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
2574+c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
2575+function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
2576+Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
2577+"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
2578+a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
2579+a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
2580+"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
2581+serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
2582+function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
2583+global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
2584+e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
2585+"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
2586+false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
2587+false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
2588+c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
2589+d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
2590+g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
2591+1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
2592+"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
2593+if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
2594+this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
2595+"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
2596+animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
2597+j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
2598+this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
2599+"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
2600+c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
2601+this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
2602+this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
2603+e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
2604+c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
2605+function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
2606+this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
2607+k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
2608+f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
2609+a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
2610+c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
2611+d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
2612+f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
2613+"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
2614+e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
2615
2616=== added file 'doc/build/html/_static/minus.png'
2617Binary files doc/build/html/_static/minus.png 1970-01-01 00:00:00 +0000 and doc/build/html/_static/minus.png 2010-12-10 13:03:35 +0000 differ
2618=== added file 'doc/build/html/_static/plus.png'
2619Binary files doc/build/html/_static/plus.png 1970-01-01 00:00:00 +0000 and doc/build/html/_static/plus.png 2010-12-10 13:03:35 +0000 differ
2620=== added file 'doc/build/html/_static/pygments.css'
2621--- doc/build/html/_static/pygments.css 1970-01-01 00:00:00 +0000
2622+++ doc/build/html/_static/pygments.css 2010-12-10 13:03:35 +0000
2623@@ -0,0 +1,62 @@
2624+.highlight .hll { background-color: #ffffcc }
2625+.highlight { background: #eeffcc; }
2626+.highlight .c { color: #408090; font-style: italic } /* Comment */
2627+.highlight .err { border: 1px solid #FF0000 } /* Error */
2628+.highlight .k { color: #007020; font-weight: bold } /* Keyword */
2629+.highlight .o { color: #666666 } /* Operator */
2630+.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
2631+.highlight .cp { color: #007020 } /* Comment.Preproc */
2632+.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
2633+.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
2634+.highlight .gd { color: #A00000 } /* Generic.Deleted */
2635+.highlight .ge { font-style: italic } /* Generic.Emph */
2636+.highlight .gr { color: #FF0000 } /* Generic.Error */
2637+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
2638+.highlight .gi { color: #00A000 } /* Generic.Inserted */
2639+.highlight .go { color: #303030 } /* Generic.Output */
2640+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
2641+.highlight .gs { font-weight: bold } /* Generic.Strong */
2642+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
2643+.highlight .gt { color: #0040D0 } /* Generic.Traceback */
2644+.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
2645+.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
2646+.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
2647+.highlight .kp { color: #007020 } /* Keyword.Pseudo */
2648+.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
2649+.highlight .kt { color: #902000 } /* Keyword.Type */
2650+.highlight .m { color: #208050 } /* Literal.Number */
2651+.highlight .s { color: #4070a0 } /* Literal.String */
2652+.highlight .na { color: #4070a0 } /* Name.Attribute */
2653+.highlight .nb { color: #007020 } /* Name.Builtin */
2654+.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
2655+.highlight .no { color: #60add5 } /* Name.Constant */
2656+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
2657+.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
2658+.highlight .ne { color: #007020 } /* Name.Exception */
2659+.highlight .nf { color: #06287e } /* Name.Function */
2660+.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
2661+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
2662+.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
2663+.highlight .nv { color: #bb60d5 } /* Name.Variable */
2664+.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
2665+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
2666+.highlight .mf { color: #208050 } /* Literal.Number.Float */
2667+.highlight .mh { color: #208050 } /* Literal.Number.Hex */
2668+.highlight .mi { color: #208050 } /* Literal.Number.Integer */
2669+.highlight .mo { color: #208050 } /* Literal.Number.Oct */
2670+.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
2671+.highlight .sc { color: #4070a0 } /* Literal.String.Char */
2672+.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
2673+.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
2674+.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
2675+.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
2676+.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
2677+.highlight .sx { color: #c65d09 } /* Literal.String.Other */
2678+.highlight .sr { color: #235388 } /* Literal.String.Regex */
2679+.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
2680+.highlight .ss { color: #517918 } /* Literal.String.Symbol */
2681+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
2682+.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
2683+.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
2684+.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
2685+.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
2686\ No newline at end of file
2687
2688=== added file 'doc/build/html/_static/searchtools.js'
2689--- doc/build/html/_static/searchtools.js 1970-01-01 00:00:00 +0000
2690+++ doc/build/html/_static/searchtools.js 2010-12-10 13:03:35 +0000
2691@@ -0,0 +1,518 @@
2692+/*
2693+ * searchtools.js
2694+ * ~~~~~~~~~~~~~~
2695+ *
2696+ * Sphinx JavaScript utilties for the full-text search.
2697+ *
2698+ * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
2699+ * :license: BSD, see LICENSE for details.
2700+ *
2701+ */
2702+
2703+/**
2704+ * helper function to return a node containing the
2705+ * search summary for a given text. keywords is a list
2706+ * of stemmed words, hlwords is the list of normal, unstemmed
2707+ * words. the first one is used to find the occurance, the
2708+ * latter for highlighting it.
2709+ */
2710+
2711+jQuery.makeSearchSummary = function(text, keywords, hlwords) {
2712+ var textLower = text.toLowerCase();
2713+ var start = 0;
2714+ $.each(keywords, function() {
2715+ var i = textLower.indexOf(this.toLowerCase());
2716+ if (i > -1)
2717+ start = i;
2718+ });
2719+ start = Math.max(start - 120, 0);
2720+ var excerpt = ((start > 0) ? '...' : '') +
2721+ $.trim(text.substr(start, 240)) +
2722+ ((start + 240 - text.length) ? '...' : '');
2723+ var rv = $('<div class="context"></div>').text(excerpt);
2724+ $.each(hlwords, function() {
2725+ rv = rv.highlightText(this, 'highlighted');
2726+ });
2727+ return rv;
2728+}
2729+
2730+/**
2731+ * Porter Stemmer
2732+ */
2733+var PorterStemmer = function() {
2734+
2735+ var step2list = {
2736+ ational: 'ate',
2737+ tional: 'tion',
2738+ enci: 'ence',
2739+ anci: 'ance',
2740+ izer: 'ize',
2741+ bli: 'ble',
2742+ alli: 'al',
2743+ entli: 'ent',
2744+ eli: 'e',
2745+ ousli: 'ous',
2746+ ization: 'ize',
2747+ ation: 'ate',
2748+ ator: 'ate',
2749+ alism: 'al',
2750+ iveness: 'ive',
2751+ fulness: 'ful',
2752+ ousness: 'ous',
2753+ aliti: 'al',
2754+ iviti: 'ive',
2755+ biliti: 'ble',
2756+ logi: 'log'
2757+ };
2758+
2759+ var step3list = {
2760+ icate: 'ic',
2761+ ative: '',
2762+ alize: 'al',
2763+ iciti: 'ic',
2764+ ical: 'ic',
2765+ ful: '',
2766+ ness: ''
2767+ };
2768+
2769+ var c = "[^aeiou]"; // consonant
2770+ var v = "[aeiouy]"; // vowel
2771+ var C = c + "[^aeiouy]*"; // consonant sequence
2772+ var V = v + "[aeiou]*"; // vowel sequence
2773+
2774+ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
2775+ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
2776+ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
2777+ var s_v = "^(" + C + ")?" + v; // vowel in stem
2778+
2779+ this.stemWord = function (w) {
2780+ var stem;
2781+ var suffix;
2782+ var firstch;
2783+ var origword = w;
2784+
2785+ if (w.length < 3)
2786+ return w;
2787+
2788+ var re;
2789+ var re2;
2790+ var re3;
2791+ var re4;
2792+
2793+ firstch = w.substr(0,1);
2794+ if (firstch == "y")
2795+ w = firstch.toUpperCase() + w.substr(1);
2796+
2797+ // Step 1a
2798+ re = /^(.+?)(ss|i)es$/;
2799+ re2 = /^(.+?)([^s])s$/;
2800+
2801+ if (re.test(w))
2802+ w = w.replace(re,"$1$2");
2803+ else if (re2.test(w))
2804+ w = w.replace(re2,"$1$2");
2805+
2806+ // Step 1b
2807+ re = /^(.+?)eed$/;
2808+ re2 = /^(.+?)(ed|ing)$/;
2809+ if (re.test(w)) {
2810+ var fp = re.exec(w);
2811+ re = new RegExp(mgr0);
2812+ if (re.test(fp[1])) {
2813+ re = /.$/;
2814+ w = w.replace(re,"");
2815+ }
2816+ }
2817+ else if (re2.test(w)) {
2818+ var fp = re2.exec(w);
2819+ stem = fp[1];
2820+ re2 = new RegExp(s_v);
2821+ if (re2.test(stem)) {
2822+ w = stem;
2823+ re2 = /(at|bl|iz)$/;
2824+ re3 = new RegExp("([^aeiouylsz])\\1$");
2825+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
2826+ if (re2.test(w))
2827+ w = w + "e";
2828+ else if (re3.test(w)) {
2829+ re = /.$/;
2830+ w = w.replace(re,"");
2831+ }
2832+ else if (re4.test(w))
2833+ w = w + "e";
2834+ }
2835+ }
2836+
2837+ // Step 1c
2838+ re = /^(.+?)y$/;
2839+ if (re.test(w)) {
2840+ var fp = re.exec(w);
2841+ stem = fp[1];
2842+ re = new RegExp(s_v);
2843+ if (re.test(stem))
2844+ w = stem + "i";
2845+ }
2846+
2847+ // Step 2
2848+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
2849+ if (re.test(w)) {
2850+ var fp = re.exec(w);
2851+ stem = fp[1];
2852+ suffix = fp[2];
2853+ re = new RegExp(mgr0);
2854+ if (re.test(stem))
2855+ w = stem + step2list[suffix];
2856+ }
2857+
2858+ // Step 3
2859+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
2860+ if (re.test(w)) {
2861+ var fp = re.exec(w);
2862+ stem = fp[1];
2863+ suffix = fp[2];
2864+ re = new RegExp(mgr0);
2865+ if (re.test(stem))
2866+ w = stem + step3list[suffix];
2867+ }
2868+
2869+ // Step 4
2870+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
2871+ re2 = /^(.+?)(s|t)(ion)$/;
2872+ if (re.test(w)) {
2873+ var fp = re.exec(w);
2874+ stem = fp[1];
2875+ re = new RegExp(mgr1);
2876+ if (re.test(stem))
2877+ w = stem;
2878+ }
2879+ else if (re2.test(w)) {
2880+ var fp = re2.exec(w);
2881+ stem = fp[1] + fp[2];
2882+ re2 = new RegExp(mgr1);
2883+ if (re2.test(stem))
2884+ w = stem;
2885+ }
2886+
2887+ // Step 5
2888+ re = /^(.+?)e$/;
2889+ if (re.test(w)) {
2890+ var fp = re.exec(w);
2891+ stem = fp[1];
2892+ re = new RegExp(mgr1);
2893+ re2 = new RegExp(meq1);
2894+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
2895+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
2896+ w = stem;
2897+ }
2898+ re = /ll$/;
2899+ re2 = new RegExp(mgr1);
2900+ if (re.test(w) && re2.test(w)) {
2901+ re = /.$/;
2902+ w = w.replace(re,"");
2903+ }
2904+
2905+ // and turn initial Y back to y
2906+ if (firstch == "y")
2907+ w = firstch.toLowerCase() + w.substr(1);
2908+ return w;
2909+ }
2910+}
2911+
2912+
2913+/**
2914+ * Search Module
2915+ */
2916+var Search = {
2917+
2918+ _index : null,
2919+ _queued_query : null,
2920+ _pulse_status : -1,
2921+
2922+ init : function() {
2923+ var params = $.getQueryParameters();
2924+ if (params.q) {
2925+ var query = params.q[0];
2926+ $('input[name="q"]')[0].value = query;
2927+ this.performSearch(query);
2928+ }
2929+ },
2930+
2931+ loadIndex : function(url) {
2932+ $.ajax({type: "GET", url: url, data: null, success: null,
2933+ dataType: "script", cache: true});
2934+ },
2935+
2936+ setIndex : function(index) {
2937+ var q;
2938+ this._index = index;
2939+ if ((q = this._queued_query) !== null) {
2940+ this._queued_query = null;
2941+ Search.query(q);
2942+ }
2943+ },
2944+
2945+ hasIndex : function() {
2946+ return this._index !== null;
2947+ },
2948+
2949+ deferQuery : function(query) {
2950+ this._queued_query = query;
2951+ },
2952+
2953+ stopPulse : function() {
2954+ this._pulse_status = 0;
2955+ },
2956+
2957+ startPulse : function() {
2958+ if (this._pulse_status >= 0)
2959+ return;
2960+ function pulse() {
2961+ Search._pulse_status = (Search._pulse_status + 1) % 4;
2962+ var dotString = '';
2963+ for (var i = 0; i < Search._pulse_status; i++)
2964+ dotString += '.';
2965+ Search.dots.text(dotString);
2966+ if (Search._pulse_status > -1)
2967+ window.setTimeout(pulse, 500);
2968+ };
2969+ pulse();
2970+ },
2971+
2972+ /**
2973+ * perform a search for something
2974+ */
2975+ performSearch : function(query) {
2976+ // create the required interface elements
2977+ this.out = $('#search-results');
2978+ this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
2979+ this.dots = $('<span></span>').appendTo(this.title);
2980+ this.status = $('<p style="display: none"></p>').appendTo(this.out);
2981+ this.output = $('<ul class="search"/>').appendTo(this.out);
2982+
2983+ $('#search-progress').text(_('Preparing search...'));
2984+ this.startPulse();
2985+
2986+ // index already loaded, the browser was quick!
2987+ if (this.hasIndex())
2988+ this.query(query);
2989+ else
2990+ this.deferQuery(query);
2991+ },
2992+
2993+ query : function(query) {
2994+ var stopwords = ['and', 'then', 'into', 'it', 'as', 'are', 'in',
2995+ 'if', 'for', 'no', 'there', 'their', 'was', 'is',
2996+ 'be', 'to', 'that', 'but', 'they', 'not', 'such',
2997+ 'with', 'by', 'a', 'on', 'these', 'of', 'will',
2998+ 'this', 'near', 'the', 'or', 'at'];
2999+
3000+ // stem the searchterms and add them to the correct list
3001+ var stemmer = new PorterStemmer();
3002+ var searchterms = [];
3003+ var excluded = [];
3004+ var hlterms = [];
3005+ var tmp = query.split(/\s+/);
3006+ var object = (tmp.length == 1) ? tmp[0].toLowerCase() : null;
3007+ for (var i = 0; i < tmp.length; i++) {
3008+ if ($u.indexOf(stopwords, tmp[i]) != -1 || tmp[i].match(/^\d+$/) ||
3009+ tmp[i] == "") {
3010+ // skip this "word"
3011+ continue;
3012+ }
3013+ // stem the word
3014+ var word = stemmer.stemWord(tmp[i]).toLowerCase();
3015+ // select the correct list
3016+ if (word[0] == '-') {
3017+ var toAppend = excluded;
3018+ word = word.substr(1);
3019+ }
3020+ else {
3021+ var toAppend = searchterms;
3022+ hlterms.push(tmp[i].toLowerCase());
3023+ }
3024+ // only add if not already in the list
3025+ if (!$.contains(toAppend, word))
3026+ toAppend.push(word);
3027+ };
3028+ var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
3029+
3030+ // console.debug('SEARCH: searching for:');
3031+ // console.info('required: ', searchterms);
3032+ // console.info('excluded: ', excluded);
3033+
3034+ // prepare search
3035+ var filenames = this._index.filenames;
3036+ var titles = this._index.titles;
3037+ var terms = this._index.terms;
3038+ var objects = this._index.objects;
3039+ var objtypes = this._index.objtypes;
3040+ var objnames = this._index.objnames;
3041+ var fileMap = {};
3042+ var files = null;
3043+ // different result priorities
3044+ var importantResults = [];
3045+ var objectResults = [];
3046+ var regularResults = [];
3047+ var unimportantResults = [];
3048+ $('#search-progress').empty();
3049+
3050+ // lookup as object
3051+ if (object != null) {
3052+ for (var prefix in objects) {
3053+ for (var name in objects[prefix]) {
3054+ var fullname = (prefix ? prefix + '.' : '') + name;
3055+ if (fullname.toLowerCase().indexOf(object) > -1) {
3056+ match = objects[prefix][name];
3057+ descr = objnames[match[1]] + _(', in ') + titles[match[0]];
3058+ // XXX the generated anchors are not generally correct
3059+ // XXX there may be custom prefixes
3060+ result = [filenames[match[0]], fullname, '#'+fullname, descr];
3061+ switch (match[2]) {
3062+ case 1: objectResults.push(result); break;
3063+ case 0: importantResults.push(result); break;
3064+ case 2: unimportantResults.push(result); break;
3065+ }
3066+ }
3067+ }
3068+ }
3069+ }
3070+
3071+ // sort results descending
3072+ objectResults.sort(function(a, b) {
3073+ return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
3074+ });
3075+
3076+ importantResults.sort(function(a, b) {
3077+ return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
3078+ });
3079+
3080+ unimportantResults.sort(function(a, b) {
3081+ return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
3082+ });
3083+
3084+
3085+ // perform the search on the required terms
3086+ for (var i = 0; i < searchterms.length; i++) {
3087+ var word = searchterms[i];
3088+ // no match but word was a required one
3089+ if ((files = terms[word]) == null)
3090+ break;
3091+ if (files.length == undefined) {
3092+ files = [files];
3093+ }
3094+ // create the mapping
3095+ for (var j = 0; j < files.length; j++) {
3096+ var file = files[j];
3097+ if (file in fileMap)
3098+ fileMap[file].push(word);
3099+ else
3100+ fileMap[file] = [word];
3101+ }
3102+ }
3103+
3104+ // now check if the files don't contain excluded terms
3105+ for (var file in fileMap) {
3106+ var valid = true;
3107+
3108+ // check if all requirements are matched
3109+ if (fileMap[file].length != searchterms.length)
3110+ continue;
3111+
3112+ // ensure that none of the excluded terms is in the
3113+ // search result.
3114+ for (var i = 0; i < excluded.length; i++) {
3115+ if (terms[excluded[i]] == file ||
3116+ $.contains(terms[excluded[i]] || [], file)) {
3117+ valid = false;
3118+ break;
3119+ }
3120+ }
3121+
3122+ // if we have still a valid result we can add it
3123+ // to the result list
3124+ if (valid)
3125+ regularResults.push([filenames[file], titles[file], '', null]);
3126+ }
3127+
3128+ // delete unused variables in order to not waste
3129+ // memory until list is retrieved completely
3130+ delete filenames, titles, terms;
3131+
3132+ // now sort the regular results descending by title
3133+ regularResults.sort(function(a, b) {
3134+ var left = a[1].toLowerCase();
3135+ var right = b[1].toLowerCase();
3136+ return (left > right) ? -1 : ((left < right) ? 1 : 0);
3137+ });
3138+
3139+ // combine all results
3140+ var results = unimportantResults.concat(regularResults)
3141+ .concat(objectResults).concat(importantResults);
3142+
3143+ // print the results
3144+ var resultCount = results.length;
3145+ function displayNextItem() {
3146+ // results left, load the summary and display it
3147+ if (results.length) {
3148+ var item = results.pop();
3149+ var listItem = $('<li style="display:none"></li>');
3150+ if (DOCUMENTATION_OPTIONS.FILE_SUFFIX == '') {
3151+ // dirhtml builder
3152+ var dirname = item[0] + '/';
3153+ if (dirname.match(/\/index\/$/)) {
3154+ dirname = dirname.substring(0, dirname.length-6);
3155+ } else if (dirname == 'index/') {
3156+ dirname = '';
3157+ }
3158+ listItem.append($('<a/>').attr('href',
3159+ DOCUMENTATION_OPTIONS.URL_ROOT + dirname +
3160+ highlightstring + item[2]).html(item[1]));
3161+ } else {
3162+ // normal html builders
3163+ listItem.append($('<a/>').attr('href',
3164+ item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
3165+ highlightstring + item[2]).html(item[1]));
3166+ }
3167+ if (item[3]) {
3168+ listItem.append($('<span> (' + item[3] + ')</span>'));
3169+ Search.output.append(listItem);
3170+ listItem.slideDown(5, function() {
3171+ displayNextItem();
3172+ });
3173+ } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
3174+ $.get(DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' +
3175+ item[0] + '.txt', function(data) {
3176+ if (data != '') {
3177+ listItem.append($.makeSearchSummary(data, searchterms, hlterms));
3178+ Search.output.append(listItem);
3179+ }
3180+ listItem.slideDown(5, function() {
3181+ displayNextItem();
3182+ });
3183+ });
3184+ } else {
3185+ // no source available, just display title
3186+ Search.output.append(listItem);
3187+ listItem.slideDown(5, function() {
3188+ displayNextItem();
3189+ });
3190+ }
3191+ }
3192+ // search finished, update title and status message
3193+ else {
3194+ Search.stopPulse();
3195+ Search.title.text(_('Search Results'));
3196+ if (!resultCount)
3197+ Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
3198+ else
3199+ Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
3200+ Search.status.fadeIn(500);
3201+ }
3202+ }
3203+ displayNextItem();
3204+ }
3205+}
3206+
3207+$(document).ready(function() {
3208+ Search.init();
3209+});
3210
3211=== added file 'doc/build/html/_static/sidebar.js'
3212--- doc/build/html/_static/sidebar.js 1970-01-01 00:00:00 +0000
3213+++ doc/build/html/_static/sidebar.js 2010-12-10 13:03:35 +0000
3214@@ -0,0 +1,148 @@
3215+/*
3216+ * sidebar.js
3217+ * ~~~~~~~~~~
3218+ *
3219+ * This script makes the Sphinx sidebar collapsible.
3220+ *
3221+ * .sphinxsidebar contains .sphinxsidebarwrapper. This script adds
3222+ * in .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton
3223+ * used to collapse and expand the sidebar.
3224+ *
3225+ * When the sidebar is collapsed the .sphinxsidebarwrapper is hidden
3226+ * and the width of the sidebar and the margin-left of the document
3227+ * are decreased. When the sidebar is expanded the opposite happens.
3228+ * This script saves a per-browser/per-session cookie used to
3229+ * remember the position of the sidebar among the pages.
3230+ * Once the browser is closed the cookie is deleted and the position
3231+ * reset to the default (expanded).
3232+ *
3233+ * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
3234+ * :license: BSD, see LICENSE for details.
3235+ *
3236+ */
3237+
3238+$(function() {
3239+ // global elements used by the functions.
3240+ // the 'sidebarbutton' element is defined as global after its
3241+ // creation, in the add_sidebar_button function
3242+ var bodywrapper = $('.bodywrapper');
3243+ var sidebar = $('.sphinxsidebar');
3244+ var sidebarwrapper = $('.sphinxsidebarwrapper');
3245+
3246+ // original margin-left of the bodywrapper and width of the sidebar
3247+ // with the sidebar expanded
3248+ var bw_margin_expanded = bodywrapper.css('margin-left');
3249+ var ssb_width_expanded = sidebar.width();
3250+
3251+ // margin-left of the bodywrapper and width of the sidebar
3252+ // with the sidebar collapsed
3253+ var bw_margin_collapsed = '.8em';
3254+ var ssb_width_collapsed = '.8em';
3255+
3256+ // colors used by the current theme
3257+ var dark_color = $('.related').css('background-color');
3258+ var light_color = $('.document').css('background-color');
3259+
3260+ function sidebar_is_collapsed() {
3261+ return sidebarwrapper.is(':not(:visible)');
3262+ }
3263+
3264+ function toggle_sidebar() {
3265+ if (sidebar_is_collapsed())
3266+ expand_sidebar();
3267+ else
3268+ collapse_sidebar();
3269+ }
3270+
3271+ function collapse_sidebar() {
3272+ sidebarwrapper.hide();
3273+ sidebar.css('width', ssb_width_collapsed);
3274+ bodywrapper.css('margin-left', bw_margin_collapsed);
3275+ sidebarbutton.css({
3276+ 'margin-left': '0',
3277+ 'height': bodywrapper.height()
3278+ });
3279+ sidebarbutton.find('span').text('»');
3280+ sidebarbutton.attr('title', _('Expand sidebar'));
3281+ document.cookie = 'sidebar=collapsed';
3282+ }
3283+
3284+ function expand_sidebar() {
3285+ bodywrapper.css('margin-left', bw_margin_expanded);
3286+ sidebar.css('width', ssb_width_expanded);
3287+ sidebarwrapper.show();
3288+ sidebarbutton.css({
3289+ 'margin-left': ssb_width_expanded-12,
3290+ 'height': bodywrapper.height()
3291+ });
3292+ sidebarbutton.find('span').text('«');
3293+ sidebarbutton.attr('title', _('Collapse sidebar'));
3294+ document.cookie = 'sidebar=expanded';
3295+ }
3296+
3297+ function add_sidebar_button() {
3298+ sidebarwrapper.css({
3299+ 'float': 'left',
3300+ 'margin-right': '0',
3301+ 'width': ssb_width_expanded - 28
3302+ });
3303+ // create the button
3304+ sidebar.append(
3305+ '<div id="sidebarbutton"><span>&laquo;</span></div>'
3306+ );
3307+ var sidebarbutton = $('#sidebarbutton');
3308+ light_color = sidebarbutton.css('background-color');
3309+ // find the height of the viewport to center the '<<' in the page
3310+ var viewport_height;
3311+ if (window.innerHeight)
3312+ viewport_height = window.innerHeight;
3313+ else
3314+ viewport_height = $(window).height();
3315+ sidebarbutton.find('span').css({
3316+ 'display': 'block',
3317+ 'margin-top': (viewport_height - sidebar.position().top - 20) / 2
3318+ });
3319+
3320+ sidebarbutton.click(toggle_sidebar);
3321+ sidebarbutton.attr('title', _('Collapse sidebar'));
3322+ sidebarbutton.css({
3323+ 'color': '#FFFFFF',
3324+ 'border-left': '1px solid ' + dark_color,
3325+ 'font-size': '1.2em',
3326+ 'cursor': 'pointer',
3327+ 'height': bodywrapper.height(),
3328+ 'padding-top': '1px',
3329+ 'margin-left': ssb_width_expanded - 12
3330+ });
3331+
3332+ sidebarbutton.hover(
3333+ function () {
3334+ $(this).css('background-color', dark_color);
3335+ },
3336+ function () {
3337+ $(this).css('background-color', light_color);
3338+ }
3339+ );
3340+ }
3341+
3342+ function set_position_from_cookie() {
3343+ if (!document.cookie)
3344+ return;
3345+ var items = document.cookie.split(';');
3346+ for(var k=0; k<items.length; k++) {
3347+ var key_val = items[k].split('=');
3348+ var key = key_val[0];
3349+ if (key == 'sidebar') {
3350+ var value = key_val[1];
3351+ if ((value == 'collapsed') && (!sidebar_is_collapsed()))
3352+ collapse_sidebar();
3353+ else if ((value == 'expanded') && (sidebar_is_collapsed()))
3354+ expand_sidebar();
3355+ }
3356+ }
3357+ }
3358+
3359+ add_sidebar_button();
3360+ var sidebarbutton = $('#sidebarbutton');
3361+ set_position_from_cookie();
3362+});
3363
3364=== added file 'doc/build/html/_static/underscore.js'
3365--- doc/build/html/_static/underscore.js 1970-01-01 00:00:00 +0000
3366+++ doc/build/html/_static/underscore.js 2010-12-10 13:03:35 +0000
3367@@ -0,0 +1,16 @@
3368+(function(){var j=this,n=j._,i=function(a){this._wrapped=a},m=typeof StopIteration!=="undefined"?StopIteration:"__break__",b=j._=function(a){return new i(a)};if(typeof exports!=="undefined")exports._=b;var k=Array.prototype.slice,o=Array.prototype.unshift,p=Object.prototype.toString,q=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;b.VERSION="0.5.5";b.each=function(a,c,d){try{if(a.forEach)a.forEach(c,d);else if(b.isArray(a)||b.isArguments(a))for(var e=0,f=a.length;e<f;e++)c.call(d,
3369+a[e],e,a);else{var g=b.keys(a);f=g.length;for(e=0;e<f;e++)c.call(d,a[g[e]],g[e],a)}}catch(h){if(h!=m)throw h;}return a};b.map=function(a,c,d){if(a&&b.isFunction(a.map))return a.map(c,d);var e=[];b.each(a,function(f,g,h){e.push(c.call(d,f,g,h))});return e};b.reduce=function(a,c,d,e){if(a&&b.isFunction(a.reduce))return a.reduce(b.bind(d,e),c);b.each(a,function(f,g,h){c=d.call(e,c,f,g,h)});return c};b.reduceRight=function(a,c,d,e){if(a&&b.isFunction(a.reduceRight))return a.reduceRight(b.bind(d,e),c);
3370+var f=b.clone(b.toArray(a)).reverse();b.each(f,function(g,h){c=d.call(e,c,g,h,a)});return c};b.detect=function(a,c,d){var e;b.each(a,function(f,g,h){if(c.call(d,f,g,h)){e=f;b.breakLoop()}});return e};b.select=function(a,c,d){if(a&&b.isFunction(a.filter))return a.filter(c,d);var e=[];b.each(a,function(f,g,h){c.call(d,f,g,h)&&e.push(f)});return e};b.reject=function(a,c,d){var e=[];b.each(a,function(f,g,h){!c.call(d,f,g,h)&&e.push(f)});return e};b.all=function(a,c,d){c=c||b.identity;if(a&&b.isFunction(a.every))return a.every(c,
3371+d);var e=true;b.each(a,function(f,g,h){(e=e&&c.call(d,f,g,h))||b.breakLoop()});return e};b.any=function(a,c,d){c=c||b.identity;if(a&&b.isFunction(a.some))return a.some(c,d);var e=false;b.each(a,function(f,g,h){if(e=c.call(d,f,g,h))b.breakLoop()});return e};b.include=function(a,c){if(b.isArray(a))return b.indexOf(a,c)!=-1;var d=false;b.each(a,function(e){if(d=e===c)b.breakLoop()});return d};b.invoke=function(a,c){var d=b.rest(arguments,2);return b.map(a,function(e){return(c?e[c]:e).apply(e,d)})};b.pluck=
3372+function(a,c){return b.map(a,function(d){return d[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);var e={computed:-Infinity};b.each(a,function(f,g,h){g=c?c.call(d,f,g,h):f;g>=e.computed&&(e={value:f,computed:g})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);var e={computed:Infinity};b.each(a,function(f,g,h){g=c?c.call(d,f,g,h):f;g<e.computed&&(e={value:f,computed:g})});return e.value};b.sortBy=function(a,c,d){return b.pluck(b.map(a,
3373+function(e,f,g){return{value:e,criteria:c.call(d,e,f,g)}}).sort(function(e,f){e=e.criteria;f=f.criteria;return e<f?-1:e>f?1:0}),"value")};b.sortedIndex=function(a,c,d){d=d||b.identity;for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?(e=g+1):(f=g)}return e};b.toArray=function(a){if(!a)return[];if(a.toArray)return a.toArray();if(b.isArray(a))return a;if(b.isArguments(a))return k.call(a);return b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=function(a,c,d){return c&&!d?k.call(a,
3374+0,c):a[0]};b.rest=function(a,c,d){return k.call(a,b.isUndefined(c)||d?1:c)};b.last=function(a){return a[a.length-1]};b.compact=function(a){return b.select(a,function(c){return!!c})};b.flatten=function(a){return b.reduce(a,[],function(c,d){if(b.isArray(d))return c.concat(b.flatten(d));c.push(d);return c})};b.without=function(a){var c=b.rest(arguments);return b.select(a,function(d){return!b.include(c,d)})};b.uniq=function(a,c){return b.reduce(a,[],function(d,e,f){if(0==f||(c===true?b.last(d)!=e:!b.include(d,
3375+e)))d.push(e);return d})};b.intersect=function(a){var c=b.rest(arguments);return b.select(b.uniq(a),function(d){return b.all(c,function(e){return b.indexOf(e,d)>=0})})};b.zip=function(){for(var a=b.toArray(arguments),c=b.max(b.pluck(a,"length")),d=new Array(c),e=0;e<c;e++)d[e]=b.pluck(a,String(e));return d};b.indexOf=function(a,c){if(a.indexOf)return a.indexOf(c);for(var d=0,e=a.length;d<e;d++)if(a[d]===c)return d;return-1};b.lastIndexOf=function(a,c){if(a.lastIndexOf)return a.lastIndexOf(c);for(var d=
3376+a.length;d--;)if(a[d]===c)return d;return-1};b.range=function(a,c,d){var e=b.toArray(arguments),f=e.length<=1;a=f?0:e[0];c=f?e[0]:e[1];d=e[2]||1;e=Math.ceil((c-a)/d);if(e<=0)return[];e=new Array(e);f=a;for(var g=0;1;f+=d){if((d>0?f-c:c-f)>=0)return e;e[g++]=f}};b.bind=function(a,c){var d=b.rest(arguments,2);return function(){return a.apply(c||j,d.concat(b.toArray(arguments)))}};b.bindAll=function(a){var c=b.rest(arguments);if(c.length==0)c=b.functions(a);b.each(c,function(d){a[d]=b.bind(a[d],a)});
3377+return a};b.delay=function(a,c){var d=b.rest(arguments,2);return setTimeout(function(){return a.apply(a,d)},c)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(b.rest(arguments)))};b.wrap=function(a,c){return function(){var d=[a].concat(b.toArray(arguments));return c.apply(c,d)}};b.compose=function(){var a=b.toArray(arguments);return function(){for(var c=b.toArray(arguments),d=a.length-1;d>=0;d--)c=[a[d].apply(this,c)];return c[0]}};b.keys=function(a){if(b.isArray(a))return b.range(0,a.length);
3378+var c=[];for(var d in a)q.call(a,d)&&c.push(d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=function(a){return b.select(b.keys(a),function(c){return b.isFunction(a[c])}).sort()};b.extend=function(a,c){for(var d in c)a[d]=c[d];return a};b.clone=function(a){if(b.isArray(a))return a.slice(0);return b.extend({},a)};b.tap=function(a,c){c(a);return a};b.isEqual=function(a,c){if(a===c)return true;var d=typeof a;if(d!=typeof c)return false;if(a==c)return true;if(!a&&c||a&&!c)return false;
3379+if(a.isEqual)return a.isEqual(c);if(b.isDate(a)&&b.isDate(c))return a.getTime()===c.getTime();if(b.isNaN(a)&&b.isNaN(c))return true;if(b.isRegExp(a)&&b.isRegExp(c))return a.source===c.source&&a.global===c.global&&a.ignoreCase===c.ignoreCase&&a.multiline===c.multiline;if(d!=="object")return false;if(a.length&&a.length!==c.length)return false;d=b.keys(a);var e=b.keys(c);if(d.length!=e.length)return false;for(var f in a)if(!b.isEqual(a[f],c[f]))return false;return true};b.isEmpty=function(a){return b.keys(a).length==
3380+0};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=function(a){return!!(a&&a.concat&&a.unshift)};b.isArguments=function(a){return a&&b.isNumber(a.length)&&!b.isArray(a)&&!r.call(a,"length")};b.isFunction=function(a){return!!(a&&a.constructor&&a.call&&a.apply)};b.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)};b.isNumber=function(a){return p.call(a)==="[object Number]"};b.isDate=function(a){return!!(a&&a.getTimezoneOffset&&a.setUTCFullYear)};b.isRegExp=function(a){return!!(a&&
3381+a.test&&a.exec&&(a.ignoreCase||a.ignoreCase===false))};b.isNaN=function(a){return b.isNumber(a)&&isNaN(a)};b.isNull=function(a){return a===null};b.isUndefined=function(a){return typeof a=="undefined"};b.noConflict=function(){j._=n;return this};b.identity=function(a){return a};b.breakLoop=function(){throw m;};var s=0;b.uniqueId=function(a){var c=s++;return a?a+c:c};b.template=function(a,c){a=new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+a.replace(/[\r\t\n]/g,
3382+" ").replace(/'(?=[^%]*%>)/g,"\t").split("'").join("\\'").split("\t").join("'").replace(/<%=(.+?)%>/g,"',$1,'").split("<%").join("');").split("%>").join("p.push('")+"');}return p.join('');");return c?a(c):a};b.forEach=b.each;b.foldl=b.inject=b.reduce;b.foldr=b.reduceRight;b.filter=b.select;b.every=b.all;b.some=b.any;b.head=b.first;b.tail=b.rest;b.methods=b.functions;var l=function(a,c){return c?b(a).chain():a};b.each(b.functions(b),function(a){var c=b[a];i.prototype[a]=function(){var d=b.toArray(arguments);
3383+o.call(d,this._wrapped);return l(c.apply(b,d),this._chain)}});b.each(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var c=Array.prototype[a];i.prototype[a]=function(){c.apply(this._wrapped,arguments);return l(this._wrapped,this._chain)}});b.each(["concat","join","slice"],function(a){var c=Array.prototype[a];i.prototype[a]=function(){return l(c.apply(this._wrapped,arguments),this._chain)}});i.prototype.chain=function(){this._chain=true;return this};i.prototype.value=function(){return this._wrapped}})();
3384
3385=== added file 'doc/build/html/blas.html'
3386--- doc/build/html/blas.html 1970-01-01 00:00:00 +0000
3387+++ doc/build/html/blas.html 2010-12-10 13:03:35 +0000
3388@@ -0,0 +1,913 @@
3389+
3390+
3391+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3392+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3393+
3394+<html xmlns="http://www.w3.org/1999/xhtml">
3395+ <head>
3396+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
3397+
3398+ <title>The BLAS Interface &mdash; CVXOPT User&#39;s Guide</title>
3399+ <link rel="stylesheet" href="_static/cvxopt.css" type="text/css" />
3400+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
3401+ <script type="text/javascript">
3402+ var DOCUMENTATION_OPTIONS = {
3403+ URL_ROOT: '',
3404+ VERSION: '1.1.1',
3405+ COLLAPSE_INDEX: false,
3406+ FILE_SUFFIX: '.html',
3407+ HAS_SOURCE: false
3408+ };
3409+ </script>
3410+ <script type="text/javascript" src="_static/jquery.js"></script>
3411+ <script type="text/javascript" src="_static/underscore.js"></script>
3412+ <script type="text/javascript" src="_static/doctools.js"></script>
3413+ <link rel="copyright" title="Copyright" href="copyright.html" />
3414+ <link rel="top" title="CVXOPT User&#39;s Guide" href="index.html" />
3415+ <link rel="next" title="The LAPACK Interface" href="lapack.html" />
3416+ <link rel="prev" title="Dense and Sparse Matrices" href="matrices.html" />
3417+ </head>
3418+ <body>
3419+ <div class="related">
3420+ <h3>Navigation</h3>
3421+ <ul>
3422+ <li class="right" style="margin-right: 10px">
3423+ <a href="lapack.html" title="The LAPACK Interface"
3424+ accesskey="N">next</a></li>
3425+ <li class="right" >
3426+ <a href="matrices.html" title="Dense and Sparse Matrices"
3427+ accesskey="P">previous</a> |</li>
3428+ <li><a href="http://abel.ee.ucla.edu/cvxopt">CVXOPT home</a> |</li>
3429+
3430+ <li><a href="index.html">user&#39;s guide</a> </li>
3431+
3432+ </ul>
3433+ </div>
3434+
3435+ <div class="document">
3436+ <div class="documentwrapper">
3437+ <div class="bodywrapper">
3438+ <div class="body">
3439+
3440+ <div class="section" id="the-blas-interface">
3441+<span id="c-blas"></span><h1>The BLAS Interface<a class="headerlink" href="#the-blas-interface" title="Permalink to this headline">¶</a></h1>
3442+<p>The <tt class="xref py py-mod docutils literal"><span class="pre">cvxopt.blas</span></tt> module provides an interface to the double-precision
3443+real and complex Basic Linear Algebra Subprograms (BLAS). The names and
3444+calling sequences of the Python functions in the interface closely match
3445+the corresponding Fortran BLAS routines (described in the references below)
3446+and their functionality is exactly the same. Many of the operations
3447+performed by the BLAS routines can be implemented in a more straightforward
3448+way by using the matrix arithmetic of the section <a class="reference internal" href="matrices.html#s-arithmetic"><em>Arithmetic Operations</em></a>,
3449+combined with the slicing and indexing of the section <a class="reference internal" href="matrices.html#s-indexing"><em>Indexing and Slicing</em></a>.
3450+As an example, <tt class="docutils literal"><span class="pre">C</span> <span class="pre">=</span> <span class="pre">A</span> <span class="pre">*</span> <span class="pre">B</span></tt> gives the same result as the BLAS call
3451+<tt class="docutils literal"><span class="pre">gemm(A,</span> <span class="pre">B,</span> <span class="pre">C)</span></tt>. The BLAS interface offers two advantages. First,
3452+some of the functions it includes are not easily implemented using the
3453+basic matrix arithmetic. For example, BLAS includes functions that
3454+efficiently exploit symmetry or triangular matrix structure. Second, there
3455+is a performance difference that can be significant for large matrices.
3456+Although our implementation of the basic matrix arithmetic makes internal
3457+calls to BLAS, it also often requires creating temporary matrices to store
3458+intermediate results. The BLAS functions on the other hand always operate
3459+directly on their matrix arguments and never require any copying to
3460+temporary matrices. Thus they can be viewed as generalizations of the
3461+in-place matrix addition and scalar multiplication of the section
3462+<a class="reference internal" href="matrices.html#s-arithmetic"><em>Arithmetic Operations</em></a> to more complicated operations.</p>
3463+<div class="admonition-see-also admonition seealso">
3464+<p class="first admonition-title">See also</p>
3465+<ul class="last simple">
3466+<li>C. L. Lawson, R. J. Hanson, D. R. Kincaid, F. T. Krogh,
3467+Basic Linear Algebra Subprograms for Fortran Use,
3468+ACM Transactions on Mathematical Software, 5(3), 309-323, 1975.</li>
3469+<li>J. J. Dongarra, J. Du Croz, S. Hammarling, R. J. Hanson,
3470+An Extended Set of Fortran Basic Linear Algebra Subprograms,
3471+ACM Transactions on Mathematical Software, 14(1), 1-17, 1988.</li>
3472+<li>J. J. Dongarra, J. Du Croz, S. Hammarling, I. Duff,
3473+A Set of Level 3 Basic Linear Algebra Subprograms,
3474+ACM Transactions on Mathematical Software, 16(1), 1-17, 1990.</li>
3475+</ul>
3476+</div>
3477+<div class="section" id="matrix-classes">
3478+<span id="s-conventions"></span><h2>Matrix Classes<a class="headerlink" href="#matrix-classes" title="Permalink to this headline">¶</a></h2>
3479+<p>The BLAS exploit several types of matrix structure: symmetric, Hermitian,
3480+triangular, and banded. We represent all these matrix classes by dense
3481+real or complex <a class="reference internal" href="matrices.html#cvxopt.matrix" title="cvxopt.matrix"><tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt></a> objects, with additional
3482+arguments that specify the structure.</p>
3483+<dl class="docutils">
3484+<dt><strong>Vector</strong></dt>
3485+<dd>A real or complex <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>-vector is represented by a <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt>
3486+of type <tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt> and length <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>, with the
3487+entries of the vector stored in column-major order.</dd>
3488+<dt><strong>General matrix</strong></dt>
3489+<dd>A general real or complex <img class="math" src="_images/math/f5047d1e0cbb50ec208923a22cd517c55100fa7b.png" alt="m"/> by <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> matrix is represented
3490+by a real or complex <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> of size (<img class="math" src="_images/math/f5047d1e0cbb50ec208923a22cd517c55100fa7b.png" alt="m"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>).</dd>
3491+<dt><strong>Symmetric matrix</strong></dt>
3492+<dd><p class="first">A real or complex symmetric matrix of order <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> is represented
3493+by a real or complex <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> of size (<img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>),
3494+and a character argument <tt class="docutils literal"><span class="pre">uplo</span></tt> with two possible values:
3495+<tt class="xref py py-const docutils literal"><span class="pre">'L'</span></tt> and <tt class="xref py py-const docutils literal"><span class="pre">'U'</span></tt>. If <tt class="docutils literal"><span class="pre">uplo</span></tt> is <tt class="xref py py-const docutils literal"><span class="pre">'L'</span></tt>, the lower
3496+triangular part of the symmetric matrix is stored; if <tt class="docutils literal"><span class="pre">uplo</span></tt> is
3497+<tt class="xref py py-const docutils literal"><span class="pre">'U'</span></tt>, the upper triangular part is stored. A square
3498+<tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> <tt class="docutils literal"><span class="pre">X</span></tt> of size (<img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>) can therefore be
3499+used to represent the symmetric matrices</p>
3500+<div class="last math">
3501+<p><img src="_images/math/52e0ff1161373cc9cd64457d457939a0cdf63750.png" alt="\left[\begin{array}{ccccc}
3502+ X[0,0] &amp; X[1,0] &amp; X[2,0] &amp; \cdots &amp; X[n-1,0] \\
3503+ X[1,0] &amp; X[1,1] &amp; X[2,1] &amp; \cdots &amp; X[n-1,1] \\
3504+ X[2,0] &amp; X[2,1] &amp; X[2,2] &amp; \cdots &amp; X[n-1,2] \\
3505+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots \\
3506+ X[n-1,0] &amp; X[n-1,1] &amp; X[n-1,2] &amp; \cdots &amp; X[n-1,n-1]
3507+\end{array}\right] \quad \mbox{(uplo = 'L')},
3508+
3509+\left[\begin{array}{ccccc}
3510+ X[0,0] &amp; X[0,1] &amp; X[0,2] &amp; \cdots &amp; X[0,n-1] \\
3511+ X[0,1] &amp; X[1,1] &amp; X[1,2] &amp; \cdots &amp; X[1,n-1] \\
3512+ X[0,2] &amp; X[1,2] &amp; X[2,2] &amp; \cdots &amp; X[2,n-1] \\
3513+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots \\
3514+ X[0,n-1] &amp; X[1,n-1] &amp; X[2,n-1] &amp; \cdots &amp; X[n-1,n-1]
3515+\end{array}\right] \quad \mbox{(uplo = U')}." /></p>
3516+</div></dd>
3517+<dt><strong>Complex Hermitian matrix</strong></dt>
3518+<dd><p class="first">A complex Hermitian matrix of order <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> is represented by a
3519+<tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> of type <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt> and size (<img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>),
3520+and a character argument <tt class="docutils literal"><span class="pre">uplo</span></tt> with the same meaning as for
3521+symmetric matrices. A complex <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> <tt class="docutils literal"><span class="pre">X</span></tt> of size
3522+(<img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>) can represent the Hermitian matrices</p>
3523+<div class="last math">
3524+<p><img src="_images/math/d61de824765ec1e71fab547965361cde159d3af8.png" alt="\left[\begin{array}{ccccc}
3525+ \Re X[0,0] &amp; \bar X[1,0] &amp; \bar X[2,0] &amp; \cdots &amp;
3526+ \bar X[n-1,0] \\
3527+ X[1,0] &amp; \Re X[1,1] &amp; \bar X[2,1] &amp; \cdots &amp;
3528+ \bar X[n-1,1] \\
3529+ X[2,0] &amp; X[2,1] &amp; \Re X[2,2] &amp; \cdots &amp; \bar X[n-1,2] \\
3530+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots \\
3531+ X[n-1,0] &amp; X[n-1,1] &amp; X[n-1,2] &amp; \cdots &amp; \Re X[n-1,n-1]
3532+\end{array}\right] \quad \mbox{(uplo = 'L')},
3533+
3534+\left[\begin{array}{ccccc}
3535+ \Re X[0,0] &amp; X[0,1] &amp; X[0,2] &amp; \cdots &amp; X[0,n-1] \\
3536+ \bar X[0,1] &amp; \Re X[1,1] &amp; X[1,2] &amp; \cdots &amp; X[1,n-1] \\
3537+ \bar X[0,2] &amp; \bar X[1,2] &amp; \Re X[2,2] &amp; \cdots &amp;
3538+ X[2,n-1] \\
3539+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots \\
3540+ \bar X[0,n-1] &amp; \bar X[1,n-1] &amp; \bar X[2,n-1] &amp; \cdots &amp;
3541+ \Re X[n-1,n-1]
3542+\end{array}\right] \quad \mbox{(uplo = 'U')}." /></p>
3543+</div></dd>
3544+<dt><strong>Triangular matrix</strong></dt>
3545+<dd><p class="first">A real or complex triangular matrix of order <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> is represented
3546+by a real or complex <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> of size (<img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>),
3547+and two character arguments: an argument <tt class="docutils literal"><span class="pre">uplo</span></tt> with possible values
3548+<tt class="xref py py-const docutils literal"><span class="pre">'L'</span></tt> and <tt class="xref py py-const docutils literal"><span class="pre">'U'</span></tt> to distinguish between lower and upper
3549+triangular matrices, and an argument <tt class="docutils literal"><span class="pre">diag</span></tt> with possible values
3550+<tt class="xref py py-const docutils literal"><span class="pre">'U'</span></tt> and <tt class="xref py py-const docutils literal"><span class="pre">'N'</span></tt> to distinguish between unit and non-unit
3551+triangular matrices. A square <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> <tt class="docutils literal"><span class="pre">X</span></tt> of size
3552+(<img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>) can represent the triangular matrices</p>
3553+<div class="last math">
3554+<p><img src="_images/math/867c5e4b34778fd3c6fa395079ad365668a137d7.png" alt="\left[\begin{array}{ccccc}
3555+ X[0,0] &amp; 0 &amp; 0 &amp; \cdots &amp; 0 \\
3556+ X[1,0] &amp; X[1,1] &amp; 0 &amp; \cdots &amp; 0 \\
3557+ X[2,0] &amp; X[2,1] &amp; X[2,2] &amp; \cdots &amp; 0 \\
3558+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots \\
3559+ X[n-1,0] &amp; X[n-1,1] &amp; X[n-1,2] &amp; \cdots &amp; X[n-1,n-1]
3560+\end{array}\right] \quad \mbox{(uplo = 'L', diag = 'N')},
3561+
3562+\left[\begin{array}{ccccc}
3563+ 1 &amp; 0 &amp; 0 &amp; \cdots &amp; 0 \\
3564+ X[1,0] &amp; 1 &amp; 0 &amp; \cdots &amp; 0 \\
3565+ X[2,0] &amp; X[2,1] &amp; 1 &amp; \cdots &amp; 0 \\
3566+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots \\
3567+ X[n-1,0] &amp; X[n-1,1] &amp; X[n-1,2] &amp; \cdots &amp; 1
3568+\end{array}\right] \quad \mbox{(uplo = 'L', diag = 'U')},
3569+
3570+\left[\begin{array}{ccccc}
3571+ X[0,0] &amp; X[0,1] &amp; X[0,2] &amp; \cdots &amp; X[0,n-1] \\
3572+ 0 &amp; X[1,1] &amp; X[1,2] &amp; \cdots &amp; X[1,n-1] \\
3573+ 0 &amp; 0 &amp; X[2,2] &amp; \cdots &amp; X[2,n-1] \\
3574+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots \\
3575+ 0 &amp; 0 &amp; 0 &amp; \cdots &amp; X[n-1,n-1]
3576+\end{array}\right] \quad \mbox{(uplo = 'U', diag = 'N')},
3577+
3578+\left[\begin{array}{ccccc}
3579+ 1 &amp; X[0,1] &amp; X[0,2] &amp; \cdots &amp; X[0,n-1] \\
3580+ 0 &amp; 1 &amp; X[1,2] &amp; \cdots &amp; X[1,n-1] \\
3581+ 0 &amp; 0 &amp; 1 &amp; \cdots &amp; X[2,n-1] \\
3582+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots \\
3583+ 0 &amp; 0 &amp; 0 &amp; \cdots &amp; 1
3584+\end{array}\right] \quad \mbox{(uplo = 'U', diag = 'U')}." /></p>
3585+</div></dd>
3586+<dt><strong>General band matrix</strong></dt>
3587+<dd><p class="first">A general real or complex <img class="math" src="_images/math/f5047d1e0cbb50ec208923a22cd517c55100fa7b.png" alt="m"/> by <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> band matrix with
3588+<img class="math" src="_images/math/e505767c729ddb13cbb73d25556a9d0e9068a0e6.png" alt="k_l"/> subdiagonals and <img class="math" src="_images/math/f3f323357467e7e665c0bf7dd0ae17c1a8569e8c.png" alt="k_u"/> superdiagonals is represented
3589+by a real or complex <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> <tt class="docutils literal"><span class="pre">X</span></tt> of size
3590+(<img class="math" src="_images/math/fd01517a0c59ac672be7ebe5d531b3f04e7d92b0.png" alt="k_l + k_u + 1"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>), and the two integers <img class="math" src="_images/math/f5047d1e0cbb50ec208923a22cd517c55100fa7b.png" alt="m"/> and
3591+<img class="math" src="_images/math/e505767c729ddb13cbb73d25556a9d0e9068a0e6.png" alt="k_l"/>. The diagonals of the band matrix are stored in the rows
3592+of <tt class="docutils literal"><span class="pre">X</span></tt>, starting at the top diagonal, and shifted horizontally so that
3593+the entries of column <img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/> of the band matrix are stored in column
3594+<img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/> of <tt class="docutils literal"><span class="pre">X</span></tt>. A <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> <tt class="docutils literal"><span class="pre">X</span></tt> of size
3595+(<img class="math" src="_images/math/fd01517a0c59ac672be7ebe5d531b3f04e7d92b0.png" alt="k_l + k_u + 1"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>) therefore represents the <img class="math" src="_images/math/f5047d1e0cbb50ec208923a22cd517c55100fa7b.png" alt="m"/>
3596+by <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> band matrix</p>
3597+<div class="last math">
3598+<p><img src="_images/math/7a7c5981a10b05257be74ff3f4854903bfa9052b.png" alt="\left[ \begin{array}{ccccccc}
3599+ X[k_u,0] &amp; X[k_u-1,1] &amp; X[k_u-2,2] &amp; \cdots &amp;
3600+ X[0,k_u] &amp; 0 &amp; \cdots \\
3601+ X[k_u+1,0] &amp; X[k_u,1] &amp; X[k_u-1,2] &amp; \cdots &amp;
3602+ X[1,k_u] &amp; X[0,k_u+1] &amp; \cdots \\
3603+ X[k_u+2,0] &amp; X[k_u+1,1] &amp; X[k_u,2] &amp; \cdots &amp;
3604+ X[2,k_u] &amp; X[1,k_u+1] &amp; \cdots \\
3605+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp;
3606+ \vdots &amp; \vdots &amp; \ddots \\
3607+ X[k_u+k_l,0] &amp; X[k_u+k_l-1,1] &amp; X[k_u+k_l-2,2] &amp; \cdots &amp;
3608+ &amp; &amp; \\
3609+ 0 &amp; X[k_u+k_l,1] &amp; X[k_u+k_l-1,2] &amp; \cdots &amp;
3610+ &amp; &amp; \\
3611+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp;
3612+ &amp; &amp;
3613+\end{array}\right]." /></p>
3614+</div></dd>
3615+<dt><strong>Symmetric band matrix</strong></dt>
3616+<dd><p class="first">A real or complex symmetric band matrix of order <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> with
3617+<img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/> subdiagonals, is represented by a real or complex matrix <tt class="docutils literal"><span class="pre">X</span></tt>
3618+of size (<img class="math" src="_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png" alt="k+1"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>), and an argument <tt class="docutils literal"><span class="pre">uplo</span></tt> to indicate
3619+whether the subdiagonals (<tt class="docutils literal"><span class="pre">uplo</span></tt> is <tt class="xref py py-const docutils literal"><span class="pre">'L'</span></tt>) or superdiagonals
3620+(<tt class="docutils literal"><span class="pre">uplo</span></tt> is <tt class="xref py py-const docutils literal"><span class="pre">'U'</span></tt>) are stored. The <img class="math" src="_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png" alt="k+1"/> diagonals are
3621+stored as rows of <tt class="docutils literal"><span class="pre">X</span></tt>, starting at the top diagonal (i.e., the main
3622+diagonal if <tt class="docutils literal"><span class="pre">uplo</span></tt> is <tt class="xref py py-const docutils literal"><span class="pre">'L'</span></tt>, or the <img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/>-th superdiagonal
3623+if <tt class="docutils literal"><span class="pre">uplo</span></tt> is <tt class="xref py py-const docutils literal"><span class="pre">'U'</span></tt>) and shifted horizontally so that the
3624+entries of the <img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/>-th column of the band matrix are stored in
3625+column <img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/> of <tt class="docutils literal"><span class="pre">X</span></tt>. A <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> <tt class="docutils literal"><span class="pre">X</span></tt> of size
3626+(<img class="math" src="_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png" alt="k+1"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>) can therefore represent the band matrices</p>
3627+<div class="last math">
3628+<p><img src="_images/math/f316b0ec14c19c1b6879b9d0dda291b1b3eacaf8.png" alt="\left[ \begin{array}{ccccccc}
3629+ X[0,0] &amp; X[1,0] &amp; X[2,0] &amp; \cdots &amp; X[k,0] &amp; 0
3630+ &amp; \cdots \\
3631+ X[1,0] &amp; X[0,1] &amp; X[1,1] &amp; \cdots &amp; X[k-1,1] &amp; X[k,1]
3632+ &amp; \cdots \\
3633+ X[2,0] &amp; X[1,1] &amp; X[0,2] &amp; \cdots &amp; X[k-2,2] &amp; X[k-1,2]
3634+ &amp; \cdots \\
3635+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots &amp; \vdots
3636+ &amp; \ddots \\
3637+ X[k,0] &amp; X[k-1,1] &amp; X[k-2,2] &amp; \cdots &amp; &amp; &amp; \\
3638+ 0 &amp; X[k,1] &amp; X[k-1,2] &amp; \cdots &amp; &amp; &amp; \\
3639+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; &amp; &amp;
3640+\end{array}\right] \quad \mbox{(uplo = 'L')},
3641+
3642+\left[ \begin{array}{ccccccc}
3643+ X[k,0] &amp; X[k-1,1] &amp; X[k-2,2] &amp; \cdots &amp; X[0,k] &amp; 0
3644+ &amp; \cdots \\
3645+ X[k-1,1] &amp; X[k,1] &amp; X[k-1,2] &amp; \cdots &amp; X[1,k] &amp; X[0,k+1]
3646+ &amp; \cdots \\
3647+ X[k-2,2] &amp; X[k-1,2] &amp; X[k,2] &amp; \cdots &amp; X[2,k] &amp; X[1,k+1]
3648+ &amp; \cdots \\
3649+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots &amp; \vdots
3650+ &amp; \ddots \\
3651+ X[0,k] &amp; X[1,k] &amp; X[2,k] &amp; \cdots &amp; &amp; &amp; \\
3652+ 0 &amp; X[0,k+1] &amp; X[1,k+1] &amp; \cdots &amp; &amp; &amp; \\
3653+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; &amp; &amp;
3654+\end{array}\right] \quad \mbox{(uplo='U')}." /></p>
3655+</div></dd>
3656+<dt><strong>Hermitian band matrix</strong></dt>
3657+<dd><p class="first">A complex Hermitian band matrix of order <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> with <img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/>
3658+subdiagonals is represented by a complex matrix of size
3659+(<img class="math" src="_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png" alt="k+1"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>) and an argument <tt class="docutils literal"><span class="pre">uplo</span></tt>, with the same meaning
3660+as for symmetric band matrices. A <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> <tt class="docutils literal"><span class="pre">X</span></tt> of size
3661+(<img class="math" src="_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png" alt="k+1"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>) can represent the band matrices</p>
3662+<div class="last math">
3663+<p><img src="_images/math/c3f5a2b8b364fd6006f57a0b03d27d57344fad31.png" alt="\left[ \begin{array}{ccccccc}
3664+ \Re X[0,0] &amp; \bar X[1,0] &amp; \bar X[2,0] &amp; \cdots &amp;
3665+ \bar X[k,0] &amp; 0 &amp; \cdots \\
3666+ X[1,0] &amp; \Re X[0,1] &amp; \bar X[1,1] &amp; \cdots &amp;
3667+ \bar X[k-1,1] &amp; \bar X[k,1] &amp; \cdots \\
3668+ X[2,0] &amp; X[1,1] &amp; \Re X[0,2] &amp; \cdots &amp;
3669+ \bar X[k-2,2] &amp; \bar X[k-1,2] &amp; \cdots \\
3670+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots
3671+ &amp; \vdots &amp; \ddots \\
3672+ X[k,0] &amp; X[k-1,1] &amp; X[k-2,2] &amp; \cdots &amp; &amp; &amp; \\
3673+ 0 &amp; X[k,1] &amp; X[k-1,2] &amp; \cdots &amp; &amp; &amp; \\
3674+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; &amp; &amp;
3675+\end{array}\right] \quad \mbox{(uplo = 'L')},
3676+
3677+\left[ \begin{array}{ccccccc}
3678+ \Re X[k,0] &amp; X[k-1,1] &amp; X[k-2,2] &amp; \cdots &amp; X[0,k] &amp;
3679+ 0 &amp; \cdots \\
3680+ \bar X[k-1,1] &amp; \Re X[k,1] &amp; X[k-1,2] &amp; \cdots &amp;
3681+ X[1,k] &amp; X[0,k+1] &amp; \cdots \\
3682+ \bar X[k-2,2] &amp; \bar X[k-1,2] &amp; \Re X[k,2] &amp; \cdots &amp;
3683+ X[2,k] &amp; X[1,k+1] &amp; \cdots \\
3684+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots &amp;
3685+ \vdots &amp; \ddots \\
3686+ \bar X[0,k] &amp; \bar X[1,k] &amp; \bar X[2,k] &amp; \cdots &amp;
3687+ &amp; &amp; \\
3688+ 0 &amp; \bar X[0,k+1] &amp; \bar X[1,k+1] &amp; \cdots &amp; &amp; &amp; \\
3689+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; &amp; &amp;
3690+\end{array}\right] \quad \mbox{(uplo='U')}." /></p>
3691+</div></dd>
3692+<dt><strong>Triangular band matrix</strong></dt>
3693+<dd><p class="first">A triangular band matrix of order <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> with <img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/> subdiagonals
3694+or superdiagonals is represented by a real complex matrix of size
3695+(<img class="math" src="_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png" alt="k+1"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>) and two character arguments <tt class="docutils literal"><span class="pre">uplo</span></tt> and
3696+<tt class="docutils literal"><span class="pre">diag</span></tt>, with similar conventions as for symmetric band matrices.
3697+A <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> <tt class="docutils literal"><span class="pre">X</span></tt> of size (<img class="math" src="_images/math/f05f085f774fc8ab50676b778b86a1f1d1114fc8.png" alt="k+1"/>, <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>) can represent
3698+the band matrices</p>
3699+<div class="last math">
3700+<p><img src="_images/math/1682dfd5865597e4ae2222e7e9de20cb5eadd543.png" alt="\left[ \begin{array}{cccc}
3701+ X[0,0] &amp; 0 &amp; 0 &amp; \cdots \\
3702+ X[1,0] &amp; X[0,1] &amp; 0 &amp; \cdots \\
3703+ X[2,0] &amp; X[1,1] &amp; X[0,2] &amp; \cdots \\
3704+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots \\
3705+ X[k,0] &amp; X[k-1,1] &amp; X[k-2,2] &amp; \cdots \\
3706+ 0 &amp; X[k,1] &amp; X[k-1,1] &amp; \cdots \\
3707+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots
3708+\end{array}\right] \quad \mbox{(uplo = 'L', diag = 'N')},
3709+
3710+\left[ \begin{array}{cccc}
3711+ 1 &amp; 0 &amp; 0 &amp; \cdots \\
3712+ X[1,0] &amp; 1 &amp; 0 &amp; \cdots \\
3713+ X[2,0] &amp; X[1,1] &amp; 1 &amp; \cdots \\
3714+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots \\
3715+ X[k,0] &amp; X[k-1,1] &amp; X[k-2,2] &amp; \cdots \\
3716+ 0 &amp; X[k,1] &amp; X[k-1,2] &amp; \cdots \\
3717+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots
3718+\end{array}\right] \quad \mbox{(uplo = 'L', diag = 'U')},
3719+
3720+\left[ \begin{array}{ccccccc}
3721+ X[k,0] &amp; X[k-1,1] &amp; X[k-2,3] &amp; \cdots &amp; X[0,k] &amp;
3722+ 0 &amp; \cdots\\
3723+ 0 &amp; X[k,1] &amp; X[k-1,2] &amp; \cdots &amp; X[1,k] &amp;
3724+ X[0,k+1] &amp; \cdots \\
3725+ 0 &amp; 0 &amp; X[k,2] &amp; \cdots &amp; X[2,k] &amp;
3726+ X[1,k+1] &amp; \cdots \\
3727+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots &amp;
3728+ \vdots &amp; \ddots
3729+\end{array}\right] \quad \mbox{(uplo = 'U', diag = 'N')},
3730+
3731+\left[ \begin{array}{ccccccc}
3732+ 1 &amp; X[k-1,1] &amp; X[k-2,3] &amp; \cdots &amp; X[0,k] &amp;
3733+ 0 &amp; \cdots\\
3734+ 0 &amp; 1 &amp; X[k-1,2] &amp; \cdots &amp; X[1,k] &amp;
3735+ X[0,k+1] &amp; \cdots \\
3736+ 0 &amp; 0 &amp; 1 &amp; \cdots &amp; X[2,k] &amp;
3737+ X[1,k+1] &amp; \cdots \\
3738+ \vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots &amp;
3739+ \vdots &amp; \ddots
3740+\end{array}\right] \quad \mbox{(uplo = 'U', diag = 'U')}." /></p>
3741+</div></dd>
3742+</dl>
3743+<p>When discussing BLAS functions in the following sections we will omit
3744+several less important optional arguments that can be used to select
3745+submatrices for in-place operations. The complete specification is
3746+documented in the docstrings of the source code, and can be viewed with the
3747+<strong class="program">pydoc</strong> help program.</p>
3748+</div>
3749+<div class="section" id="level-1-blas">
3750+<span id="s-blas-1"></span><h2>Level 1 BLAS<a class="headerlink" href="#level-1-blas" title="Permalink to this headline">¶</a></h2>
3751+<p>The level 1 functions implement vector operations.</p>
3752+<dl class="function">
3753+<dt id="cvxopt.blas.scal">
3754+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">scal</tt><big>(</big><em>alpha</em>, <em>x</em><big>)</big><a class="headerlink" href="#cvxopt.blas.scal" title="Permalink to this definition">¶</a></dt>
3755+<dd><p>Scales a vector by a constant:</p>
3756+<div class="math">
3757+<p><img src="_images/math/bb61f81a64370408f0551fc4353d23e18ef98d4c.png" alt="x := \alpha x." /></p>
3758+</div><p>If <tt class="docutils literal"><span class="pre">x</span></tt> is a real <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt>, the scalar argument <tt class="docutils literal"><span class="pre">alpha</span></tt> must
3759+be a Python integer or float. If <tt class="docutils literal"><span class="pre">x</span></tt> is complex, <tt class="docutils literal"><span class="pre">alpha</span></tt> can be an
3760+integer, float, or complex.</p>
3761+</dd></dl>
3762+
3763+<dl class="function">
3764+<dt id="cvxopt.blas.nrm2">
3765+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">nrm2</tt><big>(</big><em>x</em><big>)</big><a class="headerlink" href="#cvxopt.blas.nrm2" title="Permalink to this definition">¶</a></dt>
3766+<dd><p>Euclidean norm of a vector: returns</p>
3767+<div class="math">
3768+<p><img src="_images/math/29fc3d86ed16d5fbe4a492dfeb0b42778cb9d7ee.png" alt="\|x\|_2." /></p>
3769+</div></dd></dl>
3770+
3771+<dl class="function">
3772+<dt id="cvxopt.blas.asum">
3773+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">asum</tt><big>(</big><em>x</em><big>)</big><a class="headerlink" href="#cvxopt.blas.asum" title="Permalink to this definition">¶</a></dt>
3774+<dd><p>1-Norm of a vector: returns</p>
3775+<div class="math">
3776+<p><img src="_images/math/331fc28185082cbfa8c57029e65f9a6bd91cc2aa.png" alt="\|x\|_1 \quad \mbox{($x$ real)}, \qquad
3777+\|\Re x\|_1 + \|\Im x\|_1 \quad \mbox{($x$ complex)}." /></p>
3778+</div></dd></dl>
3779+
3780+<dl class="function">
3781+<dt id="cvxopt.blas.iamax">
3782+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">iamax</tt><big>(</big><em>x</em><big>)</big><a class="headerlink" href="#cvxopt.blas.iamax" title="Permalink to this definition">¶</a></dt>
3783+<dd><p>Returns</p>
3784+<div class="math">
3785+<p><img src="_images/math/68407b248f3e418bdb58269534bdfe5a9469e8f2.png" alt="\mathop{\rm argmax}_{k=0,\ldots,n-1} |x_k| \quad \mbox{($x$ real)},
3786+\qquad
3787+\mathop{\rm argmax}_{k=0,\ldots,n-1} |\Re x_k| + |\Im x_k| \quad
3788+ \mbox{($x$ complex)}." /></p>
3789+</div><p>If more than one coefficient achieves the maximum, the index of the
3790+first <img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/> is returned.</p>
3791+</dd></dl>
3792+
3793+<dl class="function">
3794+<dt id="cvxopt.blas.swap">
3795+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">swap</tt><big>(</big><em>x</em>, <em>y</em><big>)</big><a class="headerlink" href="#cvxopt.blas.swap" title="Permalink to this definition">¶</a></dt>
3796+<dd><p>Interchanges two vectors:</p>
3797+<div class="math">
3798+<p><img src="_images/math/61fe866fa7cfeca631c397262ad092802ea37a45.png" alt="x \leftrightarrow y." /></p>
3799+</div><p><tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> are matrices of the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
3800+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>).</p>
3801+</dd></dl>
3802+
3803+<dl class="function">
3804+<dt id="cvxopt.blas.copy">
3805+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">copy</tt><big>(</big><em>x</em>, <em>y</em><big>)</big><a class="headerlink" href="#cvxopt.blas.copy" title="Permalink to this definition">¶</a></dt>
3806+<dd><p>Copies a vector to another vector:</p>
3807+<div class="math">
3808+<p><img src="_images/math/acfa751f702680bc6b604771354d26e601da497b.png" alt="y := x." /></p>
3809+</div><p><tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> are matrices of the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
3810+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>).</p>
3811+</dd></dl>
3812+
3813+<dl class="function">
3814+<dt id="cvxopt.blas.axpy">
3815+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">axpy</tt><big>(</big><em>x</em>, <em>y</em><span class="optional">[</span>, <em>alpha = 1.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.axpy" title="Permalink to this definition">¶</a></dt>
3816+<dd><p>Constant times a vector plus a vector:</p>
3817+<div class="math">
3818+<p><img src="_images/math/90a07d7ff36fa67dc19d3031fec4a29567cf5ea7.png" alt="y := \alpha x + y." /></p>
3819+</div><p><tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> are matrices of the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
3820+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). If <tt class="docutils literal"><span class="pre">x</span></tt> is real, the scalar argument <tt class="docutils literal"><span class="pre">alpha</span></tt> must be
3821+a Python integer or float. If <tt class="docutils literal"><span class="pre">x</span></tt> is complex, <tt class="docutils literal"><span class="pre">alpha</span></tt> can be an
3822+integer, float, or complex.</p>
3823+</dd></dl>
3824+
3825+<dl class="function">
3826+<dt id="cvxopt.blas.dot">
3827+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">dot</tt><big>(</big><em>x</em>, <em>y</em><big>)</big><a class="headerlink" href="#cvxopt.blas.dot" title="Permalink to this definition">¶</a></dt>
3828+<dd><p>Returns</p>
3829+<div class="math">
3830+<p><img src="_images/math/4bce221ce644a2b528da32b012c6275b6271e32b.png" alt="x^Hy." /></p>
3831+</div><p><tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> are matrices of the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
3832+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>).</p>
3833+</dd></dl>
3834+
3835+<dl class="function">
3836+<dt id="cvxopt.blas.dotu">
3837+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">dotu</tt><big>(</big><em>x</em>, <em>y</em><big>)</big><a class="headerlink" href="#cvxopt.blas.dotu" title="Permalink to this definition">¶</a></dt>
3838+<dd><p>Returns</p>
3839+<div class="math">
3840+<p><img src="_images/math/e01558de5153188b3cc8b1243c0dd845c5a3e06a.png" alt="x^Ty." /></p>
3841+</div><p><tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> are matrices of the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
3842+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>).</p>
3843+</dd></dl>
3844+
3845+</div>
3846+<div class="section" id="level-2-blas">
3847+<span id="s-blas-2"></span><h2>Level 2 BLAS<a class="headerlink" href="#level-2-blas" title="Permalink to this headline">¶</a></h2>
3848+<p>The level 2 functions implement matrix-vector products and rank-1 and
3849+rank-2 matrix updates. Different types of matrix structure can be exploited
3850+using the conventions of the section <a class="reference internal" href="#s-conventions"><em>Matrix Classes</em></a>.</p>
3851+<dl class="function">
3852+<dt id="cvxopt.blas.gemv">
3853+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">gemv</tt><big>(</big><em>A</em>, <em>x</em>, <em>y</em><span class="optional">[</span>, <em>trans = 'N'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.gemv" title="Permalink to this definition">¶</a></dt>
3854+<dd><p>Matrix-vector product with a general matrix:</p>
3855+<div class="math">
3856+<p><img src="_images/math/fc0ad97dd45bc8aa577476f2505b0b03f95b2d54.png" alt="y &amp; := \alpha Ax + \beta y \quad
3857+ (\mathrm{trans} = \mathrm{'N'}), \\
3858+y &amp; := \alpha A^T x + \beta y \quad
3859+ (\mathrm{trans} = \mathrm{'T'}), \\
3860+y &amp; := \alpha A^H x + \beta y \quad
3861+ (\mathrm{trans} = \mathrm{'C'})." /></p>
3862+</div><p>The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">x</span></tt>, and <tt class="docutils literal"><span class="pre">y</span></tt> must have the same type
3863+(<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> and
3864+<tt class="docutils literal"><span class="pre">beta</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
3865+</dd></dl>
3866+
3867+<dl class="function">
3868+<dt id="cvxopt.blas.symv">
3869+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">symv</tt><big>(</big><em>A</em>, <em>x</em>, <em>y</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.symv" title="Permalink to this definition">¶</a></dt>
3870+<dd><p>Matrix-vector product with a real symmetric matrix:</p>
3871+<div class="math">
3872+<p><img src="_images/math/ba43bc2b06256b6e07fab088703404fadb26d608.png" alt="y := \alpha A x + \beta y," /></p>
3873+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a real symmetric matrix. The arguments <tt class="docutils literal"><span class="pre">A</span></tt>,
3874+<tt class="docutils literal"><span class="pre">x</span></tt>, and <tt class="docutils literal"><span class="pre">y</span></tt> must have type <tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt>, and <tt class="docutils literal"><span class="pre">alpha</span></tt> and
3875+<tt class="docutils literal"><span class="pre">beta</span></tt> must be real.</p>
3876+</dd></dl>
3877+
3878+<dl class="function">
3879+<dt id="cvxopt.blas.hemv">
3880+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">hemv</tt><big>(</big><em>A</em>, <em>x</em>, <em>y</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.hemv" title="Permalink to this definition">¶</a></dt>
3881+<dd><p>Matrix-vector product with a real symmetric or complex Hermitian
3882+matrix:</p>
3883+<div class="math">
3884+<p><img src="_images/math/ba43bc2b06256b6e07fab088703404fadb26d608.png" alt="y := \alpha A x + \beta y," /></p>
3885+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is real symmetric or complex Hermitian. The arguments
3886+<tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">x</span></tt>, <tt class="docutils literal"><span class="pre">y</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
3887+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> and <tt class="docutils literal"><span class="pre">beta</span></tt> are only
3888+allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
3889+</dd></dl>
3890+
3891+<dl class="function">
3892+<dt id="cvxopt.blas.trmv">
3893+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">trmv</tt><big>(</big><em>A</em>, <em>x</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>trans = 'N'</em>, <em>diag = 'N'</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.trmv" title="Permalink to this definition">¶</a></dt>
3894+<dd><p>Matrix-vector product with a triangular matrix:</p>
3895+<div class="math">
3896+<p><img src="_images/math/754d5ef3c6d24a1becd4e5b7cbbb77ba590f1953.png" alt="x &amp; := Ax \quad (\mathrm{trans} = \mathrm{'N'}), \\
3897+x &amp; := A^T x \quad (\mathrm{trans} = \mathrm{'T'}), \\
3898+x &amp; := A^H x \quad (\mathrm{trans} = \mathrm{'C'})," /></p>
3899+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is square and triangular. The arguments <tt class="docutils literal"><span class="pre">A</span></tt> and
3900+<tt class="docutils literal"><span class="pre">x</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>).</p>
3901+</dd></dl>
3902+
3903+<dl class="function">
3904+<dt id="cvxopt.blas.trsv">
3905+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">trsv</tt><big>(</big><em>A</em>, <em>x</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>trans = 'N'</em>, <em>diag = 'N'</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.trsv" title="Permalink to this definition">¶</a></dt>
3906+<dd><p>Solution of a nonsingular triangular set of linear equations:</p>
3907+<div class="math">
3908+<p><img src="_images/math/7a99df5a9041f467f8002a277dedba09aa30420d.png" alt="x &amp; := A^{-1}x \quad (\mathrm{trans} = \mathrm{'N'}), \\
3909+x &amp; := A^{-T}x \quad (\mathrm{trans} = \mathrm{'T'}), \\
3910+x &amp; := A^{-H}x \quad (\mathrm{trans} = \mathrm{'C'})," /></p>
3911+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is square and triangular with nonzero diagonal elements.
3912+The arguments <tt class="docutils literal"><span class="pre">A</span></tt> and <tt class="docutils literal"><span class="pre">x</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
3913+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>).</p>
3914+</dd></dl>
3915+
3916+<dl class="function">
3917+<dt id="cvxopt.blas.gbmv">
3918+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">gbmv</tt><big>(</big><em>A</em>, <em>m</em>, <em>kl</em>, <em>x</em>, <em>y</em><span class="optional">[</span>, <em>trans = 'N'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.gbmv" title="Permalink to this definition">¶</a></dt>
3919+<dd><p>Matrix-vector product with a general band matrix:</p>
3920+<div class="math">
3921+<p><img src="_images/math/1a877016ae6db3fb612a56ec2989e72844db99f7.png" alt="y &amp; := \alpha Ax + \beta y \quad
3922+ (\mathrm{trans} = \mathrm{'N'}), \\
3923+y &amp; := \alpha A^T x + \beta y \quad
3924+ (\mathrm{trans} = \mathrm{'T'}), \\
3925+y &amp; := \alpha A^H x + \beta y \quad
3926+ (\mathrm{trans} = \mathrm{'C'})," /></p>
3927+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a rectangular band matrix with <img class="math" src="_images/math/f5047d1e0cbb50ec208923a22cd517c55100fa7b.png" alt="m"/> rows and
3928+<img class="math" src="_images/math/e505767c729ddb13cbb73d25556a9d0e9068a0e6.png" alt="k_l"/> subdiagonals. The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">x</span></tt>, <tt class="docutils literal"><span class="pre">y</span></tt> must have
3929+the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of
3930+<tt class="docutils literal"><span class="pre">alpha</span></tt> and <tt class="docutils literal"><span class="pre">beta</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
3931+</dd></dl>
3932+
3933+<dl class="function">
3934+<dt id="cvxopt.blas.sbmv">
3935+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">sbmv</tt><big>(</big><em>A</em>, <em>x</em>, <em>y</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.sbmv" title="Permalink to this definition">¶</a></dt>
3936+<dd><p>Matrix-vector product with a real symmetric band matrix:</p>
3937+<div class="math">
3938+<p><img src="_images/math/02fddc92b9ba6d1b1edb8918191220db96c48859.png" alt="y := \alpha Ax + \beta y," /></p>
3939+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a real symmetric band matrix. The arguments
3940+<tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">x</span></tt>, <tt class="docutils literal"><span class="pre">y</span></tt> must have type <tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt>, and <tt class="docutils literal"><span class="pre">alpha</span></tt> and
3941+<tt class="docutils literal"><span class="pre">beta</span></tt> must be real.</p>
3942+</dd></dl>
3943+
3944+<dl class="function">
3945+<dt id="cvxopt.blas.hbmv">
3946+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">hbmv</tt><big>(</big><em>A</em>, <em>x</em>, <em>y</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.hbmv" title="Permalink to this definition">¶</a></dt>
3947+<dd><p>Matrix-vector product with a real symmetric or complex Hermitian band
3948+matrix:</p>
3949+<div class="math">
3950+<p><img src="_images/math/02fddc92b9ba6d1b1edb8918191220db96c48859.png" alt="y := \alpha Ax + \beta y," /></p>
3951+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a real symmetric or complex Hermitian band matrix.
3952+The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">x</span></tt>, <tt class="docutils literal"><span class="pre">y</span></tt> must have the same type
3953+(<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> and
3954+<tt class="docutils literal"><span class="pre">beta</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
3955+</dd></dl>
3956+
3957+<dl class="function">
3958+<dt id="cvxopt.blas.tbmv">
3959+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">tbmv</tt><big>(</big><em>A</em>, <em>x</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>trans = 'N'</em>, <em>diag = 'N'</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.tbmv" title="Permalink to this definition">¶</a></dt>
3960+<dd><p>Matrix-vector product with a triangular band matrix:</p>
3961+<div class="math">
3962+<p><img src="_images/math/cad47014eeee6c0af4656757866126b36f1b9c0f.png" alt="x &amp; := Ax \quad (\mathrm{trans} = \mathrm{'N'}), \\
3963+x &amp; := A^T x \quad (\mathrm{trans} = \mathrm{'T'}), \\
3964+x &amp; := A^H x \quad (\mathrm{trans} = \mathrm{'C'})." /></p>
3965+</div><p>The arguments <tt class="docutils literal"><span class="pre">A</span></tt> and <tt class="docutils literal"><span class="pre">x</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
3966+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>).</p>
3967+</dd></dl>
3968+
3969+<dl class="function">
3970+<dt id="cvxopt.blas.tbsv">
3971+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">tbsv</tt><big>(</big><em>A</em>, <em>x</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>trans = 'N'</em>, <em>diag = 'N'</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.tbsv" title="Permalink to this definition">¶</a></dt>
3972+<dd><p>Solution of a triangular banded set of linear equations:</p>
3973+<div class="math">
3974+<p><img src="_images/math/e16fb4f37439c49cd32f0cb017826e80af2b5330.png" alt="x &amp; := A^{-1}x \quad (\mathrm{trans} = \mathrm{'N'}), \\
3975+x &amp; := A^{-T} x \quad (\mathrm{trans} = \mathrm{'T'}), \\
3976+x &amp; := A^{-H} x \quad (\mathrm{trans} = \mathrm{'T'})," /></p>
3977+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a triangular band matrix of with nonzero diagonal
3978+elements. The arguments <tt class="docutils literal"><span class="pre">A</span></tt> and <tt class="docutils literal"><span class="pre">x</span></tt> must have the same type
3979+(<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>).</p>
3980+</dd></dl>
3981+
3982+<dl class="function">
3983+<dt id="cvxopt.blas.ger">
3984+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">ger</tt><big>(</big><em>x</em>, <em>y</em>, <em>A</em><span class="optional">[</span>, <em>alpha = 1.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.ger" title="Permalink to this definition">¶</a></dt>
3985+<dd><p>General rank-1 update:</p>
3986+<div class="math">
3987+<p><img src="_images/math/5a1d0cfaccab316e80ee73f75d7a3259def3ffd2.png" alt="A := A + \alpha x y^H," /></p>
3988+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a general matrix. The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">x</span></tt>, and
3989+<tt class="docutils literal"><span class="pre">y</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex
3990+values of <tt class="docutils literal"><span class="pre">alpha</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
3991+</dd></dl>
3992+
3993+<dl class="function">
3994+<dt id="cvxopt.blas.geru">
3995+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">geru</tt><big>(</big><em>x</em>, <em>y</em>, <em>A</em><span class="optional">[</span>, <em>alpha = 1.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.geru" title="Permalink to this definition">¶</a></dt>
3996+<dd><p>General rank-1 update:</p>
3997+<div class="math">
3998+<p><img src="_images/math/a2cd54430a2ef28aec0877c9ad824d0f93ad5d58.png" alt="A := A + \alpha x y^T," /></p>
3999+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a general matrix. The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">x</span></tt>, and
4000+<tt class="docutils literal"><span class="pre">y</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex
4001+values of <tt class="docutils literal"><span class="pre">alpha</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
4002+</dd></dl>
4003+
4004+<dl class="function">
4005+<dt id="cvxopt.blas.syr">
4006+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">syr</tt><big>(</big><em>x</em>, <em>A</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>alpha = 1.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.syr" title="Permalink to this definition">¶</a></dt>
4007+<dd><p>Symmetric rank-1 update:</p>
4008+<div class="math">
4009+<p><img src="_images/math/4b0d8c7c85d040eab00b7b39b8267acccc40dc84.png" alt="A := A + \alpha xx^T," /></p>
4010+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a real symmetric matrix. The arguments <tt class="docutils literal"><span class="pre">A</span></tt> and
4011+<tt class="docutils literal"><span class="pre">x</span></tt> must have type <tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt>. <tt class="docutils literal"><span class="pre">alpha</span></tt> must be a real number.</p>
4012+</dd></dl>
4013+
4014+<dl class="function">
4015+<dt id="cvxopt.blas.her">
4016+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">her</tt><big>(</big><em>x</em>, <em>A</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>alpha = 1.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.her" title="Permalink to this definition">¶</a></dt>
4017+<dd><p>Hermitian rank-1 update:</p>
4018+<div class="math">
4019+<p><img src="_images/math/61d28c051484889a582fdaefefe98db6b31ce347.png" alt="A := A + \alpha xx^H," /></p>
4020+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a real symmetric or complex Hermitian matrix. The
4021+arguments <tt class="docutils literal"><span class="pre">A</span></tt> and <tt class="docutils literal"><span class="pre">x</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
4022+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). <tt class="docutils literal"><span class="pre">alpha</span></tt> must be a real number.</p>
4023+</dd></dl>
4024+
4025+<dl class="function">
4026+<dt id="cvxopt.blas.syr2">
4027+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">syr2</tt><big>(</big><em>x</em>, <em>y</em>, <em>A</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>alpha = 1.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.syr2" title="Permalink to this definition">¶</a></dt>
4028+<dd><p>Symmetric rank-2 update:</p>
4029+<div class="math">
4030+<p><img src="_images/math/193a10d6257248249fc9ba6a97ebf8db48d8dd96.png" alt="A := A + \alpha (xy^T + yx^T)," /></p>
4031+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a real symmetric matrix. The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">x</span></tt>,
4032+and <tt class="docutils literal"><span class="pre">y</span></tt> must have type <tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt>. <tt class="docutils literal"><span class="pre">alpha</span></tt> must be real.</p>
4033+</dd></dl>
4034+
4035+<dl class="function">
4036+<dt id="cvxopt.blas.her2">
4037+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">her2</tt><big>(</big><em>x</em>, <em>y</em>, <em>A</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>alpha = 1.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.her2" title="Permalink to this definition">¶</a></dt>
4038+<dd><p>Symmetric rank-2 update:</p>
4039+<div class="math">
4040+<p><img src="_images/math/1c1f67a0734afc239885815cb3fdca712cdeee34.png" alt="A := A + \alpha xy^H + \bar \alpha yx^H," /></p>
4041+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a a real symmetric or complex Hermitian matrix.
4042+The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">x</span></tt>, and <tt class="docutils literal"><span class="pre">y</span></tt> must have the same type
4043+(<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> are only
4044+allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
4045+</dd></dl>
4046+
4047+<p>As an example, the following code multiplies the tridiagonal matrix</p>
4048+<div class="math">
4049+<p><img src="_images/math/b000af80200fdf7effeeb2515d90d10fddd5e710.png" alt="A = \left[\begin{array}{rrrr}
4050+ 1 &amp; 6 &amp; 0 &amp; 0 \\
4051+ 2 &amp; -4 &amp; 3 &amp; 0 \\
4052+ 0 &amp; -3 &amp; -1 &amp; 1
4053+\end{array}\right]" /></p>
4054+</div><p>with the vector <img class="math" src="_images/math/2234314d95cdb2e0ee644869eeb7bd365fd64fca.png" alt="x = (1,-1,2,-2)"/>.</p>
4055+<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">cvxopt</span> <span class="kn">import</span> <span class="n">matrix</span>
4056+<span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">cvxopt.blas</span> <span class="kn">import</span> <span class="n">gbmv</span>
4057+<span class="gp">&gt;&gt;&gt; </span><span class="n">A</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">([[</span><span class="mf">0.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">2.</span><span class="p">],</span> <span class="p">[</span><span class="mf">6.</span><span class="p">,</span> <span class="o">-</span><span class="mf">4.</span><span class="p">,</span> <span class="o">-</span><span class="mf">3.</span><span class="p">],</span> <span class="p">[</span><span class="mf">3.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">],</span> <span class="p">[</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">]])</span>
4058+<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">([</span><span class="mf">1.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">2.</span><span class="p">,</span> <span class="o">-</span><span class="mf">2.</span><span class="p">])</span>
4059+<span class="gp">&gt;&gt;&gt; </span><span class="n">y</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">(</span><span class="mf">0.</span><span class="p">,</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span>
4060+<span class="gp">&gt;&gt;&gt; </span><span class="n">gbmv</span><span class="p">(</span><span class="n">A</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
4061+<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="n">y</span>
4062+<span class="go">[-5.00e+00]</span>
4063+<span class="go">[ 1.20e+01]</span>
4064+<span class="go">[-1.00e+00]</span>
4065+</pre></div>
4066+</div>
4067+<p>The following example illustrates the use of
4068+<a class="reference internal" href="#cvxopt.blas.tbsv" title="cvxopt.blas.tbsv"><tt class="xref py py-func docutils literal"><span class="pre">tbsv</span></tt></a>.</p>
4069+<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">cvxopt</span> <span class="kn">import</span> <span class="n">matrix</span>
4070+<span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">cvxopt.blas</span> <span class="kn">import</span> <span class="n">tbsv</span>
4071+<span class="gp">&gt;&gt;&gt; </span><span class="n">A</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">([</span><span class="o">-</span><span class="mf">6.</span><span class="p">,</span> <span class="mf">5.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">2.</span><span class="p">],</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">4</span><span class="p">))</span>
4072+<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span> <span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span>
4073+<span class="gp">&gt;&gt;&gt; </span><span class="n">tbsv</span><span class="p">(</span><span class="n">A</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span> <span class="c"># x := diag(A)^{-1}*x</span>
4074+<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="n">x</span>
4075+<span class="go">[-1.67e-01]</span>
4076+<span class="go">[ 2.00e-01]</span>
4077+<span class="go">[-1.00e+00]</span>
4078+<span class="go">[ 5.00e-01]</span>
4079+</pre></div>
4080+</div>
4081+</div>
4082+<div class="section" id="level-3-blas">
4083+<span id="s-blas-3"></span><h2>Level 3 BLAS<a class="headerlink" href="#level-3-blas" title="Permalink to this headline">¶</a></h2>
4084+<p>The level 3 BLAS include functions for matrix-matrix multiplication.</p>
4085+<dl class="function">
4086+<dt id="cvxopt.blas.gemm">
4087+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">gemm</tt><big>(</big><em>A</em>, <em>B</em>, <em>C</em><span class="optional">[</span>, <em>transA = 'N'</em>, <em>transB = 'N'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.gemm" title="Permalink to this definition">¶</a></dt>
4088+<dd><p>Matrix-matrix product of two general matrices:</p>
4089+<div class="math">
4090+<p><img src="_images/math/5c402c86863bfced2e5a4bdcb849f659c2518762.png" alt="\newcommand{\op}{\mathop{\mathrm{op}}}
4091+C := \alpha \op(A) \op(B) + \beta C" /></p>
4092+</div><p>where</p>
4093+<div class="math">
4094+<p><img src="_images/math/e39b614d32f074ae2f65c950cb3786a70353230d.png" alt="\newcommand{\op}{\mathop{\mathrm{op}}}
4095+\op(A) = \left\{ \begin{array}{ll}
4096+ A &amp; \mathrm{transA} = \mathrm{'N'} \\
4097+ A^T &amp; \mathrm{transA} = \mathrm{'T'} \\
4098+ A^H &amp; \mathrm{transA} = \mathrm{'C'} \end{array} \right.
4099+\qquad
4100+\op(B) = \left\{ \begin{array}{ll}
4101+ B &amp; \mathrm{transB} = \mathrm{'N'} \\
4102+ B^T &amp; \mathrm{transB} = \mathrm{'T'} \\
4103+ B^H &amp; \mathrm{transB} = \mathrm{'C'}. \end{array} \right." /></p>
4104+</div><p>The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">B</span></tt>, and <tt class="docutils literal"><span class="pre">C</span></tt> must have the same type
4105+(<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> and
4106+<tt class="docutils literal"><span class="pre">beta</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
4107+</dd></dl>
4108+
4109+<dl class="function">
4110+<dt id="cvxopt.blas.symm">
4111+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">symm</tt><big>(</big><em>A</em>, <em>B</em>, <em>C</em><span class="optional">[</span>, <em>side = 'L'</em>, <em>uplo = 'L'</em>, <em>alpha =1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.symm" title="Permalink to this definition">¶</a></dt>
4112+<dd><p>Product of a real or complex symmetric matrix <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> and a general
4113+matrix <img class="math" src="_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png" alt="B"/>:</p>
4114+<div class="math">
4115+<p><img src="_images/math/1321ae4fe422737feacf3c1da9c8d2f78b542272.png" alt="C &amp; := \alpha AB + \beta C \quad (\mathrm{side} = \mathrm{'L'}), \\
4116+C &amp; := \alpha BA + \beta C \quad (\mathrm{side} = \mathrm{'R'})." /></p>
4117+</div><p>The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">B</span></tt>, and <tt class="docutils literal"><span class="pre">C</span></tt> must have the same type
4118+(<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> and
4119+<tt class="docutils literal"><span class="pre">beta</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
4120+</dd></dl>
4121+
4122+<dl class="function">
4123+<dt id="cvxopt.blas.hemm">
4124+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">hemm</tt><big>(</big><em>A</em>, <em>B</em>, <em>C</em><span class="optional">[</span>, <em>side = 'L'</em>, <em>uplo = 'L'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.hemm" title="Permalink to this definition">¶</a></dt>
4125+<dd><p>Product of a real symmetric or complex Hermitian matrix <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> and a
4126+general matrix <img class="math" src="_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png" alt="B"/>:</p>
4127+<div class="math">
4128+<p><img src="_images/math/1321ae4fe422737feacf3c1da9c8d2f78b542272.png" alt="C &amp; := \alpha AB + \beta C \quad (\mathrm{side} = \mathrm{'L'}), \\
4129+C &amp; := \alpha BA + \beta C \quad (\mathrm{side} = \mathrm{'R'})." /></p>
4130+</div><p>The arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">B</span></tt>, and <tt class="docutils literal"><span class="pre">C</span></tt> must have the same type
4131+(<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> and
4132+<tt class="docutils literal"><span class="pre">beta</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
4133+</dd></dl>
4134+
4135+<dl class="function">
4136+<dt id="cvxopt.blas.trmm">
4137+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">trmm</tt><big>(</big><em>A</em>, <em>B</em><span class="optional">[</span>, <em>side = 'L'</em>, <em>uplo = 'L'</em>, <em>transA = 'N'</em>, <em>diag = 'N'</em>, <em>alpha = 1.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.trmm" title="Permalink to this definition">¶</a></dt>
4138+<dd><p>Product of a triangular matrix <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> and a general matrix <img class="math" src="_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png" alt="B"/>:</p>
4139+<div class="math">
4140+<p><img src="_images/math/695db815f33ead3599bc6fec853a3eb11e540537.png" alt="\newcommand{\op}{\mathop{\mathrm{op}}}
4141+\begin{split}
4142+B &amp; := \alpha\op(A)B \quad (\mathrm{side} = \mathrm{'L'}), \\
4143+B &amp; := \alpha B\op(A) \quad (\mathrm{side} = \mathrm{'R'})
4144+\end{split}" /></p>
4145+</div><p>where</p>
4146+<div class="math">
4147+<p><img src="_images/math/8546ca19769179ea1a2b09343f28b2329052a2c8.png" alt="\newcommand{\op}{\mathop{\mathrm{op}}}
4148+\op(A) = \left\{ \begin{array}{ll}
4149+ A &amp; \mathrm{transA} = \mathrm{'N'} \\
4150+ A^T &amp; \mathrm{transA} = \mathrm{'T'} \\
4151+ A^H &amp; \mathrm{transA} = \mathrm{'C'}. \end{array} \right." /></p>
4152+</div><p>The arguments <tt class="docutils literal"><span class="pre">A</span></tt> and <tt class="docutils literal"><span class="pre">B</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
4153+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt>
4154+is complex.</p>
4155+</dd></dl>
4156+
4157+<dl class="function">
4158+<dt id="cvxopt.blas.trsm">
4159+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">trsm</tt><big>(</big><em>A</em>, <em>B</em><span class="optional">[</span>, <em>side = 'L'</em>, <em>uplo = 'L'</em>, <em>transA = 'N'</em>, <em>diag = 'N'</em>, <em>alpha = 1.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.trsm" title="Permalink to this definition">¶</a></dt>
4160+<dd><p>Solution of a nonsingular triangular system of equations:</p>
4161+<div class="math">
4162+<p><img src="_images/math/f3a22d01b8bc69ba4c61c8228fd70aa5579f6f43.png" alt="\newcommand{\op}{\mathop{\mathrm{op}}}
4163+\begin{split}
4164+B &amp; := \alpha \op(A)^{-1}B \quad (\mathrm{side} = \mathrm{'L'}), \\
4165+B &amp; := \alpha B\op(A)^{-1} \quad (\mathrm{side} = \mathrm{'R'}),
4166+\end{split}" /></p>
4167+</div><p>where</p>
4168+<div class="math">
4169+<p><img src="_images/math/8eca721b4bae76ad5931d7308ced32d4c72d258d.png" alt="\newcommand{\op}{\mathop{\mathrm{op}}}
4170+\op(A) = \left\{ \begin{array}{ll}
4171+ A &amp; \mathrm{transA} = \mathrm{'N'} \\
4172+ A^T &amp; \mathrm{transA} = \mathrm{'T'} \\
4173+ A^H &amp; \mathrm{transA} = \mathrm{'C'}, \end{array} \right." /></p>
4174+</div><p><img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is triangular and <img class="math" src="_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png" alt="B"/> is a general matrix. The
4175+arguments <tt class="docutils literal"><span class="pre">A</span></tt> and <tt class="docutils literal"><span class="pre">B</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
4176+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt>
4177+is complex.</p>
4178+</dd></dl>
4179+
4180+<dl class="function">
4181+<dt id="cvxopt.blas.syrk">
4182+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">syrk</tt><big>(</big><em>A</em>, <em>C</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>trans = 'N'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.syrk" title="Permalink to this definition">¶</a></dt>
4183+<dd><p>Rank-<img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/> update of a real or complex symmetric matrix <img class="math" src="_images/math/c3355896da590fc491a10150a50416687626d7cc.png" alt="C"/>:</p>
4184+<div class="math">
4185+<p><img src="_images/math/6a09e3e0c4b107e714bab1fdaf94303d5ea63905.png" alt="C &amp; := \alpha AA^T + \beta C \quad
4186+ (\mathrm{trans} = \mathrm{'N'}), \\
4187+C &amp; := \alpha A^TA + \beta C \quad
4188+ (\mathrm{trans} = \mathrm{'T'})," /></p>
4189+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a general matrix. The arguments <tt class="docutils literal"><span class="pre">A</span></tt> and <tt class="docutils literal"><span class="pre">C</span></tt>
4190+must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values
4191+of <tt class="docutils literal"><span class="pre">alpha</span></tt> and <tt class="docutils literal"><span class="pre">beta</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
4192+</dd></dl>
4193+
4194+<dl class="function">
4195+<dt id="cvxopt.blas.herk">
4196+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">herk</tt><big>(</big><em>A</em>, <em>C</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>trans = 'N'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.herk" title="Permalink to this definition">¶</a></dt>
4197+<dd><p>Rank-<img class="math" src="_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/> update of a real symmetric or complex Hermitian matrix
4198+<img class="math" src="_images/math/c3355896da590fc491a10150a50416687626d7cc.png" alt="C"/>:</p>
4199+<div class="math">
4200+<p><img src="_images/math/b6a3fce6771deb11df3b1a91787c94bb4cc59b6b.png" alt="C &amp; := \alpha AA^H + \beta C \quad
4201+ (\mathrm{trans} = \mathrm{'N'}), \\
4202+C &amp; := \alpha A^HA + \beta C \quad
4203+ (\mathrm{trans} = \mathrm{'C'})," /></p>
4204+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> is a general matrix. The arguments <tt class="docutils literal"><span class="pre">A</span></tt> and <tt class="docutils literal"><span class="pre">C</span></tt>
4205+must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). <tt class="docutils literal"><span class="pre">alpha</span></tt> and
4206+<tt class="docutils literal"><span class="pre">beta</span></tt> must be real.</p>
4207+</dd></dl>
4208+
4209+<dl class="function">
4210+<dt id="cvxopt.blas.syr2k">
4211+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">syr2k</tt><big>(</big><em>A</em>, <em>B</em>, <em>C</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>trans = 'N'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.syr2k" title="Permalink to this definition">¶</a></dt>
4212+<dd><p>Rank-<img class="math" src="_images/math/b8ea7ee8a282949fd853a01537ec7a2b55e56f75.png" alt="2k"/> update of a real or complex symmetric matrix <img class="math" src="_images/math/c3355896da590fc491a10150a50416687626d7cc.png" alt="C"/>:</p>
4213+<div class="math">
4214+<p><img src="_images/math/10f1c810b7aea1fee7dd21cd0de10161957cf7e8.png" alt="C &amp; := \alpha (AB^T + BA^T) + \beta C \quad
4215+ (\mathrm{trans} = \mathrm{'N'}), \\
4216+C &amp; := \alpha (A^TB + B^TA) + \beta C \quad
4217+ (\mathrm{trans} = \mathrm{'T'})." /></p>
4218+</div><p><img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> and <img class="math" src="_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png" alt="B"/> are general real or complex matrices. The
4219+arguments <tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">B</span></tt>, and <tt class="docutils literal"><span class="pre">C</span></tt> must have the same type. Complex
4220+values of <tt class="docutils literal"><span class="pre">alpha</span></tt> and <tt class="docutils literal"><span class="pre">beta</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt> is complex.</p>
4221+</dd></dl>
4222+
4223+<dl class="function">
4224+<dt id="cvxopt.blas.her2k">
4225+<tt class="descclassname">cvxopt.blas.</tt><tt class="descname">her2k</tt><big>(</big><em>A</em>, <em>B</em>, <em>C</em><span class="optional">[</span>, <em>uplo = 'L'</em>, <em>trans = 'N'</em>, <em>alpha = 1.0</em>, <em>beta = 0.0</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.blas.her2k" title="Permalink to this definition">¶</a></dt>
4226+<dd><p>Rank-<img class="math" src="_images/math/b8ea7ee8a282949fd853a01537ec7a2b55e56f75.png" alt="2k"/> update of a real symmetric or complex Hermitian matrix
4227+<img class="math" src="_images/math/c3355896da590fc491a10150a50416687626d7cc.png" alt="C"/>:</p>
4228+<div class="math">
4229+<p><img src="_images/math/cfe6974cf103f98bc985a9c34598a50b100a6c6b.png" alt="C &amp; := \alpha AB^H + \bar \alpha BA^H + \beta C \quad
4230+ (\mathrm{trans} = \mathrm{'N'}), \\
4231+C &amp; := \alpha A^HB + \bar\alpha B^HA + \beta C \quad
4232+ (\mathrm{trans} = \mathrm{'C'})," /></p>
4233+</div><p>where <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> and <img class="math" src="_images/math/ff5fb3d775862e2123b007eb4373ff6cc1a34d4e.png" alt="B"/> are general matrices. The arguments
4234+<tt class="docutils literal"><span class="pre">A</span></tt>, <tt class="docutils literal"><span class="pre">B</span></tt>, and <tt class="docutils literal"><span class="pre">C</span></tt> must have the same type (<tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or
4235+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>). Complex values of <tt class="docutils literal"><span class="pre">alpha</span></tt> are only allowed if <tt class="docutils literal"><span class="pre">A</span></tt>
4236+is complex. <tt class="docutils literal"><span class="pre">beta</span></tt> must be real.</p>
4237+</dd></dl>
4238+
4239+</div>
4240+</div>
4241+
4242+
4243+ </div>
4244+ </div>
4245+ </div>
4246+ <div class="sphinxsidebar">
4247+ <div class="sphinxsidebarwrapper">
4248+ <h3><a href="index.html">Table Of Contents</a></h3>
4249+ <ul>
4250+<li><a class="reference internal" href="#">The BLAS Interface</a><ul>
4251+<li><a class="reference internal" href="#matrix-classes">Matrix Classes</a></li>
4252+<li><a class="reference internal" href="#level-1-blas">Level 1 BLAS</a></li>
4253+<li><a class="reference internal" href="#level-2-blas">Level 2 BLAS</a></li>
4254+<li><a class="reference internal" href="#level-3-blas">Level 3 BLAS</a></li>
4255+</ul>
4256+</li>
4257+</ul>
4258+
4259+ <h4>Previous topic</h4>
4260+ <p class="topless"><a href="matrices.html"
4261+ title="previous chapter">Dense and Sparse Matrices</a></p>
4262+ <h4>Next topic</h4>
4263+ <p class="topless"><a href="lapack.html"
4264+ title="next chapter">The LAPACK Interface</a></p>
4265+<div id="searchbox" style="display: none">
4266+ <h3>Quick search</h3>
4267+ <form class="search" action="search.html" method="get">
4268+ <input type="text" name="q" size="18" />
4269+ <input type="submit" value="Go" />
4270+ <input type="hidden" name="check_keywords" value="yes" />
4271+ <input type="hidden" name="area" value="default" />
4272+ </form>
4273+ <p class="searchtip" style="font-size: 90%">
4274+ Enter search terms or a module, class or function name.
4275+ </p>
4276+</div>
4277+<script type="text/javascript">$('#searchbox').show(0);</script>
4278+ </div>
4279+ </div>
4280+ <div class="clearer"></div>
4281+ </div>
4282+ <div class="related">
4283+ <h3>Navigation</h3>
4284+ <ul>
4285+ <li class="right" style="margin-right: 10px">
4286+ <a href="lapack.html" title="The LAPACK Interface"
4287+ >next</a></li>
4288+ <li class="right" >
4289+ <a href="matrices.html" title="Dense and Sparse Matrices"
4290+ >previous</a> |</li>
4291+ <li><a href="http://abel.ee.ucla.edu/cvxopt">CVXOPT home</a> |</li>
4292+
4293+ <li><a href="index.html">user&#39;s guide</a> </li>
4294+
4295+ </ul>
4296+ </div>
4297+ <div class="footer">
4298+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.3.
4299+ </div>
4300+ </body>
4301+</html>
4302\ No newline at end of file
4303
4304=== added file 'doc/build/html/c-api.html'
4305--- doc/build/html/c-api.html 1970-01-01 00:00:00 +0000
4306+++ doc/build/html/c-api.html 2010-12-10 13:03:35 +0000
4307@@ -0,0 +1,306 @@
4308+
4309+
4310+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4311+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4312+
4313+<html xmlns="http://www.w3.org/1999/xhtml">
4314+ <head>
4315+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4316+
4317+ <title>C API &mdash; CVXOPT User&#39;s Guide</title>
4318+ <link rel="stylesheet" href="_static/cvxopt.css" type="text/css" />
4319+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
4320+ <script type="text/javascript">
4321+ var DOCUMENTATION_OPTIONS = {
4322+ URL_ROOT: '',
4323+ VERSION: '1.1.1',
4324+ COLLAPSE_INDEX: false,
4325+ FILE_SUFFIX: '.html',
4326+ HAS_SOURCE: false
4327+ };
4328+ </script>
4329+ <script type="text/javascript" src="_static/jquery.js"></script>
4330+ <script type="text/javascript" src="_static/underscore.js"></script>
4331+ <script type="text/javascript" src="_static/doctools.js"></script>
4332+ <link rel="copyright" title="Copyright" href="copyright.html" />
4333+ <link rel="top" title="CVXOPT User&#39;s Guide" href="index.html" />
4334+ <link rel="next" title="Matrix Formatting" href="printing.html" />
4335+ <link rel="prev" title="Modeling" href="modeling.html" />
4336+ </head>
4337+ <body>
4338+ <div class="related">
4339+ <h3>Navigation</h3>
4340+ <ul>
4341+ <li class="right" style="margin-right: 10px">
4342+ <a href="printing.html" title="Matrix Formatting"
4343+ accesskey="N">next</a></li>
4344+ <li class="right" >
4345+ <a href="modeling.html" title="Modeling"
4346+ accesskey="P">previous</a> |</li>
4347+ <li><a href="http://abel.ee.ucla.edu/cvxopt">CVXOPT home</a> |</li>
4348+
4349+ <li><a href="index.html">user&#39;s guide</a> </li>
4350+
4351+ </ul>
4352+ </div>
4353+
4354+ <div class="document">
4355+ <div class="documentwrapper">
4356+ <div class="bodywrapper">
4357+ <div class="body">
4358+
4359+ <div class="section" id="c-api">
4360+<span id="c-capi"></span><h1>C API<a class="headerlink" href="#c-api" title="Permalink to this headline">¶</a></h1>
4361+<p>The API can be used to extend CVXOPT with interfaces to external C routines
4362+and libraries. A C program that creates or manipulates the dense or sparse
4363+matrix objects defined in CVXOPT must include the <tt class="xref py py-const docutils literal"><span class="pre">cvxopt.h</span></tt> header
4364+file in the <tt class="xref py py-const docutils literal"><span class="pre">src</span></tt> directory of the distribution.</p>
4365+<p>Before the C API can be used in an extension module it must be initialized
4366+by calling the macro <tt class="xref c c-macro docutils literal"><span class="pre">import_cvxopt</span></tt>. As an example we show the
4367+module initialization from the <tt class="xref py py-mod docutils literal"><span class="pre">cvxopt.blas</span></tt> module, which itself uses
4368+the API:</p>
4369+<div class="highlight-c"><div class="highlight"><pre><span class="n">PyMODINIT_FUNC</span> <span class="nf">initblas</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
4370+<span class="p">{</span>
4371+ <span class="n">PyObject</span> <span class="o">*</span><span class="n">m</span><span class="p">;</span>
4372+
4373+ <span class="n">m</span> <span class="o">=</span> <span class="n">Py_InitModule3</span><span class="p">(</span><span class="s">&quot;cvxopt.blas&quot;</span><span class="p">,</span> <span class="n">blas_functions</span><span class="p">,</span> <span class="n">blas__doc__</span><span class="p">);</span>
4374+
4375+ <span class="k">if</span> <span class="p">(</span><span class="n">import_cvxopt</span><span class="p">()</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
4376+ <span class="k">return</span><span class="p">;</span>
4377+<span class="p">}</span>
4378+</pre></div>
4379+</div>
4380+<div class="section" id="dense-matrices">
4381+<h2>Dense Matrices<a class="headerlink" href="#dense-matrices" title="Permalink to this headline">¶</a></h2>
4382+<p>As can be seen from the header file <tt class="xref py py-const docutils literal"><span class="pre">cvxopt.h</span></tt>, a <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> is
4383+essentially a structure with four fields. The fields <tt class="xref c c-member docutils literal"><span class="pre">nrows</span></tt> and
4384+<tt class="xref c c-member docutils literal"><span class="pre">ncols</span></tt> are two integers that specify the dimensions. The
4385+<tt class="xref c c-member docutils literal"><span class="pre">id</span></tt> field controls the type of the matrix and can have values
4386+<tt class="xref py py-const docutils literal"><span class="pre">DOUBLE</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">INT</span></tt>, and <tt class="xref py py-const docutils literal"><span class="pre">COMPLEX</span></tt>. The <tt class="xref c c-member docutils literal"><span class="pre">buffer</span></tt>
4387+field is an array that contains the matrix elements stored contiguously in
4388+column-major order.</p>
4389+<p>The following C functions can be used to create matrices.</p>
4390+<dl class="function">
4391+<dt id="Matrix_New">
4392+matrix * <tt class="descname">Matrix_New</tt><big>(</big>int<em> nrows</em>, int<em> ncols</em>, int<em> id</em><big>)</big><a class="headerlink" href="#Matrix_New" title="Permalink to this definition">¶</a></dt>
4393+<dd><p>Returns a <tt class="xref py py-class docutils literal"><span class="pre">matrix</span></tt> object of type <cite>id</cite> with <cite>nrows</cite> rows and
4394+<cite>ncols</cite> columns. The elements of the matrix are uninitialized.</p>
4395+</dd></dl>
4396+
4397+<dl class="function">
4398+<dt id="Matrix_NewFromMatrix">
4399+matrix * <tt class="descname">Matrix_NewFromMatrix</tt><big>(</big>matrix<em> *src</em>, int<em> id</em><big>)</big><a class="headerlink" href="#Matrix_NewFromMatrix" title="Permalink to this definition">¶</a></dt>
4400+<dd><p>Returns a copy of the matrix <cite>src</cite> converted to type <cite>id</cite>. The
4401+following type conversions are allowed: <tt class="xref py py-const docutils literal"><span class="pre">'i'</span></tt> to <tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt>,
4402+<tt class="xref py py-const docutils literal"><span class="pre">'i'</span></tt> to <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>, and <tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> to <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>.</p>
4403+</dd></dl>
4404+
4405+<dl class="function">
4406+<dt id="Matrix_NewFromSequence">
4407+matrix * <tt class="descname">Matrix_NewFromSequence</tt><big>(</big>PyListObject<em> *x</em>, int<em> id</em><big>)</big><a class="headerlink" href="#Matrix_NewFromSequence" title="Permalink to this definition">¶</a></dt>
4408+<dd><p>Creates a matrix of type <cite>id</cite> from the Python sequence type <cite>x</cite>. The
4409+returned matrix has size <tt class="docutils literal"><span class="pre">(len(x),</span> <span class="pre">1)</span></tt>. The size can be changed
4410+by modifying the <tt class="xref c c-member docutils literal"><span class="pre">nrows</span></tt> and <tt class="xref c c-member docutils literal"><span class="pre">ncols</span></tt> fields of the
4411+returned matrix.</p>
4412+</dd></dl>
4413+
4414+<p>To illustrate the creation and manipulation of dense matrices (as well as
4415+the Python C API), we show the code for the <a class="reference internal" href="matrices.html#cvxopt.uniform" title="cvxopt.uniform"><tt class="xref py py-func docutils literal"><span class="pre">cvxopt.uniform</span></tt></a> function
4416+described in the section <a class="reference internal" href="matrices.html#s-random"><em>Randomly Generated Matrices</em></a>.</p>
4417+<div class="highlight-c"><div class="highlight"><pre><span class="n">PyObject</span> <span class="o">*</span> <span class="nf">uniform</span><span class="p">(</span><span class="n">PyObject</span> <span class="o">*</span><span class="n">self</span><span class="p">,</span> <span class="n">PyObject</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="n">PyObject</span> <span class="o">*</span><span class="n">kwrds</span><span class="p">)</span>
4418+<span class="p">{</span>
4419+ <span class="n">matrix</span> <span class="o">*</span><span class="n">obj</span><span class="p">;</span>
4420+ <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">nrows</span><span class="p">,</span> <span class="n">ncols</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
4421+ <span class="kt">double</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
4422+ <span class="kt">char</span> <span class="o">*</span><span class="n">kwlist</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;nrows&quot;</span><span class="p">,</span> <span class="s">&quot;ncols&quot;</span><span class="p">,</span> <span class="s">&quot;a&quot;</span><span class="p">,</span> <span class="s">&quot;b&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">};</span>
4423+
4424+ <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">PyArg_ParseTupleAndKeywords</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">kwrds</span><span class="p">,</span> <span class="s">&quot;i|idd&quot;</span><span class="p">,</span> <span class="n">kwlist</span><span class="p">,</span>
4425+ <span class="o">&amp;</span><span class="n">nrows</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">ncols</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">a</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">b</span><span class="p">))</span> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
4426+
4427+ <span class="k">if</span> <span class="p">((</span><span class="n">nrows</span><span class="o">&lt;</span><span class="mi">0</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">ncols</span><span class="o">&lt;</span><span class="mi">0</span><span class="p">))</span> <span class="p">{</span>
4428+ <span class="n">PyErr_SetString</span><span class="p">(</span><span class="n">PyExc_TypeError</span><span class="p">,</span> <span class="s">&quot;dimensions must be non-negative&quot;</span><span class="p">);</span>
4429+ <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
4430+ <span class="p">}</span>
4431+
4432+ <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">obj</span> <span class="o">=</span> <span class="n">Matrix_New</span><span class="p">(</span><span class="n">nrows</span><span class="p">,</span> <span class="n">ncols</span><span class="p">,</span> <span class="n">DOUBLE</span><span class="p">)))</span>
4433+ <span class="k">return</span> <span class="n">PyErr_NoMemory</span><span class="p">();</span>
4434+
4435+ <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">nrows</span><span class="o">*</span><span class="n">ncols</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span>
4436+ <span class="n">MAT_BUFD</span><span class="p">(</span><span class="n">obj</span><span class="p">)[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">Uniform</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">);</span>
4437+
4438+ <span class="k">return</span> <span class="p">(</span><span class="n">PyObject</span> <span class="o">*</span><span class="p">)</span><span class="n">obj</span><span class="p">;</span>
4439+<span class="p">}</span>
4440+</pre></div>
4441+</div>
4442+</div>
4443+<div class="section" id="sparse-matrices">
4444+<h2>Sparse Matrices<a class="headerlink" href="#sparse-matrices" title="Permalink to this headline">¶</a></h2>
4445+<p>Sparse matrices are stored in compressed column storage (CCS) format. For
4446+a general <cite>nrows</cite> by <cite>ncols</cite> sparse matrix with <cite>nnz</cite> nonzero entries this
4447+means the following. The sparsity pattern and the nonzero values are
4448+stored in three fields:</p>
4449+<dl class="docutils">
4450+<dt><tt class="xref c c-member docutils literal"><span class="pre">values</span></tt></dt>
4451+<dd>A <tt class="xref py py-const docutils literal"><span class="pre">'d'</span></tt> or <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt> matrix of size <tt class="docutils literal"><span class="pre">(nnz,1)</span></tt> with the
4452+nonzero entries of the matrix stored columnwise.</dd>
4453+<dt><tt class="xref c c-member docutils literal"><span class="pre">rowind</span></tt></dt>
4454+<dd>An array of integers of length <cite>nnz</cite> containing the row indices of
4455+the nonzero entries, stored in the same order as <tt class="xref c c-member docutils literal"><span class="pre">values</span></tt>.</dd>
4456+<dt><tt class="xref c c-member docutils literal"><span class="pre">colptr</span></tt></dt>
4457+<dd>An array of integers of length <cite>ncols</cite> + 1 with for each column of the
4458+matrix the index of the first element in <tt class="xref c c-member docutils literal"><span class="pre">values</span></tt> from that
4459+column. More precisely, <tt class="docutils literal"><span class="pre">colptr[0]</span></tt> is <tt class="xref py py-const docutils literal"><span class="pre">0</span></tt>, and for
4460+k = 0, 1, ..., <cite>ncols</cite> - 1, <tt class="docutils literal"><span class="pre">colptr[k+1]</span></tt> is equal to
4461+<tt class="docutils literal"><span class="pre">colptr[k]</span></tt> plus the number of nonzeros in column <cite>k</cite> of the
4462+matrix. Thus, <tt class="docutils literal"><span class="pre">colptr[ncols]</span></tt> is equal to <cite>nnz</cite>, the number of
4463+nonzero entries.</dd>
4464+</dl>
4465+<p>For example, for the matrix</p>
4466+<div class="math">
4467+<p><img src="_images/math/f4cc3b4324f3f4bb12a7db934c2c5c5acc98fe66.png" alt="A=\left [\begin{array}{cccc}
4468+ 1 &amp; 0 &amp; 0 &amp; 5\\
4469+ 2 &amp; 0 &amp; 4 &amp; 0\\
4470+ 0 &amp; 0 &amp; 0 &amp; 6\\
4471+ 3 &amp; 0 &amp; 0 &amp; 0
4472+\end{array}\right]" /></p>
4473+</div><p>the elements of <tt class="xref c c-member docutils literal"><span class="pre">values</span></tt>, <tt class="xref c c-member docutils literal"><span class="pre">rowind</span></tt>, and <tt class="xref c c-member docutils literal"><span class="pre">colptr</span></tt>
4474+are:</p>
4475+<dl class="docutils">
4476+<dt><tt class="xref c c-member docutils literal"><span class="pre">values</span></tt>:</dt>
4477+<dd>1.0, 2.0, 3.0, 4.0, 5.0, 6.0</dd>
4478+<dt><tt class="xref c c-member docutils literal"><span class="pre">rowind</span></tt>:</dt>
4479+<dd>0, 1,3, 1, 0, 2</dd>
4480+<dt><tt class="xref c c-member docutils literal"><span class="pre">colptr</span></tt>:</dt>
4481+<dd>0, 3, 3, 4, 6.</dd>
4482+</dl>
4483+<p>It is crucial that for each column the row indices in <tt class="xref c c-member docutils literal"><span class="pre">rowind</span></tt> are
4484+sorted; the equivalent representation</p>
4485+<dl class="docutils">
4486+<dt><tt class="xref c c-member docutils literal"><span class="pre">values</span></tt>:</dt>
4487+<dd>3.0, 2.0, 1.0, 4.0, 5.0, 6.0</dd>
4488+<dt><tt class="xref c c-member docutils literal"><span class="pre">rowind</span></tt>:</dt>
4489+<dd>3, 1, 0, 1, 0, 2</dd>
4490+<dt><tt class="xref c c-member docutils literal"><span class="pre">colptr</span></tt>:</dt>
4491+<dd>0, 3, 3, 4, 6</dd>
4492+</dl>
4493+<p>is not allowed (and will likely cause the program to crash).</p>
4494+<p>The <tt class="xref c c-member docutils literal"><span class="pre">nzmax</span></tt> field specifies the number of non-zero elements the
4495+matrix can store. It is equal to the length of <tt class="xref c c-member docutils literal"><span class="pre">rowind</span></tt> and
4496+<tt class="xref c c-member docutils literal"><span class="pre">values</span></tt>; this number can be larger that <tt class="docutils literal"><span class="pre">colptr[nrows]</span></tt>,
4497+but never less. This field makes it possible to preallocate a certain
4498+amount of memory to avoid reallocations if the matrix is constructed
4499+sequentially by filling in elements. In general the <tt class="xref c c-member docutils literal"><span class="pre">nzmax</span></tt> field
4500+can safely be ignored, however, since it will always be adjusted
4501+automatically as the number of non-zero elements grows.</p>
4502+<p>The <tt class="xref c c-member docutils literal"><span class="pre">id</span></tt> field controls the type of the matrix and can have
4503+values <tt class="xref py py-const docutils literal"><span class="pre">DOUBLE</span></tt> and <tt class="xref py py-const docutils literal"><span class="pre">COMPLEX</span></tt>.</p>
4504+<p>Sparse matrices are created using the following functions from the API.</p>
4505+<dl class="function">
4506+<dt id="SpMatrix_New">
4507+spmatrix * <tt class="descname">SpMatrix_New</tt><big>(</big>int<em> nrows</em>, int<em> ncols</em>, int<em> nzmax</em>, int<em> id</em><big>)</big><a class="headerlink" href="#SpMatrix_New" title="Permalink to this definition">¶</a></dt>
4508+<dd><p>Returns a sparse zero matrix with <cite>nrows</cite> rows and <cite>ncols</cite> columns.
4509+<cite>nzmax</cite> is the number of elements that will be allocated (the length of
4510+the <tt class="xref c c-member docutils literal"><span class="pre">values</span></tt> and <tt class="xref c c-member docutils literal"><span class="pre">rowind</span></tt> fields).</p>
4511+</dd></dl>
4512+
4513+<dl class="function">
4514+<dt id="SpMatrix_NewFromMatrix">
4515+spmatrix * <tt class="descname">SpMatrix_NewFromMatrix</tt><big>(</big>spmatrix<em> *src</em>, int<em> id</em><big>)</big><a class="headerlink" href="#SpMatrix_NewFromMatrix" title="Permalink to this definition">¶</a></dt>
4516+<dd><p>Returns a copy the sparse matrix var{src}.</p>
4517+</dd></dl>
4518+
4519+<dl class="function">
4520+<dt id="SpMatrix_NewFromIJV">
4521+spmatrix * <tt class="descname">SpMatrix_NewFromIJV</tt><big>(</big>matrix<em> *I</em>, matrix<em> *J</em>, matrix<em> *V</em>, int<em> nrows</em>, int<em> ncols</em>, int<em> nzmax</em>, int<em> id</em><big>)</big><a class="headerlink" href="#SpMatrix_NewFromIJV" title="Permalink to this definition">¶</a></dt>
4522+<dd><p>Creates a sparse matrix with <cite>nrows</cite> rows and <cite>ncols</cite> columns from a
4523+triplet description. <cite>I</cite> and <cite>J</cite> must be integer matrices and <cite>V</cite>
4524+either a double or complex matrix, or <tt class="xref py py-const docutils literal"><span class="pre">NULL</span></tt>. If <cite>V</cite> is
4525+<tt class="xref py py-const docutils literal"><span class="pre">NULL</span></tt> the values of the entries in the matrix are undefined,
4526+otherwise they are specified by <cite>V</cite>. Repeated entries in <cite>V</cite> are
4527+summed. The number of allocated elements is given by <cite>nzmax</cite>, which is
4528+adjusted if it is smaller than the required amount.</p>
4529+</dd></dl>
4530+
4531+<p>We illustrate use of the sparse matrix class by listing the source
4532+code for the <a class="reference internal" href="matrices.html#real" title="real"><tt class="xref py py-attr docutils literal"><span class="pre">real</span></tt></a> method, which returns the real part of
4533+a sparse matrix:</p>
4534+<div class="highlight-c"><div class="highlight"><pre><span class="k">static</span> <span class="n">PyObject</span> <span class="o">*</span> <span class="nf">spmatrix_real</span><span class="p">(</span><span class="n">spmatrix</span> <span class="o">*</span><span class="n">self</span><span class="p">)</span> <span class="p">{</span>
4535+
4536+ <span class="k">if</span> <span class="p">(</span><span class="n">SP_ID</span><span class="p">(</span><span class="n">self</span><span class="p">)</span> <span class="o">!=</span> <span class="n">COMPLEX</span><span class="p">)</span>
4537+ <span class="k">return</span> <span class="p">(</span><span class="n">PyObject</span> <span class="o">*</span><span class="p">)</span><span class="n">SpMatrix_NewFromMatrix</span><span class="p">(</span><span class="n">self</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">SP_ID</span><span class="p">(</span><span class="n">self</span><span class="p">));</span>
4538+
4539+ <span class="n">spmatrix</span> <span class="o">*</span><span class="n">ret</span> <span class="o">=</span> <span class="n">SpMatrix_New</span><span class="p">(</span><span class="n">SP_NROWS</span><span class="p">(</span><span class="n">self</span><span class="p">),</span> <span class="n">SP_NCOLS</span><span class="p">(</span><span class="n">self</span><span class="p">),</span>
4540+ <span class="n">SP_NNZ</span><span class="p">(</span><span class="n">self</span><span class="p">),</span> <span class="n">DOUBLE</span><span class="p">);</span>
4541+ <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">ret</span><span class="p">)</span> <span class="k">return</span> <span class="n">PyErr_NoMemory</span><span class="p">();</span>
4542+
4543+ <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
4544+ <span class="k">for</span> <span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">SP_NNZ</span><span class="p">(</span><span class="n">self</span><span class="p">);</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span>
4545+ <span class="n">SP_VALD</span><span class="p">(</span><span class="n">ret</span><span class="p">)[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">creal</span><span class="p">(</span><span class="n">SP_VALZ</span><span class="p">(</span><span class="n">self</span><span class="p">)[</span><span class="n">i</span><span class="p">]);</span>
4546+
4547+ <span class="n">memcpy</span><span class="p">(</span><span class="n">SP_COL</span><span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="n">SP_COL</span><span class="p">(</span><span class="n">self</span><span class="p">),</span> <span class="p">(</span><span class="n">SP_NCOLS</span><span class="p">(</span><span class="n">self</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="k">sizeof</span><span class="p">(</span><span class="n">int_t</span><span class="p">));</span>
4548+ <span class="n">memcpy</span><span class="p">(</span><span class="n">SP_ROW</span><span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="n">SP_ROW</span><span class="p">(</span><span class="n">self</span><span class="p">),</span> <span class="n">SP_NNZ</span><span class="p">(</span><span class="n">self</span><span class="p">)</span><span class="o">*</span><span class="k">sizeof</span><span class="p">(</span><span class="n">int_t</span><span class="p">));</span>
4549+ <span class="k">return</span> <span class="p">(</span><span class="n">PyObject</span> <span class="o">*</span><span class="p">)</span><span class="n">ret</span><span class="p">;</span>
4550+<span class="p">}</span>
4551+</pre></div>
4552+</div>
4553+</div>
4554+</div>
4555+
4556+
4557+ </div>
4558+ </div>
4559+ </div>
4560+ <div class="sphinxsidebar">
4561+ <div class="sphinxsidebarwrapper">
4562+ <h3><a href="index.html">Table Of Contents</a></h3>
4563+ <ul>
4564+<li><a class="reference internal" href="#">C API</a><ul>
4565+<li><a class="reference internal" href="#dense-matrices">Dense Matrices</a></li>
4566+<li><a class="reference internal" href="#sparse-matrices">Sparse Matrices</a></li>
4567+</ul>
4568+</li>
4569+</ul>
4570+
4571+ <h4>Previous topic</h4>
4572+ <p class="topless"><a href="modeling.html"
4573+ title="previous chapter">Modeling</a></p>
4574+ <h4>Next topic</h4>
4575+ <p class="topless"><a href="printing.html"
4576+ title="next chapter">Matrix Formatting</a></p>
4577+<div id="searchbox" style="display: none">
4578+ <h3>Quick search</h3>
4579+ <form class="search" action="search.html" method="get">
4580+ <input type="text" name="q" size="18" />
4581+ <input type="submit" value="Go" />
4582+ <input type="hidden" name="check_keywords" value="yes" />
4583+ <input type="hidden" name="area" value="default" />
4584+ </form>
4585+ <p class="searchtip" style="font-size: 90%">
4586+ Enter search terms or a module, class or function name.
4587+ </p>
4588+</div>
4589+<script type="text/javascript">$('#searchbox').show(0);</script>
4590+ </div>
4591+ </div>
4592+ <div class="clearer"></div>
4593+ </div>
4594+ <div class="related">
4595+ <h3>Navigation</h3>
4596+ <ul>
4597+ <li class="right" style="margin-right: 10px">
4598+ <a href="printing.html" title="Matrix Formatting"
4599+ >next</a></li>
4600+ <li class="right" >
4601+ <a href="modeling.html" title="Modeling"
4602+ >previous</a> |</li>
4603+ <li><a href="http://abel.ee.ucla.edu/cvxopt">CVXOPT home</a> |</li>
4604+
4605+ <li><a href="index.html">user&#39;s guide</a> </li>
4606+
4607+ </ul>
4608+ </div>
4609+ <div class="footer">
4610+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.3.
4611+ </div>
4612+ </body>
4613+</html>
4614\ No newline at end of file
4615
4616=== added file 'doc/build/html/coneprog.html'
4617--- doc/build/html/coneprog.html 1970-01-01 00:00:00 +0000
4618+++ doc/build/html/coneprog.html 2010-12-10 13:03:35 +0000
4619@@ -0,0 +1,1953 @@
4620+
4621+
4622+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4623+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4624+
4625+<html xmlns="http://www.w3.org/1999/xhtml">
4626+ <head>
4627+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4628+
4629+ <title>Cone Programming &mdash; CVXOPT User&#39;s Guide</title>
4630+ <link rel="stylesheet" href="_static/cvxopt.css" type="text/css" />
4631+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
4632+ <script type="text/javascript">
4633+ var DOCUMENTATION_OPTIONS = {
4634+ URL_ROOT: '',
4635+ VERSION: '1.1.1',
4636+ COLLAPSE_INDEX: false,
4637+ FILE_SUFFIX: '.html',
4638+ HAS_SOURCE: false
4639+ };
4640+ </script>
4641+ <script type="text/javascript" src="_static/jquery.js"></script>
4642+ <script type="text/javascript" src="_static/underscore.js"></script>
4643+ <script type="text/javascript" src="_static/doctools.js"></script>
4644+ <link rel="copyright" title="Copyright" href="copyright.html" />
4645+ <link rel="top" title="CVXOPT User&#39;s Guide" href="index.html" />
4646+ <link rel="next" title="Nonlinear Convex Optimization" href="solvers.html" />
4647+ <link rel="prev" title="Sparse Linear Equations" href="spsolvers.html" />
4648+ </head>
4649+ <body>
4650+ <div class="related">
4651+ <h3>Navigation</h3>
4652+ <ul>
4653+ <li class="right" style="margin-right: 10px">
4654+ <a href="solvers.html" title="Nonlinear Convex Optimization"
4655+ accesskey="N">next</a></li>
4656+ <li class="right" >
4657+ <a href="spsolvers.html" title="Sparse Linear Equations"
4658+ accesskey="P">previous</a> |</li>
4659+ <li><a href="http://abel.ee.ucla.edu/cvxopt">CVXOPT home</a> |</li>
4660+
4661+ <li><a href="index.html">user&#39;s guide</a> </li>
4662+
4663+ </ul>
4664+ </div>
4665+
4666+ <div class="document">
4667+ <div class="documentwrapper">
4668+ <div class="bodywrapper">
4669+ <div class="body">
4670+
4671+ <div class="section" id="cone-programming">
4672+<span id="c-coneprog"></span><h1>Cone Programming<a class="headerlink" href="#cone-programming" title="Permalink to this headline">¶</a></h1>
4673+<p>In this chapter we consider convex optimization problems of the form</p>
4674+<div class="math">
4675+<p><img src="_images/math/77b87703b14d3f1b59ac092865ee19b0f85cf188.png" alt="\begin{array}{ll}
4676+\mbox{minimize} &amp; (1/2) x^TPx + q^T x \\
4677+\mbox{subject to} &amp; G x \preceq h \\
4678+ &amp; Ax = b.
4679+\end{array}" /></p>
4680+</div><p>The linear inequality is a generalized inequality with respect to a
4681+proper convex cone. It may include componentwise vector inequalities,
4682+second-order cone inequalities, and linear matrix inequalities.</p>
4683+<p>The main solvers are <a class="reference internal" href="#cvxopt.solvers.conelp" title="cvxopt.solvers.conelp"><tt class="xref py py-func docutils literal"><span class="pre">conelp</span></tt></a> and
4684+<a class="reference internal" href="#cvxopt.solvers.coneqp" title="cvxopt.solvers.coneqp"><tt class="xref py py-func docutils literal"><span class="pre">coneqp</span></tt></a>, described in the
4685+sections <a class="reference internal" href="#s-conelp"><em>Linear Cone Programs</em></a> and <a class="reference internal" href="#s-coneqp"><em>Quadratic Cone Programs</em></a>. The function
4686+<tt class="xref py py-func docutils literal"><span class="pre">conelp</span></tt> is restricted to problems with linear cost functions, and
4687+can detect primal and dual infeasibility. The function <tt class="xref py py-func docutils literal"><span class="pre">coneqp</span></tt>
4688+solves the general quadratic problem, but requires the problem to be
4689+strictly primal and dual feasible. For convenience (and backward
4690+compatibility), simpler interfaces to these function are also provided
4691+that handle pure linear programs, quadratic programs, second-order cone
4692+programs, and semidefinite programs. These are described in the sections
4693+<a class="reference internal" href="#s-lpsolver"><em>Linear Programming</em></a>, <a class="reference internal" href="#s-qp"><em>Quadratic Programming</em></a>, <a class="reference internal" href="#s-socpsolver"><em>Second-Order Cone Programming</em></a>, <a class="reference internal" href="#s-sdpsolver"><em>Semidefinite Programming</em></a>.
4694+In the section <a class="reference internal" href="#s-conelp-struct"><em>Exploiting Structure</em></a> we explain how custom solvers can
4695+be implemented that exploit structure in cone programs. The last two
4696+sections describe optional interfaces to external solvers, and the
4697+algorithm parameters that control the cone programming solvers.</p>
4698+<div class="section" id="linear-cone-programs">
4699+<span id="s-conelp"></span><h2>Linear Cone Programs<a class="headerlink" href="#linear-cone-programs" title="Permalink to this headline">¶</a></h2>
4700+<dl class="function">
4701+<dt id="cvxopt.solvers.conelp">
4702+<tt class="descclassname">cvxopt.solvers.</tt><tt class="descname">conelp</tt><big>(</big><em>c</em>, <em>G</em>, <em>h</em><span class="optional">[</span>, <em>dims</em><span class="optional">[</span>, <em>A</em>, <em>b</em><span class="optional">[</span>, <em>primalstart</em><span class="optional">[</span>, <em>dualstart</em><span class="optional">[</span>, <em>kktsolver</em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.solvers.conelp" title="Permalink to this definition">¶</a></dt>
4703+<dd><p>Solves a pair of primal and dual cone programs</p>
4704+<div class="math">
4705+<p><img src="_images/math/1a8d47fe4c6b9295f4c73ecb0181d7cdc2f265bd.png" alt="\begin{array}[t]{ll}
4706+\mbox{minimize} &amp; c^T x \\
4707+\mbox{subject to} &amp; G x + s = h \\
4708+ &amp; Ax = b \\
4709+ &amp; s \succeq 0
4710+\end{array}
4711+\qquad\qquad
4712+\begin{array}[t]{ll}
4713+\mbox{maximize} &amp; -h^T z - b^T y \\
4714+\mbox{subject to} &amp; G^T z + A^T y + c = 0 \\
4715+ &amp; z \succeq 0.
4716+\end{array}" /></p>
4717+</div><p>The primal variables are <img class="math" src="_images/math/26eeb5258ca5099acf8fe96b2a1049c48c89a5e6.png" alt="x"/> and <img class="math" src="_images/math/f37bba504894945c07a32f5496d74299a37aa51c.png" alt="s"/>. The dual variables
4718+are <img class="math" src="_images/math/092e364e1d9d19ad5fffb0b46ef4cc7f2da02c1c.png" alt="y"/>, <img class="math" src="_images/math/b13f21416d84e13708696f34dea81026cda583c9.png" alt="z"/>. The inequalities are interpreted as
4719+<img class="math" src="_images/math/a0bfc2010a37ca5ee8d8553f74881b8e12ea4bfd.png" alt="s \in C"/>, <img class="math" src="_images/math/d22f3a5882fad95b5a9af193c57e3db91989d676.png" alt="z\in C"/>, where <img class="math" src="_images/math/c3355896da590fc491a10150a50416687626d7cc.png" alt="C"/> is a cone defined as
4720+a Cartesian product of a nonnegative orthant, a number of second-order
4721+cones, and a number of positive semidefinite cones:</p>
4722+<div class="math">
4723+<p><img src="_images/math/975932e25b8d20b8ef19bccfe15bfc80e9960ca2.png" alt="C = C_0 \times C_1 \times \cdots \times C_M \times C_{M+1} \times
4724+ \cdots \times C_{M+N}" /></p>
4725+</div><p>with</p>
4726+<div class="math">
4727+<p><img src="_images/math/a34d96670035ec4b9d538485aca155388900d586.png" alt="\newcommand{\reals}{{\mbox{\bf R}}}
4728+\newcommand{\svec}{\mathop{\mathbf{vec}}}
4729+\newcommand{\symm}{{\mbox{\bf S}}}
4730+\begin{split}
4731+ C_0 &amp; =
4732+ \{ u \in \reals^l \;| \; u_k \geq 0, \; k=1, \ldots,l\}, \\
4733+ C_{k+1} &amp; = \{ (u_0, u_1) \in \reals \times \reals^{r_{k}-1}
4734+ \; | \; u_0 \geq \|u_1\|_2 \}, \quad k=0,\ldots, M-1, \\
4735+ C_{k+M+1} &amp;= \left\{ \svec(u) \; | \; u \in \symm^{t_k}_+
4736+ \right\}, \quad k=0,\ldots,N-1.
4737+\end{split}" /></p>
4738+</div><p>In this definition, <img class="math" src="_images/math/1caa3e3ac8919174afb2c7d55599b897ea724bd1.png" alt="\mathbf{vec}(u)"/> denotes a symmetric matrix
4739+<img class="math" src="_images/math/9ad99798ec4c38e165cf517cb9e02b1c9e824103.png" alt="u"/> stored as a vector in column major order. The structure of
4740+<img class="math" src="_images/math/c3355896da590fc491a10150a50416687626d7cc.png" alt="C"/> is specified by <tt class="docutils literal"><span class="pre">dims</span></tt>. This argument is a dictionary with
4741+three fields.</p>
4742+<dl class="docutils">
4743+<dt><tt class="docutils literal"><span class="pre">dims['l']</span></tt>:</dt>
4744+<dd><img class="math" src="_images/math/9b25f8e64b484493fda944d25cad453423041fe6.png" alt="l"/>, the dimension of the nonnegative orthant (a nonnegative
4745+integer).</dd>
4746+<dt><tt class="docutils literal"><span class="pre">dims['q']</span></tt>:</dt>
4747+<dd><img class="math" src="_images/math/f9408643dfec56ef1bdd651b0858bed3b41a899b.png" alt="[r_0, \ldots, r_{M-1}]"/>, a list with the dimensions of the
4748+second-order cones (positive integers).</dd>
4749+<dt><tt class="docutils literal"><span class="pre">dims['s']</span></tt>:</dt>
4750+<dd><img class="math" src="_images/math/15c9e0d5b18ecfcec0dc5faf60950122d134d40e.png" alt="[t_0, \ldots, t_{N-1}]"/>, a list with the dimensions of the
4751+positive semidefinite cones (nonnegative integers).</dd>
4752+</dl>
4753+<p>The default value of <tt class="docutils literal"><span class="pre">dims</span></tt> is
4754+<tt class="docutils literal"><span class="pre">{'l':</span> <span class="pre">G.size[0],</span> <span class="pre">'q':</span> <span class="pre">[],</span> <span class="pre">'s':</span> <span class="pre">[]}</span></tt>,
4755+i.e., by default the
4756+inequality is interpreted as a componentwise vector inequality.</p>
4757+<p>The arguments <tt class="docutils literal"><span class="pre">c</span></tt>, <tt class="docutils literal"><span class="pre">h</span></tt>, and <tt class="docutils literal"><span class="pre">b</span></tt> are real single-column dense
4758+matrices. <tt class="docutils literal"><span class="pre">G</span></tt> and <tt class="docutils literal"><span class="pre">A</span></tt> are real dense or sparse matrices. The
4759+number of rows of <tt class="docutils literal"><span class="pre">G</span></tt> and <tt class="docutils literal"><span class="pre">h</span></tt> is equal to</p>
4760+<div class="math">
4761+<p><img src="_images/math/0fb35d76d5ee3a9cea74866affcb223883174be3.png" alt="K = l + \sum_{k=0}^{M-1} r_k + \sum_{k=0}^{N-1} t_k^2." /></p>
4762+</div><p>The columns of <tt class="docutils literal"><span class="pre">G</span></tt> and <tt class="docutils literal"><span class="pre">h</span></tt> are vectors in</p>
4763+<div class="math">
4764+<p><img src="_images/math/c620bdffc558c7c84614e360601c181863f7860c.png" alt="\newcommand{\reals}{{\mbox{\bf R}}}
4765+\reals^l \times \reals^{r_0} \times \cdots \times
4766+\reals^{r_{M-1}} \times \reals^{t_0^2} \times \cdots \times
4767+\reals^{t_{N-1}^2}," /></p>
4768+</div><p>where the last <img class="math" src="_images/math/fc97ef67268cd4e91bacdf12b8901d7036c9a056.png" alt="N"/> components represent symmetric matrices
4769+stored in column major order. The strictly upper triangular entries
4770+of these matrices are not accessed (i.e., the symmetric matrices are
4771+stored in the <tt class="xref py py-const docutils literal"><span class="pre">'L'</span></tt>-type column major order used in the
4772+<tt class="xref py py-mod docutils literal"><span class="pre">blas</span></tt> and <tt class="xref py py-mod docutils literal"><span class="pre">lapack</span></tt> modules). The default values for <tt class="docutils literal"><span class="pre">A</span></tt>
4773+and <tt class="docutils literal"><span class="pre">b</span></tt> are matrices with zero rows, meaning that there are no
4774+equality constraints.</p>
4775+<p><tt class="docutils literal"><span class="pre">primalstart</span></tt> is a dictionary with keys <tt class="xref py py-const docutils literal"><span class="pre">'x'</span></tt> and
4776+<tt class="xref py py-const docutils literal"><span class="pre">'s'</span></tt>, used as an optional primal starting point.
4777+<tt class="docutils literal"><span class="pre">primalstart['x']</span></tt> and <tt class="docutils literal"><span class="pre">primalstart['s']</span></tt> are real dense
4778+matrices of size (<img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/>, 1) and (<img class="math" src="_images/math/dfb064112b6c94470339f6571f69d07afc1c024c.png" alt="K"/>, 1), respectively,
4779+where <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> is the length of <tt class="docutils literal"><span class="pre">c</span></tt>. The vector
4780+<tt class="docutils literal"><span class="pre">primalstart['s']</span></tt> must be strictly positive with respect
4781+to the cone <img class="math" src="_images/math/c3355896da590fc491a10150a50416687626d7cc.png" alt="C"/>.</p>
4782+<p><tt class="docutils literal"><span class="pre">dualstart</span></tt> is a dictionary with keys <tt class="xref py py-const docutils literal"><span class="pre">'y'</span></tt> and <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>,
4783+used as an optional dual starting point. <tt class="docutils literal"><span class="pre">dualstart['y']</span></tt> and
4784+<tt class="docutils literal"><span class="pre">dualstart['z']</span></tt> are real dense matrices of size (<img class="math" src="_images/math/36f73fc1312ee0349b3f3a0f3bd9eb5504339011.png" alt="p"/>, 1)
4785+and (<img class="math" src="_images/math/dfb064112b6c94470339f6571f69d07afc1c024c.png" alt="K"/>, 1), respectively, where <img class="math" src="_images/math/36f73fc1312ee0349b3f3a0f3bd9eb5504339011.png" alt="p"/> is the number of
4786+rows in <tt class="docutils literal"><span class="pre">A</span></tt>. The vector <tt class="docutils literal"><span class="pre">dualstart['s']</span></tt> must be strictly
4787+positive with respect to the cone <img class="math" src="_images/math/c3355896da590fc491a10150a50416687626d7cc.png" alt="C"/>.</p>
4788+<p>The role of the optional argument <tt class="docutils literal"><span class="pre">kktsolver</span></tt> is explained in
4789+the section <a class="reference internal" href="#s-conelp-struct"><em>Exploiting Structure</em></a>.</p>
4790+<p><tt class="xref py py-func docutils literal"><span class="pre">conelp</span></tt> returns a dictionary that contains the result and
4791+information about the accuracy of the solution. The most important
4792+fields have keys <tt class="xref py py-const docutils literal"><span class="pre">'status'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'x'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'s'</span></tt>,
4793+<tt class="xref py py-const docutils literal"><span class="pre">'y'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt>. The <tt class="xref py py-const docutils literal"><span class="pre">'status'</span></tt> field is a string
4794+with possible values <tt class="xref py py-const docutils literal"><span class="pre">'optimal'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'primal</span> <span class="pre">infeasible'</span></tt>,
4795+<tt class="xref py py-const docutils literal"><span class="pre">'dual</span> <span class="pre">infeasible'</span></tt>, and <tt class="xref py py-const docutils literal"><span class="pre">'unknown'</span></tt>. The meaning of
4796+the <tt class="xref py py-const docutils literal"><span class="pre">'x'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'s'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'y'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt> fields
4797+depends on the value of <tt class="xref py py-const docutils literal"><span class="pre">'status'</span></tt>.</p>
4798+<dl class="docutils">
4799+<dt><tt class="xref py py-const docutils literal"><span class="pre">'optimal'</span></tt></dt>
4800+<dd><p class="first">In this case the <tt class="xref py py-const docutils literal"><span class="pre">'x'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'s'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'y'</span></tt>, and
4801+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt> entries contain the primal and dual solutions, which
4802+approximately satisfy</p>
4803+<div class="math">
4804+<p><img src="_images/math/b7416ae850a4be262250cf738c69746b8c161976.png" alt="Gx + s = h, \qquad Ax = b, \qquad G^T z + A^T y + c = 0,
4805+
4806+s \succeq 0, \qquad z \succeq 0, \qquad s^T z = 0." /></p>
4807+</div><p>The other entries in the output dictionary summarize the accuracy
4808+with which these optimality conditions are satisfied. The fields
4809+<tt class="xref py py-const docutils literal"><span class="pre">'primal</span> <span class="pre">objective'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'dual</span> <span class="pre">objective'</span></tt>, and
4810+<tt class="xref py py-const docutils literal"><span class="pre">'gap'</span></tt> give the primal objective <img class="math" src="_images/math/343d0b1bdf0a89348e54e78243206b00921891fa.png" alt="c^Tx"/>, dual
4811+objective <img class="math" src="_images/math/e3a39e1f9f23b6b48180b47a6941803e150acf02.png" alt="-h^Tz - b^Ty"/>, and the gap <img class="math" src="_images/math/2bd21984207bb64a4af86d045947fdb01d050f8f.png" alt="s^Tz"/>. The
4812+field <tt class="xref py py-const docutils literal"><span class="pre">'relative</span> <span class="pre">gap'</span></tt> is the relative gap, defined as</p>
4813+<div class="math">
4814+<p><img src="_images/math/e227404751bdf9353900cfa8acb3db338ffb45bd.png" alt="\frac{ s^Tz }{ \max\{ -c^Tx, -h^Tz-b^Ty \} }
4815+\quad \mbox{if} \quad \max\{ -c^Tx, -h^Tz-b^Ty \} &gt; 0" /></p>
4816+</div><p>and <tt class="xref py py-const xref docutils literal"><span class="pre">None</span></tt> otherwise. The fields
4817+<tt class="xref py py-const docutils literal"><span class="pre">'primal</span> <span class="pre">infeasibility'</span></tt> and <tt class="xref py py-const docutils literal"><span class="pre">'dual</span> <span class="pre">infeasibility'</span></tt>
4818+are the residuals in the primal and dual equality constraints,
4819+defined as</p>
4820+<div class="math">
4821+<p><img src="_images/math/4d98c2c2a240fd3ece215d33344d6861c464542a.png" alt="\max\{ \frac{ \|Gx+s-h\|_2 }{ \max\{1, \|h\|_2\} },
4822+ \frac{ \|Ax-b\|_2 }{ \max\{1,\|b\|_2\} } \}, \qquad
4823+\frac{ \|G^Tz + A^Ty + c\|_2 }{ \max\{1, \|c\|_2\} }," /></p>
4824+</div><p class="last">respectively.</p>
4825+</dd>
4826+<dt><tt class="xref py py-const docutils literal"><span class="pre">'primal</span> <span class="pre">infeasible'</span></tt></dt>
4827+<dd><p class="first">The <tt class="xref py py-const docutils literal"><span class="pre">'x'</span></tt> and <tt class="xref py py-const docutils literal"><span class="pre">'s'</span></tt> entries are <tt class="xref py py-const xref docutils literal"><span class="pre">None</span></tt>, and
4828+the <tt class="xref py py-const docutils literal"><span class="pre">'y'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt> entries provide an approximate
4829+certificate of infeasibility, i.e., vectors that approximately
4830+satisfy</p>
4831+<div class="math">
4832+<p><img src="_images/math/b57720e648d18f104bebca376094c72e087519ca.png" alt="G^T z + A^T y = 0, \qquad h^T z + b^T y = -1, \qquad
4833+z \succeq 0." /></p>
4834+</div><p>The field <tt class="xref py py-const docutils literal"><span class="pre">'residual</span> <span class="pre">as</span> <span class="pre">primal</span> <span class="pre">infeasibility</span> <span class="pre">certificate'</span></tt>
4835+gives the residual</p>
4836+<div class="last math">
4837+<p><img src="_images/math/c917b15b2cdc303898562683b1ac6a34297c70df.png" alt="\frac{ \|G^Tz + A^Ty\|_2 }{ \max\{1, \|c\|_2\} }." /></p>
4838+</div></dd>
4839+<dt><tt class="xref py py-const docutils literal"><span class="pre">'dual</span> <span class="pre">infeasible'</span></tt></dt>
4840+<dd><p class="first">The <tt class="xref py py-const docutils literal"><span class="pre">'y'</span></tt> and <tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt> entries are <tt class="xref py py-const xref docutils literal"><span class="pre">None</span></tt>, and
4841+the <tt class="xref py py-const docutils literal"><span class="pre">'x'</span></tt> and <tt class="xref py py-const docutils literal"><span class="pre">'s'</span></tt> entries contain an approximate
4842+certificate of dual infeasibility</p>
4843+<div class="math">
4844+<p><img src="_images/math/6489ee228737f4d9d3366e3a7432230c580b2266.png" alt="Gx + s = 0, \qquad Ax=0, \qquad c^T x = -1, \qquad
4845+s \succeq 0." /></p>
4846+</div><p>The field <tt class="xref py py-const docutils literal"><span class="pre">'residual</span> <span class="pre">as</span> <span class="pre">dual</span> <span class="pre">infeasibility</span> <span class="pre">certificate'</span></tt>
4847+gives the residual</p>
4848+<div class="last math">
4849+<p><img src="_images/math/723b55830eebda94339bddfe5032d381c449a3fd.png" alt="\max\{ \frac{ \|Gx + s\|_2 }{ \max\{1, \|h\|_2\} },
4850+\frac{ \|Ax\|_2 }{ \max\{1, \|b\|_2\} } \}." /></p>
4851+</div></dd>
4852+<dt><tt class="xref py py-const docutils literal"><span class="pre">'unknown'</span></tt></dt>
4853+<dd><p class="first">This indicates that the algorithm terminated early due to
4854+numerical difficulties or because the maximum number of iterations
4855+was reached. The <tt class="xref py py-const docutils literal"><span class="pre">'x'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'s'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'y'</span></tt>,
4856+<tt class="xref py py-const docutils literal"><span class="pre">'z'</span></tt> entries contain the iterates when the algorithm
4857+terminated. Whether these entries are useful, as approximate
4858+solutions or certificates of primal and dual infeasibility, can be
4859+determined from the other fields in the dictionary.</p>
4860+<p>The fields <tt class="xref py py-const docutils literal"><span class="pre">'primal</span> <span class="pre">objective'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'dual</span> <span class="pre">objective'</span></tt>,
4861+<tt class="xref py py-const docutils literal"><span class="pre">'gap'</span></tt>, <tt class="xref py py-const docutils literal"><span class="pre">'relative</span> <span class="pre">gap'</span></tt>,
4862+<tt class="xref py py-const docutils literal"><span class="pre">'primal</span> <span class="pre">infeasibility'</span></tt>,
4863+<tt class="xref py py-const docutils literal"><span class="pre">'dual</span> <span class="pre">infeasibility'</span></tt> are defined as when <tt class="xref py py-const docutils literal"><span class="pre">'status'</span></tt>
4864+is <tt class="xref py py-const docutils literal"><span class="pre">'optimal'</span></tt>. The field
4865+<tt class="xref py py-const docutils literal"><span class="pre">'residual</span> <span class="pre">as</span> <span class="pre">primal</span> <span class="pre">infeasibility</span> <span class="pre">certificate'</span></tt> is defined
4866+as</p>
4867+<div class="math">
4868+<p><img src="_images/math/373f482f73854e03e6ed7bd3e56010dedac0a40f.png" alt="\frac{ \|G^Tz+A^Ty\|_2 }{ -(h^Tz + b^Ty) \max\{1, \|h\|_2 \} }." /></p>
4869+</div><p>if <img class="math" src="_images/math/ae2badac9a46b59f50871f2bb8d27dbc0e781580.png" alt="h^Tz+b^Ty &lt; 0"/>, and <tt class="xref py py-const xref docutils literal"><span class="pre">None</span></tt> otherwise. A small
4870+value of this residual indicates that <img class="math" src="_images/math/092e364e1d9d19ad5fffb0b46ef4cc7f2da02c1c.png" alt="y"/> and <img class="math" src="_images/math/b13f21416d84e13708696f34dea81026cda583c9.png" alt="z"/>,
4871+divided by <img class="math" src="_images/math/eb1d31d3ef53ada239a7c1ebcfc362b3739e5fb5.png" alt="-h^Tz-b^Ty"/>, are an approximate proof of primal
4872+infeasibility. The field
4873+<tt class="xref py py-const docutils literal"><span class="pre">'residual</span> <span class="pre">as</span> <span class="pre">dual</span> <span class="pre">infeasibility</span> <span class="pre">certificate'</span></tt> is defined as</p>
4874+<div class="math">
4875+<p><img src="_images/math/7c7417a29910bcf840b52428dbb9ec70f1d85cd9.png" alt="\max\{ \frac{ \|Gx+s\|_2 }{ -c^Tx \max\{ 1, \|h\|_2 \} },
4876+\frac{ \|Ax\|_2 }{ -c^Tx \max\{1,\|b\|_2\} }\}" /></p>
4877+</div><p class="last">if <img class="math" src="_images/math/3d5748e90487d80ee689dc7c8ea13ef316542389.png" alt="c^Tx &lt; 0"/>, and as <tt class="xref py py-const xref docutils literal"><span class="pre">None</span></tt> otherwise. A small value
4878+indicates that <img class="math" src="_images/math/26eeb5258ca5099acf8fe96b2a1049c48c89a5e6.png" alt="x"/> and <img class="math" src="_images/math/f37bba504894945c07a32f5496d74299a37aa51c.png" alt="s"/>, divided by <img class="math" src="_images/math/2f2c7e1863869b3b250c3397ca8146a4d4863f1b.png" alt="-c^Tx"/>
4879+are an approximate proof of dual infeasibility.</p>
4880+</dd>
4881+</dl>
4882+<p>It is required that</p>
4883+<div class="math">
4884+<p><img src="_images/math/eebbe23287e11c882a2db71db881db3bb8dc23c4.png" alt="\newcommand{\Rank}{\mathop{\bf rank}}
4885+\Rank(A) = p, \qquad
4886+\Rank(\left[\begin{array}{c} G \\ A \end{array}\right]) = n," /></p>
4887+</div><p>where <img class="math" src="_images/math/36f73fc1312ee0349b3f3a0f3bd9eb5504339011.png" alt="p"/> is the number or rows of <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/> and <img class="math" src="_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> is
4888+the number of columns of <img class="math" src="_images/math/6e28ce12d49d39f160d5a0ef54077fc98e4b9d2b.png" alt="G"/> and <img class="math" src="_images/math/019e9892786e493964e145e7c5cf7b700314e53b.png" alt="A"/>.</p>
4889+</dd></dl>
4890+
4891+<p>As an example we solve the problem</p>
4892+<div class="math">
4893+<p><img src="_images/math/ec3d0c1e0e6c4dc7823c2bdefd3004179a4338c3.png" alt="\begin{array}{ll}
4894+\mbox{minimize} &amp; -6x_1 - 4x_2 - 5x_3 \\*[1ex]
4895+\mbox{subject to}
4896+ &amp; 16x_1 - 14x_2 + 5x_3 \leq -3 \\*[1ex]
4897+ &amp; 7x_1 + 2x_2 \leq 5 \\*[1ex]
4898+ &amp; \left\| \left[ \begin{array}{c}
4899+ 8x_1 + 13x_2 - 12x_3 - 2 \\
4900+ -8x_1 + 18x_2 + 6x_3 - 14 \\
4901+ x_1 - 3x_2 - 17x_3 - 13 \end{array}\right] \right\|_2
4902+ \leq -24x_1 - 7x_2 + 15x_3 + 12 \\*[3ex]
4903+ &amp; \left\| \left[
4904+ \begin{array}{c} x_1 \\ x_2 \\ x_3 \end{array}
4905+ \right] \right\|_2 \leq 10 \\*[3ex]
4906+ &amp; \left[\begin{array}{ccc}
4907+ 7x_1 + 3x_2 + 9x_3 &amp; -5x_1 + 13x_2 + 6x_3 &amp;
4908+ x_1 - 6x_2 - 6x_3\\
4909+ -5x_1 + 13x_2 + 6x_3 &amp; x_1 + 12x_2 - 7x_3 &amp;
4910+ -7x_1 -10x_2 - 7x_3\\
4911+ x_1 - 6x_2 -6x_3 &amp; -7x_1 -10x_2 -7 x_3 &amp;
4912+ -4x_1 -28 x_2 -11x_3
4913+ \end{array}\right]
4914+\preceq \left[\begin{array}{ccc}
4915+ 68 &amp; -30 &amp; -19 \\
4916+ -30 &amp; 99 &amp; 23 \\
4917+ -19 &amp; 23 &amp; 10 \end{array}\right].
4918+\end{array}" /></p>
4919+</div><div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">cvxopt</span> <span class="kn">import</span> <span class="n">matrix</span><span class="p">,</span> <span class="n">solvers</span>
4920+<span class="gp">&gt;&gt;&gt; </span><span class="n">c</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">([</span><span class="o">-</span><span class="mf">6.</span><span class="p">,</span> <span class="o">-</span><span class="mf">4.</span><span class="p">,</span> <span class="o">-</span><span class="mf">5.</span><span class="p">])</span>
4921+<span class="gp">&gt;&gt;&gt; </span><span class="n">G</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">([[</span> <span class="mf">16.</span><span class="p">,</span> <span class="mf">7.</span><span class="p">,</span> <span class="mf">24.</span><span class="p">,</span> <span class="o">-</span><span class="mf">8.</span><span class="p">,</span> <span class="mf">8.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span>
4922+<span class="go"> 7., -5., 1., -5., 1., -7., 1., -7., -4.],</span>
4923+<span class="go"> [-14., 2., 7., -13., -18., 3., 0., 0., -1., 0.,</span>
4924+<span class="go"> 3., 13., -6., 13., 12., -10., -6., -10., -28.],</span>
4925+<span class="go"> [ 5., 0., -15., 12., -6., 17., 0., 0., 0., -1.,</span>
4926+<span class="go"> 9., 6., -6., 6., -7., -7., -6., -7., -11.]])</span>
4927+<span class="gp">&gt;&gt;&gt; </span><span class="n">h</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">(</span> <span class="p">[</span> <span class="o">-</span><span class="mf">3.</span><span class="p">,</span> <span class="mf">5.</span><span class="p">,</span> <span class="mf">12.</span><span class="p">,</span> <span class="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="o">-</span><span class="mf">14.</span><span class="p">,</span> <span class="o">-</span><span class="mf">13.</span><span class="p">,</span> <span class="mf">10.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span>
4928+<span class="go"> 68., -30., -19., -30., 99., 23., -19., 23., 10.] )</span>
4929+<span class="gp">&gt;&gt;&gt; </span><span class="n">dims</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;l&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s">&#39;q&#39;</span><span class="p">:</span> <span class="p">[</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">],</span> <span class="s">&#39;s&#39;</span><span class="p">:</span> <span class="p">[</span><span class="mi">3</span><span class="p">]}</span>
4930+<span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span> <span class="o">=</span> <span class="n">solvers</span><span class="o">.</span><span class="n">conelp</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">G</span><span class="p">,</span> <span class="n">h</span><span class="p">,</span> <span class="n">dims</span><span class="p">)</span>
4931+<span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span><span class="p">[</span><span class="s">&#39;status&#39;</span><span class="p">]</span>
4932+<span class="go">&#39;optimal&#39;</span>
4933+<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="n">sol</span><span class="p">[</span><span class="s">&#39;x&#39;</span><span class="p">]</span>
4934+<span class="go">[-1.22e+00]</span>
4935+<span class="go">[ 9.66e-02]</span>
4936+<span class="go">[ 3.58e+00]</span>
4937+<span class="gp">&gt;&gt;&gt; </span><span class="k">print</span> <span class="n">sol</span><span class="p">[</span><span class="s">&#39;z&#39;</span><span class="p">]</span>
4938+<span class="go">[ 9.30e-02]</span>
4939+<span class="go">[ 2.04e-08]</span>
4940+<span class="go">[ 2.35e-01]</span>
4941+<span class="go">[ 1.33e-01]</span>
4942+<span class="go">[-4.74e-02]</span>
4943+<span class="go">[ 1.88e-01]</span>
4944+<span class="go">[ 2.79e-08]</span>
4945+<span class="go">[ 1.85e-09]</span>
4946+<span class="go">[-6.32e-10]</span>
4947+<span class="go">[-7.59e-09]</span>
4948+<span class="go">[ 1.26e-01]</span>
4949+<span class="go">[ 8.78e-02]</span>
4950+<span class="go">[-8.67e-02]</span>
4951+<span class="go">[ 8.78e-02]</span>
4952+<span class="go">[ 6.13e-02]</span>
4953+<span class="go">[-6.06e-02]</span>
4954+<span class="go">[-8.67e-02]</span>
4955+<span class="go">[-6.06e-02]</span>
4956+<span class="go">[ 5.98e-02]</span>
4957+</pre></div>
4958+</div>
4959+<p>Only the entries of <tt class="docutils literal"><span class="pre">G</span></tt> and <tt class="docutils literal"><span class="pre">h</span></tt> defining the lower triangular portions
4960+of the coefficients in the linear matrix inequalities are accessed. We
4961+obtain the same result if we define <tt class="docutils literal"><span class="pre">G</span></tt> and <tt class="docutils literal"><span class="pre">h</span></tt> as below.</p>
4962+<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">G</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">([[</span> <span class="mf">16.</span><span class="p">,</span> <span class="mf">7.</span><span class="p">,</span> <span class="mf">24.</span><span class="p">,</span> <span class="o">-</span><span class="mf">8.</span><span class="p">,</span> <span class="mf">8.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span>
4963+<span class="go"> 7., -5., 1., 0., 1., -7., 0., 0., -4.],</span>
4964+<span class="go"> [-14., 2., 7., -13., -18., 3., 0., 0., -1., 0.,</span>
4965+<span class="go"> 3., 13., -6., 0., 12., -10., 0., 0., -28.],</span>
4966+<span class="go"> [ 5., 0., -15., 12., -6., 17., 0., 0., 0., -1.,</span>
4967+<span class="go"> 9., 6., -6., 0., -7., -7., 0., 0., -11.]])</span>
4968+<span class="gp">&gt;&gt;&gt; </span><span class="n">h</span> <span class="o">=</span> <span class="n">matrix</span><span class="p">(</span> <span class="p">[</span> <span class="o">-</span><span class="mf">3.</span><span class="p">,</span> <span class="mf">5.</span><span class="p">,</span> <span class="mf">12.</span><span class="p">,</span> <span class="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="o">-</span><span class="mf">14.</span><span class="p">,</span> <span class="o">-</span><span class="mf">13.</span><span class="p">,</span> <span class="mf">10.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span>
4969+<span class="go"> 68., -30., -19., 0., 99., 23., 0., 0., 10.] )</span>
4970+</pre></div>
4971+</div>
4972+</div>
4973+<div class="section" id="quadratic-cone-programs">
4974+<span id="s-coneqp"></span><h2>Quadratic Cone Programs<a class="headerlink" href="#quadratic-cone-programs" title="Permalink to this headline">¶</a></h2>
4975+<dl class="function">
4976+<dt id="cvxopt.solvers.coneqp">
4977+<tt class="descclassname">cvxopt.solvers.</tt><tt class="descname">coneqp</tt><big>(</big><em>P</em>, <em>q</em><span class="optional">[</span>, <em>G</em>, <em>h</em><span class="optional">[</span>, <em>dims</em><span class="optional">[</span>, <em>A</em>, <em>b</em><span class="optional">[</span>, <em>initvals</em><span class="optional">[</span>, <em>kktsolver</em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><big>)</big><a class="headerlink" href="#cvxopt.solvers.coneqp" title="Permalink to this definition">¶</a></dt>
4978+<dd><p>Solves a pair of primal and dual quadratic cone programs</p>
4979+<div class="math">
4980+<p><img src="_images/math/e91b9a70b0279938a93a0ec387ee7359ddb67098.png" alt="\begin{array}[t]{ll}
4981+\mbox{minimize} &amp; (1/2) x^T Px + q^T x \\
4982+\mbox{subject to} &amp; G x + s = h \\
4983+ &amp; Ax = b \\
4984+ &amp; s \succeq 0
4985+\end{array}" /></p>
4986+</div><p>and</p>
4987+<div class="math">
4988+<p><img src="_images/math/35cf8b0b6e5f53cc10c6ef43b8bc6fc921888521.png" alt="\newcommand{\Range}{\mbox{\textrm{range}}}
4989+\begin{array}[t]{ll}
4990+\mbox{maximize} &amp; -(1/2) (q+G^Tz+A^Ty)^T P^\dagger
4991+ (q+G^Tz+A^Ty) -h^T z - b^T y \\
4992+\mbox{subject to} &amp; q + G^T z + A^T y \in \Range(P) \\
4993+ &amp; z \succeq 0.
4994+\end{array}" /></p>
4995+</div><p>The primal variables are <img class="math" src="_images/math/26eeb5258ca5099acf8fe96b2a1049c48c89a5e6.png" alt="x"/> and the slack variable <img class="math" src="_images/math/f37bba504894945c07a32f5496d74299a37aa51c.png" alt="s"/>.
4996+The dual variables are <img class="math" src="_images/math/092e364e1d9d19ad5fffb0b46ef4cc7f2da02c1c.png" alt="y"/> and <img class="math" src="_images/math/b13f21416d84e13708696f34dea81026cda583c9.png" alt="z"/>. The inequalities are
4997+interpreted as <img class="math" src="_images/math/a0bfc2010a37ca5ee8d8553f74881b8e12ea4bfd.png" alt="s \in C"/>, <img class="math" src="_images/math/d22f3a5882fad95b5a9af193c57e3db91989d676.png" alt="z\in C"/>, where <img class="math" src="_images/math/c3355896da590fc491a10150a50416687626d7cc.png" alt="C"/> is a
4998+cone defined as a Cartesian product of a nonnegative orthant, a number
4999+of second-order cones, and a number of positive semidefinite cones:</p>
5000+<div class="math">
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: