Oberwolfach References on Mathematical Software

21 Search Results

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

Fast Artificial Neural Network Library

Fast Artificial Neural Network Library is a neural network library that implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks. Cross-platform execution in both fixed and floating point are supported. It includes a framework for easy handling of training data sets. It is easy to use, versatile, well documented, and fast. PHP, C++, .NET, Python, Delphi, Octave, Ruby, Pure Data, and Mathematica bindings are available. A reference manual accompanies the library with examples and recommendations on how to use the library. A graphical user interface is also available for the library.

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

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

HSL

HSL (formerly the Harwell Subroutine Library) is a collection of ISO Fortran codes for large scale scientific computation, written by members of the Numerical Analysis Group and other experts.

More information

LAPACK

LAPACK is written in Fortran77 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision.

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

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

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

PLTMG

PLTMG is a package for solving elliptic partial differential equations in general regions of the plane. It is based on continuous piecewise linear triangular finite elements, and features adaptive local mesh refinement, multigraph iteration, and pseudo-arclength continuation options for parameter dependencies. It also provides options for solving several classes of optimal control and obstacle problems. The package includes an initial mesh generator and several graphics packages. Support for the Bank-Holst parallel adaptive meshing strategy is also provided. PLTMG is provided as Fortran (and a little C) source code, in both single and double precision versions. The code has interfaces to X-Windows, MPI, and Michael Holst's OpenGL image viewer SG. The X-Windows, MPI, and SG interfaces require libraries that are NOT provided as part of the PLTMG package.

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

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

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

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

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