Jets home page

About Jets

Jets is a set of Maple procedures to facilitate solution of differential equations in total derivatives on diffieties. Otherwise said, Jets is a tool to compute symmetries, conservation laws, zero-curvature representations, recursion operators, any many other invariants of systems of partial differential equations.

Jets implements the algorithms described in M. Marvan, Sufficient set of integrability conditions of an orthonomic system. Foundations of Computational Mathematics 9 (2009) 651-674.

System requirements

Jets is developed and tested using the current Maple version (Maple 17 at this time) and can be used with Maple version 15 or higher on all platforms where Maple is available. Previous versions of Maple are no more supported.


Jets is a freeware, distributed under the GNU General Public License as published by the Free Software Foundation. In particular, it is distributed without any warranty, just in the hope that it will be useful.

Whenever results of your scientific work depend on use this software, you should consider making a reference to
H. Baran and M. Marvan, Jets. A software for differential calculus on jet spaces and diffieties
and/or to the paper
M. Marvan, Sufficient set of integrability conditions of an orthonomic system, Foundations of Computational Mathematics 9 (2009) 651-674.


Jets consists of single file Jets.s.


No installation is needed. Put the file Jets.s to the Maple home directory (resp. anywhere else you have access to) and read it in by the Maple command
read("The complete file path to Jets.s file");

For example, on Linux/Mac platform use
Note that on Windows, backslash in filepath must be in Maple written as `\\`, for example
read(`C:\\Program files\\Maple 9.5\\Jets.s`); After entering the read command you must see something like
JETS 5.6
Differential calculus on jet spaces and diffieties
for Maple 10+
as of 20 Jan 2010

if you succeeded (the details may vary with Jets version). Please see documentation for details.

Hint: If you cannot read in the Jets.s file because it is found but not readable, make sure you have saved it as a plain text file and it has line endings corresponding to your operating system.

Installation troubleshooting


There is a common Jet guide pdf documentation file (together with some examples) for all the versions of Jets at this moment.


Basic course tutorial examples

Advanced course tutorial examples


The authors of Jets are Hynek Baran and Michal Marvan .
Please dont mind to contact us (Hynek[dot]Baran[at]math[dot]slu[dot]cz or Michal[dot]Marvan[at]math[dot]slu[dot]cz) if you have any trouble or you have successfully used Jets.

A Brief Version History

Version Release date New features Tested against Maple version Funding project
5.95 (current) May 2022 Maple 2022 compatibility issues (reduce() renamed to pdreduce()), `divideout/unks`: a^e is divided out when a is nonzero, `Vars/<<`() call can be indexed by specific Varordering (e.g. `Vars/<<`['degree','reverse']), unkl(), unkL() gives a list of unks (and its sorted version, Varordering may be given by index) Maple 2015, 2022
5.93 May 2019 testing new nonlinear resolve implementation in file (cat(jets_new_resolve_enable, "/Jets.newresolve.s")), LVar returns NULL on expressions without Vars, numerous bug fixes in the computation of coverings (MM 23.4.2019) Maple 2015
5.91 Oct 2018 Vars has option cache, resolve FAILs collecting introduced, NewIntSeq() introduced, Report macro changed to inlined function, New resolve implementation (jets_new_resolve_enable) removed from the Jets.s source file to the Jets.newresolve.s file Maple 2015
5.90 Oct 2018 v 5.88 * fixed `resolve/lin` new implementation reportfail bug (jets_new_resolve_enable only) * linderive() introduced (but not used yet) * `unks/TD` uses forceError=true in `vars/1` calls * JetMachine[Consequences] testing script changed (currentdir) * `clear/assignments` is clearing `put/name/tab` properly# current * JetMachine[Consequences] testing script changed (currentdir) * `clear/assignments` is clearing `put/name/tab` properly

v 5.89 * run: linear eqs are ALL passed to resolve

v 5.90 * jet: option remember bug (multiple eqs problem as reported by JSK) fixed by introducing `eqn/table` * lengthselect introduced

Maple 2015
5.87 May 2017 * not deriving cc's by default (`run/l/extraders` used in slightly different mode) * `run/1` reporting cleanup * Report Reportf macros rewritten, rt, rb no more needed * `size/1/DD` abandoned for a hidden bug * `put/limit/length`, `put/limit/size` instead `put/sizelimit` * JetMachine[Consequences]:-AmICons: Using `AmICons/ignore`() for nonzero(), Varordering() and unknowns() Maple 15
5.84 Mar 2016 Minor bugfix, linderive() introduced (but not used yet). Maple 15
5.83 Feb 2016 Important bugfix (compatibility conditions were lost since reduce() was called within run(), resp. storing()) Maple 15
5.82 May 2015 Prior Maple 17, jets may be prettyprinted as subscripts using coordinates(..., separator="__") command Maple 15
5.81 Mar 2015 Grid computing supported Maple 15 CZ.1.07/2.3.00/20.0002
5.79 Jun 2013 run() and derive() reimplemented Maple 14
5.78 October 2012 JetMachine and Consequences packages introduced Maple 14
5.75 September 2012 Varordering: new orderings implemented Maple 14
5.71 January 2011 Divideout function improved. Maple 13
5.7 December 2010 Experimental support for running calculations with multiple variable orderings on multiple threads/computers in parallel. Maple 13
5.6 February 2010 The new minimal sufficient set of compatibility conditions algorithm implemented. Maple 13 GACR 201/07/P224 (Baran),
MSM4781305904 (Marvan)
5.5 January 2010 The latest version with the old compatibility condition implementation. Maple 10
5.0 July 2004 The first Maple 7 and higher implementation. Maple 7
4.9 December 2003 The first version published here, the only one compatible with Maple V. Maple V R4 only
See git repository for the details. The main file is mc/Jets.s.

Related projects, extensions and useful links


During the time of the developement of Jets version 5.5 – 5.6, the first-named author was supported by GACR under project 201/07/P224 and the second-named author under project MSM4781305904.

Developement of Jets versions 5.75 – 5.81 was gratefully supported by project CZ.1.07/2.3.00/20.0002.