# openSUSE:Science Math

Math page of the Science Project.

## Packages

There exist many math and scientific computing related software, available as open source on Linux platforms. This is a list of some packages which might be interesting for people using computational tools. Many of these software packages are either not packaged for openSUSE yet or not available in (semi)-official repositories.

### Computer algebra systems (CAS)

- Maxima (repo: openSUSE Contrib)
- wxMaxima is a document based interface using the wxWidgets GUI toolkit. (repo: openSUSE Contrib)
- SymPy a python-based CAS (repo: science)
- Sage

### General Scientific Computing

- SciPy is a python based tool box for mathematics, science and engineerings (repo: science)

related computation tasks. Its package collection provide tools to work for integration, optimization, interpolation, fourier transform signal and image processing, statics etc.

- Octave A high level interpreted language for numerical computations, which

is mostly compatible to Matlab. (repo: openSUSE Contrib)

- Scilab Another problem solving environment for numerical computation in science and engineering. (repo: Education)
- R An environment for statistical computing. (repo: openSUSE Main)

### High Performance Linear Algebra Solvers

- BLAS
- uBLAS
- ATLAS (repo: Education)
- openblas (repo: science)
- NumPy is Python package providing basic array and linear algebra data structures and algorithms. As such it is a fundamental package for SciPy.
- LAPACK (not for sparse matrices) (repo: openSUSE Main)
- Armadillo (not for sparse matrices) (repo: openSUSE Main >= 12.1)
- SuiteSparse is mainly a collection of linear algebra tools for sparse matrix computations. (repo: Education)

### Mesh Generation and Related Tools

See http://www.robertschneiders.de/meshgeneration/software.html for a vast overview of public domain and commercial mesh generators

- Netgen/NGSolve is a 3D tetrahedral mesh generator, providing modules for mesh optimization and mesh refinement. It comes with a GUI. (repo: science)
- Gmsh A 3D mesh generator, together with a build-in CAD engine and a GUI (repo: science)
- CalculiX ccx is a package designed to solve field problems. The method used is the finite element method. With CalculiX Finite Element Models can be built, calculated and post-processed. The pre- and post-processor is an interactive 3D-tool using the openGL API. (repo: science)
- CGAL is the Computational Geometry Algorithms Library and contains among other tools packages for mesh generation in 2D and 3D (repo: graphics)

- GTS, the GNU Triangulated Surface Library provides tools to work with 3D surface meshes. (outdated, last program release 2006-03-29) (repo: graphics)

### Mesh/Graph Partitioner

- METIS (repo: science) and ParMETIS
- SCOTCH and PT-SCOTCH (repo: science)

### Computational Geometry and Related Packages

- Bullet is a physics and collision detection library

### High Performance Toolkits

Often geared towards solving partial differential equations (PDEs)

### PDE Solving Environments

- FEniCS Project (repo: science) provides a problem solving environment (PSE) for automated solution of partial differential equtions by the finite element method and consists of the following http://fenicsproject.org/about/components.html#about-components-additional Subprojects]:
- FIAT, the FInite element Automatic tabulator,
- UFL, the Unified Form Language,
- UFC, Unified Form-assembly Code
- FFC, FEniCS Form Compiler
- SYFI,
- Instant, a tool to inline C/C++ in Python,
- Viper, the minimalistic visualization module of the FEniCS project.
- DOLFIN the main component, providing the PSE for partial different equations

- FreeFem++
- DUNE (repo: science)
- lifeV
- deal.II
- libMesh
- OpenFOAM
- G+Smo (repo: science/gismo)

### Visualization Tools and Related Software

- Mayavi2 (repo: science)
- Enthought Tool Suite
- ParaView (repo: science)