Oberwolfach References on Mathematical Software

35 Search Results

ADOL-C

The package ADOL-C facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked with C. The numerical values of derivative vectors are obtained free of truncation errors at a small multiple of the run time and randomly accessed memory of the given function evaluation program.

More information

Axiom

Axiom is a general purpose Computer Algebra system. It is useful for research and development of mathematical algorithms. It defines a strongly typed, mathematically correct type hierarchy. It has a programming language and a built-in compiler.

More information

cdd/cddplus

The program cdd+ is a C++ implementation of the Double Description Method of Motzkin et al. for generating all vertices (i.e. extreme points) and extreme rays of a general convex polyhedron in R^d given by a system of linear inequalities.

More information

Cinderella

Cinderella is a software system for doing geometry on a computer. The new version Cinderella.2 also includes physics simulations and algorithmic elements.

More information

CoCoA

CoCoA is a system for Computations in Commutative Algebra. It is able to perform simple and sophisticated operations on multivaraiate polynomials and on various data related to them (ideals, modules, matrices, rational functions). For example, it can readily compute Grobner bases, syzygies and minimal free resolution, intersection, division, the radical of an ideal, the ideal of zero-dimensional schemes, Poincare' series and Hilbert functions, factorization of polynomials, toric ideals. The capabilities of CoCoA and the flexibility of its use are further enhanced by the dedicated high-level programming language. For convenience, the system offers a textual interface, an Emacs mode, and a graphical user interface common to most platforms.

More information

Fermat

Fermat is a super calculator - computer algebra system, in which the basic items being computed can be rational numbers, modular numbers, elements of finite fields, multivariable polynomials, multivariable rational functions, or multivariable polynomials modulo other polynomials. Fermat is available for Mac OS, Windows, Unix, and Linux. It is shareware. The basic “ground ring" F is the field of rational numbers. One may choose to work modulo a specified integer n, thereby changing the ground ring F from Q to Z/n. On top of this may be attached any number of unevaluated variables t_1, t_2, .. t_n., thereby creating the polynomial ring F[t_1, t_2, .. t_n] and its quotient field, the rational functions. Further, polynomials p, q, .. can be chosen to mod out with, creating the quotient ring F(t_1, t_2, ..)/[p, q, ...]. It is possible to allow Laurent polynomials. Once the computational ring is established in this way, all computations are of elements of this ring.

More information

GAP

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. GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more. GAP is developed by international cooperation. The system, including source, is distributed freely under the terms of the GNU General Public License. You can study and easily modify or extend GAP for your special use. The current version is GAP 4, the older version GAP 3 is still available.

More information

Gauss

Introduction: Gauss is an easy-to-use data analysis, mathematical and statistical environment based on the powerful, fast and efficient GAUSS Matrix Programming Language. It is used to solve problems of exceptionally large scale. Program development and program execution are fast. Programs in command line mode (as in DOS or Unix); a limited Windows graphical user interface. GAUSS plot features a fully functional, interactive GUI. It can be used as a tool to design their own algorithms, for doing quick simulations, to write compact programs given the number of matrix-based statistical and financial functions, to used for numerical computation, and handle matrices in the same way as scalars. It provides a C-library interface.

More information

Global Optimization Toolbox For Maple

Optimization is the science of finding solutions that satisfy complicated constraints and objectives. In engineering, constraints may arise from technical issues. In business, constraints are related to many factors, including cost, time, and staff. The objective of global optimization is to find [numerically] the absolute best solution of highly nonlinear optimization models that may have a number of locally optimal solutions. Global optimization problems can be extremely difficult. Frequently engineers and researchers are forced to settle for solutions that are “good enough” at the expense of extra time, money, and resources, because the best solution has not been found. Using the Global Optimization Toolbox, you can formulate your optimization model easily inside the powerful Maple numeric and symbolic system, and then use world-class Maple numeric solvers to return the best answer, fast! Illustrative references: 1. Pintér, J. D. Global Optimization in Action. Springer Science, 1996, 512 p., ISBN: 978-0-7923-3757-7 Winner of the 2000 INFORMS Computing Society Prize. 2. Pintér, J. D., Linder, D. and Chin, P. Global Optimization Toolbox for Maple: An introduction with illustrative applications. Optimization Methods and Software 21 (2006) (4) 565-582.

More information

GOBLIN Graph Library

A C++ class library including the whole bunch of standard algorithms in graph optimization and drawing. On top of this, a Tcl/Tk wrapper and a GUI for manipulating and editing of graphs.

More information

ILOG CPLEX

ILOG CPLEX is an environment for optimization problems. ILOG CPLEX algorithms can be accessed from the CPLEX Component Libraries as well as the CPLEX Interactive Optimizer, an easy-to-use interactive program. CPLEX provides all the basic features and utilities for using these solvers: sophisticated problem preprocessing; file reading and writing utilities; reporting; messaging control; interactive revision capability; efficient restart from an advanced basis; sensitivity analysis; and an infeasibility finder.

