WIMS technical documentation

This document is currently under indexed style. You may change it to integral or folding style. There is also a general help and a paper on WIMS.


Interfaces to external software packages

This documentation is yet not finished ... WIMS provides interfaces for some software packages which must be installed independantly.
Naam pari
Schrijver the PARI group
Adres http://pari.math.u-bordeaux1.fr/
Use PARI/GP est un système de calcul formel très répandu, conçu pour des calculs rapides en arithmétique (factorisations, théorie algébrique des nombres, courbes elliptiques...) mais contient aussi un grand nombre de fonctions pour le calcul matriciel, sur les développements limités, les nombres algébriques, etc. ainsi que de nombreuses fonctions transcendantes.


Naam maxima
Schrijver
Adres http://maxima.sourceforge.net/
Use Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, matrices, and tensors. Maxima yields high precision numeric results by using exact fractions, arbitrary precision integers, and variable precision floating point numbers.


Naam graphviz
Schrijver Credits
Adres http://www.graphviz.org/
Use Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. Automatic graph drawing has many important applications in software engineering, database and web design, networking, and in visual interfaces for many other domains.


Naam gap
Schrijver The GAP Group
Adres http://www.gap-system.org/
Use GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory. GAP provides a programming language, a library of thousands of functions implementing algebraic algorithms written in the GAP language as well as large data libraries of algebraic objects. See also the overview and the description of the mathematical capabilities. GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more.


Naam float_calc,integer_calc
Schrijver
Adres http://www.gnu.org/software/bc/
Use interface to bc ; bc -l


Naam yacas
Schrijver Credits
Adres http://yacas.sourceforge.net/homepage.html
Use YACAS is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. It uses its own programming language designed for symbolic as well as arbitrary-precision numerical computations. The system has a library of scripts that implement many of the symbolic algebra operations; new algorithms can be easily added to the library. YACAS comes with extensive documentation (hundreds of pages) covering the scripting language, the functionality that is already implemented in the system, and the algorithms we used.


Naam jmol
Schrijver
Adres
Use


Naam geogebra
Schrijver
Adres
Use

Logiciels internes à WIMS


Naam checkmol
Schrijver Norbert Haider, norbert.haider@univie.ac.at, modified by Ernst-Georg Schmid
Use
Input data
Output data
Example


Naam curvecomp
Schrijver Xiao Gang
Use Compare two curves
Input data Input parameters: environment.
w_curvecomp_1 and w_curvecomp_2: curves to compare, as lists of points.
w_curvecomp_xrange and w_curvecomp_yrange: list of 2 integers each.
w_curvecomp_tolerance: Maximal tolerance of distances.
Output data Output: 10 double numbers separated by white spaces.
- Average distance of curve 1 with respect to curve 2.
- Average distance of curve 2 with respect to curve 1.
- Maximal distance of curve 1 with respect to curve 2.
- Maximal distance of curve 2 with respect to curve 1.
- Proportion of curve 1 close to curve 2.
- Proportion of curve 2 close to curve 1.
- Maximal jump of curve 1.
- Maximal jump of curve 2.
- Ratio of repetitions found in curve 1.
Number 10: Ratio of repetitions found in curve 2.
Furthermore, words "fnofx" and/or "fnofy" will appear if curve 2 represents the graph of a function of x (and/or y).
Returns empty if one of the curves is degenerated.
Example
  curvecomp_1=0,92,1,92,2,92,3,92
  curvecomp_2=46,41,48,41,50,45
  curvecomp_tolerance=40
  curvecomp_xrange=11,208
  curvecomp_yrange=0,220
  curvecomp 

   


Naam cyclicode
Schrijver Xiao Gang
Use This program generates cyclic code from a polynomial defined over a prime field. It does not check whether the polynomial is primitive or irreducible.
Input data Accepted parameter: 3 words
Word 1: field characteristics, limited to 2,3,5,7
Word 2: The polynomial coefficients (except the leading one, from lower degree to higher).
Word 3: The starting status (starting from the first bit).
Output data
Example
  
  cyclicode 3 22 10

112022   


Naam dicfind
Schrijver Xiao Gang
Use for adm modules
Input data
Output data
Example


Naam dicsort
Schrijver Xiao Gang
Use Sort dictionary
Input data for adm modules
Output data
Example


Naam huffman
Schrijver Xiao Gang
Use This program computes an optimal coding of variable lengths on a given distribution of probabilities, using Huffman algorithm.
Input data Two environment variables
wims_exec_parm is a comma-separated list of probability distributions
Limited to MAX_ITEMS
The input data will be scaled to unit sum
w_huffman_radix is the encoding radix, between 2 and MAX_RADIX.
Output data two lines
Line 1: Entropy and Average code length, comma-separated
Line 2: comma-separated list of codes.
Example
  huffman_radix=4
  huffman 0.16, 0.39, 0.55

