-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathREADME
159 lines (98 loc) · 4.21 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
JAS: Java Algebra System
========================
Version 2.7, 2023
by Heinz Kredel, University of Mannheim, kredel at rz.uni-mannheim.de
Copyright (c) 2000-2023 by Heinz Kredel.
Programms released under GPL or LGPL, see COPYING.jas or COPYING.lgpl.jas.
Web home-page: http://krum.rz.uni-mannheim.de/jas/
Requirements
------------
A Java JDK 1.11.
Documentation see index.html.
Required libraries are log4j-core-2.17.1.jar, log4j-api-2.17.1.jar
(from Apache Log4j2 or jars from some other compatible logging
framework like SLF4J)
and junit-4.12.jar, hamcrest-core-1.3.jar (from Junit 4 for tests in trc)
Usage
-----
> java -cp {other_jar_files}:jas-<version>-bin.jar:. <sample class>
for example
> java -cp ../lib/log4j-core-2.17.1.jar:../lib/log4j-api-2.17.1.jar:jas-2.6.5428-bin.jar edu.jas.application.RunGB seq examples/trinks7.jas
or
> jruby examples/<some input file>.rb
or
> jas examples/<some input file>.rb
for example
> ./jas examples/all_rings.rb
or
> jython examples/<some input file>.py
or
> jas -py examples/<some input file>.py
The shell script "jas" figures out the Java, jruby, jython and JAS
environment and runs the respective scripting interpreter. See
> man -l doc/jas.1
for more information.
Compilation of your own Java files using the JAS library can be done
with the "javac" command.
> javac -cp {other_jar_files}:jas-<version>-bin.jar:. <your sample code>
Versions and jar files
----------------------
JAS is distributed in 3 jar files:
jas-<version>-bin.jar: or
jas-<version>.jar: the Java class files
jas-<version>-src.zip: the java source code
jas-<version>-doc.zip: the Java doc, epydoc, jrdoc and more info files
optional jar files which require further installed packages:
jas-meditor.jar: the interface to meditor
jas-jython.jar: an interface for Java scripting
jas-mpj.jar: MPI Java depending code
mylog.jar: a substitute for log4j to use Java logging
nolog.jar: a substitute for log4j to disable any logging
droidlog.jar: a substitute for log4j to use Android logging
jlinalg_adapter.jar: an adaptor to parts of JLinAlg
commons-math_adapter.jar: an adaptor to parts of Apache commons.math
pre packaged JAS versions:
jas-java_<version>-all.deb a Debian 10 (buster) package usable in MathLibre
ruboto-irb-jas-release.apk an Android App based on Ruboto (defunct)
There are GIT repositories for the scource code, which can be cloned with
> git clone http://krum.rz.uni-mannheim.de/jas.git jas
or
> git clone https://github.com/kredel/java-algebra-system.git jas
There is a Maven compatible repository for bytecode, source and javadocs at
https://oss.sonatype.org/
groupId: de.uni-mannheim.rz.krum, artifactId: jas, version (for example): 2.7.50
The version is specified by a two digit major.minor number and a
revision number. The revision number was the subversion revision
number, but with git it is just a consecutive number. For example in
jas-2.7.80-bin.jar
"2.7" is the JAS version number and
"80" is the git revision number
The jas-*-bin.jar and jas-*-doc.jar can be generated from jas-*-src.jar.
The fastest way to get a complete JAS install, is
> jar -xf jas-<version>-src.zip
> cd <JAS version number>
> jar -xf jas-<version>-bin.jar
> jar -xf jas-<version>-doc.zip
If you have a working Ant with Ivy, the last two steps can be replaced by
> ant resolve
> ant compile
> ant doc
provided you have setup build.xml, ivy.xml for the required libraries.
Directory structure
-------------------
. main directory, entry to html documentation
+doc html documentation, javadocs, jython docs, jruby docs
+edu Java class files
+examples examples for jython, jruby and jas
+images images for html docs
+jython JSR 233 scripting interface
+meditor JSR 233 scripting interface for meditor
+mpj MPI Java versions of distributed Groebner bases
+mpi OpenMPI Java versions of distributed Groebner bases
+jlinalg_adaper some adapter classes to JLinAlg
+commons-math_adaper some adapter classes to Apache Commons Math3
+src source code
+trc junit test sources
+test junit test output and log4j output
../lib directory for required libraries, not included
$Id$