-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathintro.html
246 lines (205 loc) · 8.62 KB
/
intro.html
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="html.css" />
<title>JAS Project</title>
</head>
<body class="main">
<h1>Java Algebra System (JAS) Project </h1>
<p><strong>Introduction.</strong>
The Java Algebra System (JAS) is an object oriented, type safe and
multi-threaded approach to computer algebra.
JAS provides a well designed software library using generic types for
algebraic computations implemented in the Java programming language
using the JVM runtime infrastructure.
The library can be used as any other Java software package or it can
be used interactively or interpreted through a jython (Java Python) or
jruby (Java Ruby) front end, there is also an Android App based on
Ruboto (jruby for Android). The focus of JAS is at the moment on
commutative, solvable and non-commutative polynomials, power series,
Groebner bases, factorization, real and complex roots and
applications. By the use of Java as implementation language JAS is
64-bit and multi-core CPU ready and can make use of mutiple CPUs where
available. JAS can run on a wide variety of devices ranging from
Android to compute clusters (using MPJ a Java Message Passing
Interface (MPI) or OpenMPI).
</p>
<h2><a name="docu">Documentation Overview</a></h2>
<p>
The JAS documentation consists of Web overview and summary pages,
API documentation of the Java, Ruby and Python implementations
and of published papers on specific topics of JAS.
</p>
<p>
For information on how to get started with JAS see the
<a href="doc/guide.html" >users guide</a> or the <a href="README" target="main" >README</a>.
For frequently asked questions see <a href="doc/faq.html" >FAQ</a>.
</p>
<p>
The software packages of the JAS library are summarized in the
<a name="package" href="doc/packages.html" >packages</a> page.
There is an <a href="doc/gb-book.html">index of algorithms</a> for the book
<a href="http://www.springer.com/mathematics/book/978-0-387-97971-7" target="gbb">Gröbner bases</a>
and their JAS equivalents.
An <a href="doc/algo-ca-book.html">index of algorithms</a> for the book
<a href="http://www.springer.com/computer/theoretical+computer+science/book/978-0-7923-9259-0"
target="gbb">Algorithms for Computer Algebra</a>
and their JAS equivalents is also available.
</p>
<p>
The JAS <a href="doc/design.html" target="main" >API guide</a>
describes the interface and class design considerations and contains
an overview of the most important classes and methods. An online
Javadoc documentation of the API together with source code is
contained in the
<a href="doc/index.html" target="main" >API documentation</a>
(also available as <a href="jas-doc.jar" target="doc">jas-doc.jar</a>).
Some design considerations for the new generic version
are discussed in the
<a href="doc/problems.html" target="main">problems and issues</a>
page.
</p>
<p>JAS is open source. The licensing infos are in
<a href="COPYING.jas" target="copy" >COPYING.jas</a> (GPL)
or
<a href="COPYING.lgpl.jas" target="copy" >COPYING.lgpl.jas</a> (LGPL).
The Java bytecode is dual licenced also under the Apache 2.0 licence
to allow usage in Android projects.
</p>
<p>A list of papers and conference talks about JAS and its design and mathematical packages
is contained in the
<a href="doc/publications.html" target="main" >publications</a> page.
</p>
<p>
This pages contain documentation for the latest version
which is designed using type parameters and requires at least Java 8 (JDK 1.8).
It may still compile on Java 7 (JDK 1.7) or Java 6 (JDK 1.6).
Older versions (no more supported) can be found here:
<a href="../jas-2.6">JAS 2.6</a>,
<a href="../jas-2.5">JAS 2.5</a>,
<a href="../jas-2.4">JAS 2.4</a>,
<a href="../jas-2.3">JAS 2.3</a>,
<a href="../jas-2.2">JAS 2.2</a>,
<a href="../jas-2.1">JAS 2.1</a>,
<a href="../jas-2.0">JAS 2.0</a>,
<a href="../jas.j15">JAS using JDK 1.5</a> and
<a href="../jas.j14">JAS using JDK 1.4</a>.
</p>
<h2><a name="downlo">Download</a>, installation and usage scenarios</h2>
<p>
Informations on obtaining JAS and its optional packages is contained
in the <a href="doc/download.html" target="main">Download</a> page.
</p>
<h3><a name="eclipse-usage">Usage</a> with the JEclipse IDE</h3>
<p>
See <a href="doc/download.html#eclipse" target="main">Download</a>
and <a href="doc/design.html" target="main">API guide</a>
pages.
</p>
<h3><a name="jython-usage">Usage</a> with the Jython interpreter</h3>
<p>
See <a href="doc/download.html#jython" target="main">Download</a>
and <a href="doc/guide.html" target="main">Users guide</a> pages.
</p>
<h4>jython examples</h4>
<p>Commutative:
<a href="examples/trinks.py" target="py">trinks.py</a>,
<a href="examples/katsura.py" target="py">katsura.py</a>
</p>
<p>Solvable:
<a href="examples/wa_32.py" target="py">wa_32.py</a>,
<a href="examples/u_sl_3_prod.py" target="py">u_sl_3_prod.py</a>,
<a href="examples/u_sl_3.py" target="py">u_sl_3.py</a>
</p>
<p>Modules:
<a href="examples/armbruster.py" target="py">armbruster.py</a>,
<a href="examples/syz.py" target="py">syz.py</a>,
<a href="examples/syzy2.py" target="py">syzy2.py</a>
</p>
<h3><a name="jruby-usage">Usage</a> with the JRuby interpreter</h3>
<p>
See <a href="doc/download.html#jruby" target="main">Download</a>
and <a href="doc/guide.html" target="main">Users guide</a> pages.
</p>
<h4>jruby examples</h4>
<p>Commutative:
<a href="examples/trinks.rb" target="rb">trinks.rb</a>,
<a href="examples/all_rings.rb" target="rb">all_rings.rb</a>,
<a href="examples/gbs.rb" target="rb">gbs.rb</a>
</p>
<!--
<h3><a name="ruboto-usage">Usage</a> of the Android App</h3>
<p>
See the <a href="doc/download.html#ruboto-irb-jas" target="main">Download</a> page.
As the Android app is based on Ruboto (jruby IRB for Android) the
usage is the same as with JRuby. There is a "Scripts" button in the
app where all ruby examples can be accessed.
</p>
<p>The main Ruboto screen with the "trinks.rb" example and its output looks as follows.
</p>
<p>
<a href="images/device-2012-11-18-jas-trinks.png"
><img src="images/device-2012-11-18-jas-trinks-thumb.png" /></a>
<a href="images/device-2012-11-18-jas-trinks-out.png"
><img src="images/device-2012-11-18-jas-trinks-out-thumb.png" /></a>
<a href="images/device-2012-11-18-jas-trinks-out-big.png"
><img src="images/device-2012-11-18-jas-trinks-out-big-thumb.png" /></a>
</p>
-->
<h3><a name="rungb">RunGB</a> Examples</h3>
<p>
The following are examples can be executed with
the class <code>edu.jas.application.RunGB</code>. E.g. <br />
<code>java -cp .:log4j.jar:jas.jar:... edu.jas.application.RunGB <args></code>
</p>
<p>Commutative:
<a href="examples/gbks.jas" target="jas">gbks.jas</a>,
<a href="examples/katsura2.jas" target="jas">katsura2.jas</a>,
<a href="examples/katsura3.jas" target="jas">katsura3.jas</a>,
<a href="examples/katsura4.jas" target="jas">katsura4.jas</a>,
<a href="examples/katsura5.jas" target="jas">katsura5.jas</a>,
<a href="examples/katsura5s.jas" target="jas">katsura5s.jas</a>,
<a href="examples/katsura5w.jas" target="jas">katsura5w.jas</a>,
<a href="examples/katsura6.jas" target="jas">katsura6.jas</a>,
<a href="examples/katsura6w.jas" target="jas">katsura6w.jas</a>,
<a href="examples/katsura7.jas" target="jas">katsura7.jas</a>,
<a href="examples/katsura8.jas" target="jas">katsura8.jas</a>,
<a href="examples/rose.jas" target="jas">rose.jas</a>,
<a href="examples/trinks6.jas" target="jas">trinks6.jas</a>,
<a href="examples/trinks7.jas" target="jas">trinks7.jas</a>,
<a href="examples/vw.jas" target="jas">vw.jas</a>,
</p>
<p>
The following are examples can be executed with
<br />
<code>java -cp .:log4j.jar:jas.jar:... edu.jas.application.RunSGB <args></code>
</p>
<p>Solvable:
<a href="examples/kw_18.jas" target="jas">kw_18.jas</a>,
<a href="examples/ore_t.jas" target="jas">ore_t.jas</a>,
<a href="examples/sgb.jas" target="jas">sgb.jas</a>,
<a href="examples/u_sl_3.jas" target="jas">u_sl_3.jas</a>,
<a href="examples/wa_1.jas" target="jas">wa_1.jas</a>,
<a href="examples/wa_32.jas" target="jas">wa_32.jas</a>,
<a href="examples/wa_34.jas" target="jas">wa_34.jas</a>,
<a href="examples/wa_39.jas" target="jas">wa_39.jas</a>,
<a href="examples/wa_41.jas" target="jas">wa_41.jas</a>,
<a href="examples/wa_61.jas" target="jas">wa_61.jas</a>
</p>
<hr />
<address><a name="contact"
href="mailto:kredel@at@rz.uni-mannheim.de">Heinz Kredel</a>
</address>
<p>
<!-- Created: Sat Mar 19 21:44:14 CET 2005 -->
<!-- hhmts start -->
Last modified: Mon Jan 2 10:06:29 CET 2023
<!-- hhmts end -->
</p>
<!--p align="right" >
$Id$
</p-->
</body>
</html>