1.434946,1.500000
11,10,0   


Naam lceb
Schrijver Lucas Nussbaum, lucas@lucas-nussbaum.net
Use jeu "le compte est bon"
Input data 7 integers
Output data How to obtain the first number from the six other ones by addition, multiplication, division, substraction
Example
  
  lceb 598 6 8 2 5 10 12

Processing 6 8 2 5 10 12 . Goal : 598
FOUND
10 * 5 = 50
50 * 12 = 600
600 - 2 = 598   


Naam matchmol
Schrijver Norbert Haider, norbert.haider@univie.ac.at, modified by Ernst-Georg Schmid
Use
Input data
Output data
Example


Naam mathexp
Schrijver Xiao Gang
Use Mathematical expression manipulations for WIMS
Input data For the moment, use only in deductio
Output data
Example


Naam moneyprint
Schrijver J.M. Evers
Use prints a number with fixed amount of decimal places
Input data Usage:!exec moneyprint number1,number2,number3,....number_n decimal_places
or !exec moneyprint number1,number2,number3;....number_n decimal_places
\text{A=wims(exec moneyprint number1,number2,number3....number_n decimal_places)}
default value "decimal_places = 2"
A=!exec moneyprint 123,43.5,23.45665
A=123.00,43.50,23.47
A=!exec moneyprint 1.000,6.234;8.4567
A=1.00,6.23;8.46
or specified a last "word"
A=!exec moneyprint 123,43.5,23.45665 3
A=123.000,43.500,23.457
Output data
Example


Naam msg2wims
Schrijver Xiao Gang
Use transforms a text in a file and save it in another file (administrative module). Transforms some commands of the form \ in wims equivalence. By default, the commands are \(\) (replace by !insmath) and translation in html of $, !, (to complete). More commands can be translated by the configuration of the variable msg2wims_primitives. Usage:!sh cd $wims_home; bin/msg2wims file_in > file_out
Input data name of a file
Output data modified text of the input file
Example


Naam oncechar
Schrijver Xiao Gang
Use This special program selects words composed by selected characters, each selected character being used at most once in the word. Used in the shell script public_html/bin/dicfind
Input data Selected characters are entered by the env var 'oncechar'. Words entered by stdin. Output to stdout.
Output data
Example


Naam scienceprint
Schrijver J.M. Evers
Use Prints a number in scientific notation.
Input data Usage: !exec scienceprint number,significant_digits,output_type
\text{A=wims(exec scienceprint number,significant_digits,output_type )}
output_type can be
  • 0 : calculating format : 1.234*10^-4
  • 1 : html format :1.234×10-4
  • 2 : latex format : 1.234\times10^{-4}
  • 3 : prefix format : 1.234×10-1 m
  • 4 : mathml format : 1.234×10-4
  • 5 : long prefix format : 1.234×10-1 milli
Output data
Example


Naam shortpath
Schrijver Xiao Gang
Use Finds the shortest paths linking given points
Input data wims_exec_parm is ... . w_shortpath_style : 0: loop to the start
1: arbitrary open path
2: open path with fixed start
3: open path with fixed end
4: open path with fixed start and end
Output data
Example
  shortpath_style=0
  shortpath 1,3
  5,1
  3,4
  1,1
  3,1
  4,5

13.773387 1 5
1 4 5 2 6 3   


Naam translator
Schrijver Xiao Gang
Use Versatile translation according to a dictionary
Input data for adm modules
Output data
Example


Naam voronoi
Schrijver Steve J. Fortune
Use compute Voronoi diagram or Delaunay triangulation. Voronoi reads the standard input for a set of points in the plane and writes either the Voronoi diagram or the Delaunay triangulation to the standard output.
Input data Each input line should consist of two real numbers, separated by white space.
Output data If option -t is present, the Delaunay triangulation is produced. Each output line is a triple i j k which are the indices of the three points in a Delaunay triangle.
Points are numbered starting at 0.
If this option is not present, the Voronoi diagram is produced.
There are four output record types.
s a b indicates that an input point at coordinates l a b c indicates a line with equation ax + by = c.
v a b indicates a vertex at a b.
e l v1 v2 indicates a Voronoi segment which is a subsegment of line number l; with endpoints numbered v1 and v2.
If v1 or v2 is -1, the line extends to infinity.
Example
  
  voronoi -t 5 7
  2 8
  7 6
  3 5
  1 2
  8 1
  4 3
  6 4

4 6 5
6 7 5
4 3 6
3 7 6
2 5 7
3 0 7
0 2 7
1 0 3
4 1 3