Oberwolfach References on Mathematical Software

17 Search Results

3D-XplorMath

The primary goal of 3D-XplorMath is to allow users with little or no programming experience to see, with minimal effort, concrete visual representations of many different categories of mathematical objects and processes. To accomplish this, objects from each category are described internally by well-designed, parameterized data structures, and for each category a variety of rendering methods is provided to permit visualization of objects of the category in ways that are appropriate for various purposes. Each of the hundreds of built-in objects known to the program is assigned carefully chosen defaults so that, when the object is selected from a menu, the program can immediately construct a standard example of the object and render it in an optimized view. The user may then use various menus and dialogs to alter the parameters describing the shape and coloration of the object, change the viewpoint from which it is seen, select different rendering methods, etc. Moreover, as its name suggests, the program can display objects such as surfaces, space curves and polyhedra using various stereo techniques. In addition to the many built-in objects known to the program, a user can create "user-defined" objects by entering formulas using standard mathematical notation. Visualizations created by the program can be saved in jpeg and other graphic formats and the data defining 3D objects can be exported to other 3D programs (e.g., Bryce or POV-Ray) in formats such as .obj and .inc. Both built-in and user-defined objects can depend on parameters, and the program can create morphing animations by moving along a path in the parameter space, and these animations can then be saved as QuickTime movies. Each of the built-in objects has associated to it a so-called ATO (About This Object) file that provides documentation for the object. An early and more developed version of the program, written in Object Pascal, runs under the Macintosh Operating System and a Java-based cross-platform version is now also available.

More information

CASA

CASA is a special-purpose system for computational algebra and constructive algebraic geometry. The system has been developed since 1990. CASA is the ongoing product of the Computer Algebra Group at the Research Institute for Symbolic Computation (RISC-Linz), the University of Linz, Austria, under the direction of Prof. Winkler. The system is built on the kernel of the widely used computer algebra system Maple.

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

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

GELDA

GELDA is a Fortran77 software package for the numerical integration of general linear differential-algebraic equations (DAE) with variable coefficients of arbitrary index. The implementation of GELDA is based on the construction of the discretization scheme, which first determines all the local invariants and then transforms the linear DAE into an equivalent strangeness-free DAE with the same solution set. The resulting strangeness-free system is allowed to have nonuniqueness in the solution set or inconsistency in the initial values or inhomogeneities. In the case that the DAE is found to be uniquely solvable, GELDA is able to compute a consistent initial value and apply the well-known integration schemes for DAEs. In GELDA the BDF methods and Runge-Kutta schemes are implemented.

More information

HiFlow³

HiFlow³ is a multi-purpose finite element software providing powerful tools for efficient and accurate solution of a wide range of problems modeled by partial differential equations. Based on object-oriented concepts and the full capabilities of C++ the HiFlow³ project follows a modular and generic approach for building efficient parallel numerical solvers. It provides highly capable modules dealing with the mesh setup, finite element spaces, degrees of freedom, linear algebra routines, numerical solvers, and output data for visualization. Parallelism – as the basis for high performance simulations on modern computing systems – is introduced on two levels: coarse-grained parallelism by means of distributed grids and distributed data structures, and fine-grained parallelism by means of platform-optimized linear algebra back-ends.

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

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

LinBox

LinBox is a C++ template library for exact, high-performance linear algebra computation with dense, sparse, and structured matrices over the integers and over finite fields. LinBox has the following top-level functions: solve linear system, matrix rank, determinant, minimal polynomial, characteristic polynomial, Smith normal form and trace. A good collection of finite field and ring implementations is provided, for use with numerous black box matrix storage schemes.

More information

Maple

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

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

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

rbMIT

The rbMIT © MIT software package implements in Matlab® all the general reduced basis algorithms. The rbMIT © MIT software package is intended to serve both (as Matlab® source) "Developers" — numerical analysts and computational tool-builders — who wish to further develop the methodology, and (as Matlab® "executables") "Users" — computational engineers and educators — who wish to rapidly apply the methodology to new applications. The rbMIT software package was awarded with the Springer Computational Science and Engineering Prize in 2009.

More information

ShearLab 3D

ShearLab 3D is a MATLAB Library, developed for processing two- and three-dimensional signals using a certain class of basis functions named shearlets. These functions were developed with the goal of constructing systems of basis-functions nicely suited for representing anisotropic features (e.g. curvilinear singularities) that often are present in multivariate data. ShearLab 3D is optimized for GPU computing with CUDA and contains examples for applications like image and video denoising or image and video inpainting.

More information

SuperLU

SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines. The library is written in C and is callable from either C or Fortran. The library routines will perform an LU decomposition with partial pivoting and triangular system solves through forward and back substitution. The LU factorization routines can handle non-square matrices but the triangular solves are performed only for square matrices. The matrix columns may be preordered (before factorization) either through library or user supplied routines. This preordering for sparsity is completely separate from the factorization. Working precision iterative refinement subroutines are provided for improved backward stability. Routines are also provided to equilibrate the system, estimate the condition number, calculate the relative backward error, and estimate error bounds for the refined solutions.

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