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>
|