Implemented crisscross algorithm for solving LP problems.
[sympycore.git] / doc / html / README.html
blobe600d9b33bc55f92d286ab75b2489707cc7f87f6
1 <?xml version="1.0" encoding="utf-8" ?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" />
7 <title>SympyCore - an efficient pure Python Computer Algebra System</title>
8 <meta name="authors" content="Pearu Peterson &lt;pearu.peterson AT gmail DOT com&gt; Fredrik Johansson &lt;fredrik.johansson AT gmail DOT com&gt;" />
9 <style type="text/css">
12 :Author: David Goodger
13 :Contact: goodger@users.sourceforge.net
14 :Date: $Date: 2005-12-18 01:56:14 +0100 (Sun, 18 Dec 2005) $
15 :Revision: $Revision: 4224 $
16 :Copyright: This stylesheet has been placed in the public domain.
18 Default cascading style sheet for the HTML output of Docutils.
20 See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
21 customize this style sheet.
24 /* used to remove borders from tables and images */
25 .borderless, table.borderless td, table.borderless th {
26 border: 0 }
28 table.borderless td, table.borderless th {
29 /* Override padding for "table.docutils td" with "! important".
30 The right padding separates the table cells. */
31 padding: 0 0.5em 0 0 ! important }
33 .first {
34 /* Override more specific margin styles with "! important". */
35 margin-top: 0 ! important }
37 .last, .with-subtitle {
38 margin-bottom: 0 ! important }
40 .hidden {
41 display: none }
43 a.toc-backref {
44 text-decoration: none ;
45 color: black }
47 blockquote.epigraph {
48 margin: 2em 5em ; }
50 dl.docutils dd {
51 margin-bottom: 0.5em }
53 /* Uncomment (and remove this text!) to get bold-faced definition list terms
54 dl.docutils dt {
55 font-weight: bold }
58 div.abstract {
59 margin: 2em 5em }
61 div.abstract p.topic-title {
62 font-weight: bold ;
63 text-align: center }
65 div.admonition, div.attention, div.caution, div.danger, div.error,
66 div.hint, div.important, div.note, div.tip, div.warning {
67 margin: 2em ;
68 border: medium outset ;
69 padding: 1em }
71 div.admonition p.admonition-title, div.hint p.admonition-title,
72 div.important p.admonition-title, div.note p.admonition-title,
73 div.tip p.admonition-title {
74 font-weight: bold ;
75 font-family: sans-serif }
77 div.attention p.admonition-title, div.caution p.admonition-title,
78 div.danger p.admonition-title, div.error p.admonition-title,
79 div.warning p.admonition-title {
80 color: red ;
81 font-weight: bold ;
82 font-family: sans-serif }
84 /* Uncomment (and remove this text!) to get reduced vertical space in
85 compound paragraphs.
86 div.compound .compound-first, div.compound .compound-middle {
87 margin-bottom: 0.5em }
89 div.compound .compound-last, div.compound .compound-middle {
90 margin-top: 0.5em }
93 div.dedication {
94 margin: 2em 5em ;
95 text-align: center ;
96 font-style: italic }
98 div.dedication p.topic-title {
99 font-weight: bold ;
100 font-style: normal }
102 div.figure {
103 margin-left: 2em ;
104 margin-right: 2em }
106 div.footer, div.header {
107 clear: both;
108 font-size: smaller }
110 div.line-block {
111 display: block ;
112 margin-top: 1em ;
113 margin-bottom: 1em }
115 div.line-block div.line-block {
116 margin-top: 0 ;
117 margin-bottom: 0 ;
118 margin-left: 1.5em }
120 div.sidebar {
121 margin-left: 1em ;
122 border: medium outset ;
123 padding: 1em ;
124 background-color: #ffffee ;
125 width: 40% ;
126 float: right ;
127 clear: right }
129 div.sidebar p.rubric {
130 font-family: sans-serif ;
131 font-size: medium }
133 div.system-messages {
134 margin: 5em }
136 div.system-messages h1 {
137 color: red }
139 div.system-message {
140 border: medium outset ;
141 padding: 1em }
143 div.system-message p.system-message-title {
144 color: red ;
145 font-weight: bold }
147 div.topic {
148 margin: 2em }
150 h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
151 h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
152 margin-top: 0.4em }
154 h1.title {
155 text-align: center }
157 h2.subtitle {
158 text-align: center }
160 hr.docutils {
161 width: 75% }
163 img.align-left {
164 clear: left }
166 img.align-right {
167 clear: right }
169 ol.simple, ul.simple {
170 margin-bottom: 1em }
172 ol.arabic {
173 list-style: decimal }
175 ol.loweralpha {
176 list-style: lower-alpha }
178 ol.upperalpha {
179 list-style: upper-alpha }
181 ol.lowerroman {
182 list-style: lower-roman }
184 ol.upperroman {
185 list-style: upper-roman }
187 p.attribution {
188 text-align: right ;
189 margin-left: 50% }
191 p.caption {
192 font-style: italic }
194 p.credits {
195 font-style: italic ;
196 font-size: smaller }
198 p.label {
199 white-space: nowrap }
201 p.rubric {
202 font-weight: bold ;
203 font-size: larger ;
204 color: maroon ;
205 text-align: center }
207 p.sidebar-title {
208 font-family: sans-serif ;
209 font-weight: bold ;
210 font-size: larger }
212 p.sidebar-subtitle {
213 font-family: sans-serif ;
214 font-weight: bold }
216 p.topic-title {
217 font-weight: bold }
219 pre.address {
220 margin-bottom: 0 ;
221 margin-top: 0 ;
222 font-family: serif ;
223 font-size: 100% }
225 pre.literal-block, pre.doctest-block {
226 margin-left: 2em ;
227 margin-right: 2em ;
228 background-color: #eeeeee }
230 span.classifier {
231 font-family: sans-serif ;
232 font-style: oblique }
234 span.classifier-delimiter {
235 font-family: sans-serif ;
236 font-weight: bold }
238 span.interpreted {
239 font-family: sans-serif }
241 span.option {
242 white-space: nowrap }
244 span.pre {
245 white-space: pre }
247 span.problematic {
248 color: red }
250 span.section-subtitle {
251 /* font-size relative to parent (h1..h6 element) */
252 font-size: 80% }
254 table.citation {
255 border-left: solid 1px gray;
256 margin-left: 1px }
258 table.docinfo {
259 margin: 2em 4em }
261 table.docutils {
262 margin-top: 0.5em ;
263 margin-bottom: 0.5em }
265 table.footnote {
266 border-left: solid 1px black;
267 margin-left: 1px }
269 table.docutils td, table.docutils th,
270 table.docinfo td, table.docinfo th {
271 padding-left: 0.5em ;
272 padding-right: 0.5em ;
273 vertical-align: top }
275 table.docutils th.field-name, table.docinfo th.docinfo-name {
276 font-weight: bold ;
277 text-align: left ;
278 white-space: nowrap ;
279 padding-left: 0 }
281 h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
282 h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
283 font-size: 100% }
285 tt.docutils {
286 background-color: #eeeeee }
288 ul.auto-toc {
289 list-style-type: none }
291 </style>
292 </head>
293 <body>
294 <div class="document" id="sympycore-an-efficient-pure-python-computer-algebra-system">
295 <h1 class="title">SympyCore - an efficient pure Python Computer Algebra System</h1>
296 <table class="docinfo" frame="void" rules="none">
297 <col class="docinfo-name" />
298 <col class="docinfo-content" />
299 <tbody valign="top">
300 <tr><th class="docinfo-name">Authors:</th>
301 <td>Pearu Peterson &lt;pearu.peterson AT gmail DOT com&gt;
302 <br />Fredrik Johansson &lt;fredrik.johansson AT gmail DOT com&gt;</td></tr>
303 <tr class="field"><th class="docinfo-name">Website:</th><td class="field-body"><a class="reference" href="http://sympycore.googlecode.com/">http://sympycore.googlecode.com/</a></td>
304 </tr>
305 <tr class="field"><th class="docinfo-name">License:</th><td class="field-body">New BSD License</td>
306 </tr>
307 </tbody>
308 </table>
309 <div class="section">
310 <h1><a id="history" name="history">History</a></h1>
311 <blockquote>
312 <ul class="simple">
313 <li>Version 0.1 released on February 29, 2008.</li>
314 </ul>
315 </blockquote>
316 </div>
317 <div class="section">
318 <h1><a id="download" name="download">Download</a></h1>
319 <p>The latest release can be downloaded from sympycore website.</p>
320 <p>The latest development code is available via SVN. To check it out,
321 run:</p>
322 <pre class="literal-block">
323 svn checkout http://sympycore.googlecode.com/svn/trunk/ sympycore-svn
324 cd sympycore-svn
325 </pre>
326 </div>
327 <div class="section">
328 <h1><a id="installation" name="installation">Installation</a></h1>
329 <p>To use sympycore, the following is required:</p>
330 <blockquote>
331 <ul class="simple">
332 <li>Python 2.5 or newer</li>
333 <li>optionally, a C/C++ compiler for compiling sympycore</li>
334 <li>nose for running sympycore tests</li>
335 </ul>
336 </blockquote>
337 <p>To install compiled sympycore, unpack the archive file, change to the
338 sympycore source directory <tt class="docutils literal"><span class="pre">sympycore-?.?*</span></tt> (that contains setup.py
339 file and sympycore directory), and run (requires C/C++ compiler):</p>
340 <pre class="literal-block">
341 python setup.py install
342 </pre>
343 <p>To install pure sympycore, copy sympycore source directory to Python
344 path or just add it to PYTHONPATH or sys.path.</p>
345 <p>To build and use compiled sympycore without installing it, run:</p>
346 <pre class="literal-block">
347 python setup.py build_ext --inplace
348 </pre>
349 </div>
350 <div class="section">
351 <h1><a id="testing" name="testing">Testing</a></h1>
352 <p>To test pure Python sympycore from source directory, run:</p>
353 <pre class="literal-block">
354 python setup.py test
355 </pre>
356 <p>To test compiled sympycore from source directory, run:</p>
357 <pre class="literal-block">
358 python setup.py build_ext --inplace test
359 </pre>
360 <p>To test installed sympycore, run:</p>
361 <pre class="literal-block">
362 python -c 'from sympycore import test; test()'
363 </pre>
364 <p>To test sympycore test coverage, run:</p>
365 <pre class="literal-block">
366 python setup.py test --coverage
367 </pre>
368 </div>
369 <div class="section">
370 <h1><a id="basic-usage" name="basic-usage">Basic usage</a></h1>
371 <p>Import sympycore with</p>
372 <pre class="doctest-block">
373 &gt;&gt;&gt; from sympycore import *
374 </pre>
375 <p>that will provide classes like Symbol, Number, Calculus to construct
376 symbolic expressions:</p>
377 <pre class="doctest-block">
378 &gt;&gt;&gt; x = Symbol('x')
379 &gt;&gt;&gt; y = Symbol('y')
380 &gt;&gt;&gt; x + y
381 Calculus('x + y')
382 </pre>
383 <p>See the following demo page for more examples:</p>
384 <blockquote>
385 <a class="reference" href="http://sympycore.googlecode.com/svn/trunk/doc/html/demo0_2.html">http://sympycore.googlecode.com/svn/trunk/doc/html/demo0_2.html</a></blockquote>
386 <p>Additional documentation, including SympyCore User's Guide and API
387 documentation, is available online in SympyCore website.</p>
388 </div>
389 <div class="section">
390 <h1><a id="help-and-bug-reports" name="help-and-bug-reports">Help and bug reports</a></h1>
391 <p>You can report bugs at the sympycore issue tracker:</p>
392 <blockquote>
393 <a class="reference" href="http://code.google.com/p/sympycore/issues/list">http://code.google.com/p/sympycore/issues/list</a></blockquote>
394 <p>SympyCore website contains links to sympycore mailing lists where one
395 can ask support requests and discuss general sympycore related topics.
396 Any comments and questions can be sent also to the authors.</p>
397 </div>
398 </div>
399 </body>
400 </html>