source: git/modules/python/README @ 606831

fieker-DuValspielwiese
Last change on this file since 606831 was b7747a, checked in by Michael Brickenstein <bricken@…>, 19 years ago
*bricken: new section in README git-svn-id: file:///usr/local/Singular/svn/trunk@8671 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.9 KB
Line 
1Requirements:
2------------
3install scons (the build tool)
4install boost::python
5install boost
6dynamic modules working
7have a working Singular build directory
8NOSTREAMIO disabled in factory (rebuild also claptmpl.o in Singular)
9install python-numeric (for matrix report)
10
11Suggested additional modules:
12probstat: fast (C-Impl.) combinatorics (permutations, cartesian products)
13
14supported interpreter values:
15
16INPUT:
17int
18poly
19vector
20number
21matrix
22ideal
23list
24string
25ring
26intvec
27
28Output:
29int
30poly
31vector
32number
33matrix
34ideal
35list
36string
37ring
38intvec
39
40typemappings:
41interpreter, python internal, python official name
42int -> int
43poly -> Poly ->polynomial
44vector -> Vector -> vector
45number -> Number ->number
46matrix -> Numeric.array
47ideal -> Ideal ->ideal
48list -> list
49string -> str
50ring -> ring(in a Ring, but this does nothing) ->ring
51BUILD:
52--------
53just type:
54scons
55
56adjust PYTHONPATH:
57-----------------
58python must be able to find interpreter.py
59so either
60export PYTHONPATH="<singroot>/modules/python"
61but
62for me simply
63export PYTHONPATH=
64 also works
65
66Test:
67-----
68../../Singular/Singular <testfile>
69where testfile is in
70powertester
71polytester interpretertester
72if an exceptions occurs, review the code it may be wanted for examples the last line in interpretertester
73
74TASKS:
75------
76- push and pop rings, automatically change rings, if Singular functions are executed
77-Map more types
78-throw Python exception if something fails
79-testing
80-write some module presenting the power of python
81  compared to the Singular interpreter language
82- make modgen work properly
83- make the functionality available build in the kernel for the windows platform
84- documentation
85- provide feedback for missing functionality
86
87RULES:
88-----
89
90If you want to help, which would make me happy, follow some simple rules:
91
92- divide the work in layers, so what is a problem of a better C++-Interface should be done in the Singular kernel (compare Number.h, Poly.h PowerSeries.h), the Pythonwrapper itself should be ultrathin
93-raw operations (+,-,* creation of res...) should map directly to the Singular kernel (prefereable nice C++ wrapper classes in the kernel)
94- Wrapper classes in C++ should behave like canonical C++-Classes, no additional res.-management (with the exception of new, delete) should be required
95- never use currRing implicitely, always write out the currRing argument, if this isn't done consequently in my code, it would be nice of you to fix it
96- regularly check in, check out from CVS
97
98
99NEWS:
100*global_functions has be renamed to singular_globals_proxy
101the old name exists for short time for compat.
102
103*it is now possible to use the singular_globals_proxy for
104    -reading global variables
105    -writing global variables, if the var exists with the correct type in the interpreter
106    -calling global interpreter and builtin functions (not builtins, for example groebner but not std
107
108successfully tested systems:
109linux: x86, x86_64
110Mac OS X:G4
111
112
113
114
115
Note: See TracBrowser for help on using the repository browser.