More information

Isabelle

Isabelle is a popular generic theorem prover developed at Cambridge University and TU Munich. Existing logics like Isabelle/HOL provide a theorem proving environment ready to use for sizable applications. Isabelle may also serve as framework for rapid prototyping of deductive systems. It comes with a large library including Isabelle/HOL (classical higher-order logic), Isabelle/HOLCF (Scott's Logic for Computable Functions with HOL), Isabelle/FOL (classical and intuitionistic first-order logic), and Isabelle/ZF (Zermelo-Fraenkel set theory on top of FOL).

More information

JMP

JMP provides a comprehensive set of statistical tools as well as design of experiments and statistical quality control in a single package. It allows for custom programming and script development via JSL, "JMP Scripting Language".

More information

KANT

KASH/KANT is a computer algebra system for sophisticated computations in algebraic number fields and global function fields. It has been developed under the project leadership of Prof. Dr. M. Pohst at Technische Universität Berlin.

More information

LiE

LiE is the name of a software package that enables mathematicians and physicists to perform computations of a Lie group theoretic nature. It focuses on the representation theory of complex semisimple (reductive) Lie groups and algebras, and on the structure of their Weyl groups and root systems. LiE does not compute directly with elements of the Lie groups and algebras themselves; it rather computes with weights, roots, characters and similar objects.

More information

Maple

Maple is an environment for scientific and engineering problem-solving, mathematical exploration, data visualization and technical authoring.

More information

Mastrave

Mastrave is a free software library written to perform vectorized scientific computing and to be as compatible as possible with both GNU Octave and Matlab computing frameworks, offering general purpose, portable and freely available features for the scientific community. Mastrave is mostly oriented to ease complex modelling tasks such as those typically needed within environmental models, even when involving irregular and heterogeneous data series. The set of array-based semantic constraints provided by the library implements the standard semantic support for the Semantic Array Programming (SemAP) paradigm [http://mfkp.org/INRMM/tag/semap]. This support is meant to allow concise pieces of array-programming code to be immersed within a semantic network of array-concepts, without renouncing to extremely compact representations. Based on the mathematics of arrays, the semantics of the SemAP constraints is inherently portable. A rich set of semantic constraints is natively implemented in GNU Octave/MATLAB by the Mastrave modelling library and is easily accessed in other programming languages via multi-language array programming bridges (e.g. in Python and GNU R). For a simplified summary of some core concepts, you may read https://dx.doi.org/10.6084/m9.figshare.3472661

More information

Mathematica

Mathematica seamlessly integrates a numeric and symbolic computational engine, graphics system, programming language, documentation system, and advanced connectivity to other applications.

More information

Mathomatic

Mathomatic is a free, portable, general-purpose CAS (Computer Algebra System) and calculator software that can symbolically solve, simplify, combine, and compare equations, perform complex number and polynomial arithmetic, etc. It does some calculus and is very easy to use.

More information

Matlab

MATLAB is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran.

More information

MuPad

MuPAD is a mathematical expert system for doing symbolic and exact algebraic computations as well as numerical calculations with almost arbitrary accuracy. For example, the number of significant digits can be chosen freely. Apart from a vast variety of mathematical libraries the system provides tools for high quality visualization of 2- and 3-dimensional objects. On Microsoft Windows, Apple Macintosh and Linux systems, MuPAD offers a flexible notebook concept for creating mathematical documents combining texts, graphics, formulas, computations and mathematical visualizations and animations. On Microsoft Windows MuPAD further supports the technologies OLE, ActiveX Automation, DCOM, RTF and HTML. Thus it offers a natural integration in Office applications like Word or PowerPoint as well as others.

More information

Octave

GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language. Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave's own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.

More information

PARI/GP

PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers, etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.

More information

PolyBoRi

The core of PolyBoRi is a C++ library, which provides high-level data types for Boolean polynomials and monomials, exponent vectors, as well as for the underlying polynomial rings and subsets of the powerset of the Boolean variables. As a unique approach, binary decision diagrams are used as internal storage type for polynomial structures. On top of this C++-library we provide a Python interface. This allows parsing of complex polynomial systems, as well as sophisticated and extendable strategies for Gröbner base computation. PolyBoRi features a powerful reference implementation for Gröbner basis computation.

More information

polymake

polymake is an object-oriented system for experimental discrete mathematics. The typical working cycle of a polymake user starts with the construction of an object of interest, auch as a convex polytope, a finite simplicial complex, a graph, etc. It is then possible to ask the system for some of the object's properties or for some form of visualization. Further steps might include more elaborate constructions based on previously defined objects. Each class of polymake objects comes with a set of rules which describe how a new property of an object can be derived from previously known ones. It is a key feature that the user can extend or modify the set of rules, add further properties or even new classes of objects (with entirely new rule bases). The functions provided include: several convex hull algorithms, face lattices of convex polytopes, Voronoi diagrams and Delaunay decompositions (in arbitrary dimensions), simplicial homology (with integer coefficients), simplicial cup and cap products, intersection forms of triangulated 4-manifolds. Several forms of (interactive) visualization via interfaces to Geomview, JavaView and other programs.

More information

PSPP

PSPP is a program for statistical analysis of sampled data. It is a Free replacement for the proprietary program SPSS.

More information

RATS

RATS (Regression Analysis of Time Series) is a fast, efficient, and comprehensive econometrics and time series analysis software package.

More information

RCWA

RCWA is a package for the computer algebra system GAP. It provides implementations of algorithms and methods for computing in certain infinite permutation groups. The class of groups which RCWA in principle can deal with includes the finite groups, the free groups of finite rank, the free products of finitely many finite groups, certain infinite simple groups, certain divisible torsion groups and groups of many further types. It is closed under taking direct products and under taking wreath products with finite groups and with the infinite cyclic group (Z,+).

More information

Reduce

REDUCE is an interactive system for general algebraic computations of interest to mathematicians, scientists and engineers. It has been produced by a collaborative effort involving many contributors. It is often used as an algebraic calculator for problems that are possible to do by hand. However, REDUCE is designed to support calculations that are not feasible by hand. Many such calculations take a significant time to set up and can run for minutes, hours or even days on the most powerful computers.

More information

Risa/Asir

Risa/Asir is a general computer algebra system and also a tool for various computation in mathematics and engineering. The development of Risa/Asir started in 1989 at FUJITSU. Binaries have been freely available since 1994 and now the source code is also free. Currently Kobe distribution is the most active branch of its development. We characterize Risa/Asir as follows: (1) An environment for large scale and efficient polynomial computation. (2) A platform for parallel and distributed computation based on OpenXM protocols.

More information

Sage

SAGE is a framework for number theory, algebra, and geometry computation. It is open source and freely available under the terms of the GNU General Public License (GPL). SAGE is a Python library with a customized interpreter. It is written in Python, C++, and C (via Pyrex). Python (http://www.python.org) is an open source object-oriented interpreted language, with a large number of libraries, e.g., for numerical analysis, which are available to users of SAGE. Python can also be accessed in library mode from C/C++ programs. SAGE provides an interface to several important open source libraries, including Cremona’s MWRANK library for computing with elliptic curves, the PARI library (pari.math.u-bordeaux.fr) for number theory, Shoup’s number theory library NTL (http://www.shoup.net/ntl/), SINGULAR (http://www.singular.uni-kl.de) for commutative algebra, GAP (http://www.gap-system.org) for group theory and combinatorics, and maxima (http://maxima.sourceforge.net) for symbolic computation and calculus.

More information

Scilab

Scilab is a numerical computation system similiar to Matlab or Simulink. Scilab includes hundreds of mathematical functions, and programs from various languages (such as C or Fortran) can be added interactively. It has sophisticated data structures (including lists, polynomials, rational functions, and linear systems), an interpreter, and a high-level programming language. Scilab has been designed to be an open system where the user can define new data types and operations on these data types by using overloading. A number of toolboxes are available with the system.

More information

Scilab Image Processing Toolbox

SIP provides image processing, pattern recognition, and computer vision routines for SciLab, a Matlab-like matrix-oriented programming environment. SIP is able to read/write images in almost 90 major formats, including JPEG, PNG, BMP, GIF, FITS, and TIFF. It includes routines for filtering, segmentation, edge detection, morphology, curvature, fractal dimension, distance transforms, multiscale skeletons, and more.

More information

SINGULAR

SINGULAR is a Computer Algebra system for polynomial computations in commutative algebra, algebraic geometry, and singularity theory. SINGULAR's main computational objects are ideals and modules over a large variety of baserings. The baserings are polynomial rings over a field (e.g., finite fields, the rationals, floats, algebraic extensions, transcendental extensions), or localizations thereof, or quotient rings with respect to an ideal. SINGULAR features fast and general implementations for computing Groebner and standard bases, including e.g. Buchberger's algorithm and Mora's Tangent Cone algorithm. Furthermore, it provides polynomial factorizations, resultant, characteristic set and gcd computations, syzygy and free-resolution computations, and many more related functionalities. Based on an easy-to-use interactive shell and a C-like programming language, SINGULAR's internal functionality is augmented and user-extendible by libraries written in the SINGULAR programming language. A general and efficient implementation of communication links allows SINGULAR to make its functionality available to other programs.

More information

SYNAPS

SYNAPS (Symbolic and Numeric APplicationS) is a library developed in C++. The aim of this open source project is to provide a coherent and efficient library for symbolic and numeric computation. It implements data-structures and classes for the manipulation of basic objects, such as (dense, sparse, structured) vectors, matrices, univariate and multivariate polynomials. It also provides fundamental methods such as algebraic number manipulation tools, different types of univariate and multivariate polynomial root solvers, resultant computations, ...

More information