ACL2 is a mathematical logic, programming language, and mechanical theorem prover based on the applicative subset of Common Lisp. It is an "industrial-strength" version of the NQTHM or Boyer/Moore theorem prover, and has been used for the formal verification of commercial microprocessors, the Java Virtual Machine, interesting algorithms, and so forth.
APBS is a software package for the numerical solution of the Poisson-Boltzmann equation (PBE), one of the most popular continuum models for describing electrostatic interactions between molecular solutes in salty, aqueous media. Continuum electrostatics plays an important role in several areas of biomolecular simulation, including simulation of diffusional processes to determine ligand-protein and protein-protein binding kinetics, implicit solvent molecular dynamics of biomolecules, solvation and binding energy calculations to determine ligand-protein and protein-protein equilibrium binding constants and aid in rational drug design, and biomolecular titration studies.
ASCIIMathML is a script that converts calculator-style ASCII math notation (and many LaTeX formulas) to Presentation MathML while your Web page loads. It works with HTML and XHTML files in Mozilla/Firefox/Netscape 7+ browsers, as well as in Internet Explorer 6 with MathPlayer. For example, the solutions for the equation 'ax^2+bx+c=0' are expressed in the HTML file as '(-b +- sqrt(b^2 - 4ac))/(2a)', and display as nicely formatted MathML. The script can be easily used in wikiservers and blogs, as a rudimentary MathML editor (with instant preview), and to preview math formulas as they are typed into a Web page input area.
The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing research effort focusing on applying empirical techniques in order to provide portable performance. It provides C and Fortran77 interfaces to a portably efficient BLAS implementation, as well as a few routines from LAPACK.
Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. 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 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.
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.
BuDDy was created as part of a PhD project on model checking of finite state machines by Jørn Lind-Nielsen. The package has evolved from a simple introduction to Binary Decision Diagrams (BDDs) to a full blown BDD package with all the standard BDD operations, reordering, a C++ interface, and a wealth of documentation.
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.
Brook for GPUs is a compiler and runtime implementation of the Brook stream programming language for modern graphics hardware. The goals for this project are to demonstrate general purpose programing on GPUs, to provide a useful tool for developers who want to run applications on GPUs, and to research the stream language programming model, streaming applications, and system implementations.
CCruncher is a project for quantifying portfolio credit risk using the copula approach. It is a framework consisting of two elements: a technical document that explains the theory, and a software program that implements it. CCruncher evaluates the portfolio credit risk by sampling the portfolio loss distribution and computing the Expected Loss (EL), Value at Risk (VaR), and Expected Shortfall (ES) statistics. The portfolio losses are obtained simulating the default times of obligors and simulating the EADs and LGDs of their assets.