GNU TeXmacs is a free wysiwyw (what you see is what you want) editing platform with special features for scientists. The software aims to provide a unified and user friendly framework for editing structured documents with different types of content: text, mathematics, graphics, interactive content. TeXmacs can also be used as an interface to many external systems for computer algebra, numerical analysis, and statistics. New presentation styles can be written by the user and new features can be added to the editor using Scheme.
MathGL is a library for making high-quality scientific graphics under Linux and Windows, fast data plotting and handling of large data arrays, working in window and console modes, and easily embedding into other programs. It has more than 40 general types of graphics for 1d, 2d, and 3d data arrays. It can export graphics to raster and vector (EPS or SVG) formats. It has an OpenGL interface and can be used from console programs. It has functions for data handling and MGL language scripting for simplification of data plotting. It has several types of transparency and smoothed lightning, vector fonts and TeX-like formula drawing, an arbitrary curvilinear coordinate system, and many other useful things.
Asymptote is a powerful descriptive 2D and 3D vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. It provides for figures the same high-quality level of typesetting that LaTeX does for scientific text. Asymptote is a programming language as opposed to just a graphics program. It can exploit the best features of script (command-driven) and graphical user interface (GUI) methods. High-level graphics commands are implemented in the language itself, allowing them to be easily tailored to specific applications.
Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. The API is deliberately similar to Matlab's. Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS numerics libraries. A delayed evaluation approach, based on template meta-programming, is used (during compile time) to combine several operations into one and reduce or eliminate the need for temporaries.
Gmsh is an automatic 3D finite element grid generator with built-in CAD and post-processing facilities. Its design goal is to provide a simple meshing tool with parametric input and advanced visualization capabilities. It is built around four modules: geometry, mesh, solver, and post-processing. The specification of any input to these modules is done either interactively using the graphical user interface (based on FLTK and OpenGL) or in ASCII text files using Gmsh's own scripting language.
Botan is a crypto library written in C++. It provides a variety of cryptographic algorithms, including common ones such as AES, MD5, SHA, HMAC, RSA, Diffie-Hellman, DSA, and ECDSA, as well as many others that are more obscure or specialized. It also offers SSL/TLS (client and server), X.509v3 certificates and CRLs, and PKCS #10 certificate requests. A message processing system that uses a filter/pipeline metaphor allows for many common cryptographic tasks to be completed with just a few lines of code. Assembly and SIMD optimizations for common CPUs offers speedups for critical algorithms like AES and SHA-1.
Class Library for Numbers (CLN) is a library for computations with all kinds of numbers. Its rich set of number classes includes integers, rational numbers, floating-point numbers, complex numbers, modular integers, and univariate polynomials. It implements elementary functions (also with unlimited precision), logical functions, and transcendental functions. It is designed for memory and speed efficiency as well as interoperability.
SHOGUN is a machine learning toolbox whose focus is on large scale kernel methods and especially on Support Vector Machines (SVM). It provides a generic SVM object interfacing to several different SVM implementations, all making use of the same underlying, efficient kernel implementations. Apart from SVMs and regression, SHOGUN also features a number of linear methods like Linear Discriminant Analysis (LDA), Linear Programming Machine (LPM), (Kernel) Perceptrons, and algorithms to train hidden Markov models. SHOGUN can be used from within C++, Matlab, R, Octave, and Python.
DOLFIN is the C++ interface of the FEniCS project for the Automation of Computational Mathematical Modeling (ACMM), providing a consistent PSE (Problem Solving Environment) for solving ordinary and partial differential equations. Key features include a simple, consistent and intuitive object-oriented API; automatic and efficient evaluation of variational forms through FFC; automatic and efficient assembly of linear systems; and support for general families of finite elements.