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.
Open DESIRE is a modeling/simulation language for dynamic systems and neural networks, a runtime compiler, and an experiment-protocol script for simulation studies. It supports up to 40,000 differential equations or neural networks, in scalar and/or vector form. It also supports very fast Monte Carlo studies and complex frequency-response plots.
Mathomatic is a portable, general-purpose computer algebra system (CAS) that can solve, differentiate, simplify, combine, and compare algebraic equations, perform standard, complex number, modular, and polynomial arithmetic, etc. It does some calculus and is very easy to compile/install, learn, and use. The symbolic math application with a simple command-line interface is designed to be a colorful algebra calculator that is reliable, responsive, and convenient to use. The symbolic math library is lightweight and easy to include in other software, due to being written entirely in C with no additional dependencies.
The Shared Scientific Toolbox is a library that facilitates development of efficient, modular, and robust scientific/distributed computing applications in Java. It features multidimensional arrays with extensive linear algebra and FFT support, an asynchronous, scalable networking layer, and advanced class loading, message passing, and statistics packages.
Jasymca is an interactive system for solving math problems. It supports arbitrary precision numbers and symbolic variables. Scalars, vectors, and matrices can be built from all datatypes and used in calculations. From the pseudoinverse of symbolic matrices over trigonometric simplifications to symbolic solutions of integrals and systems of equations, the main functionalities of CAS-programs are provided. Additionaly, high performance numerical routines from LAPACK and a plotmodule are implemented. The user interface can be selected from either an Octave/Matlab/SciLab-like language or a GNU-Maxima style. Three versions of Jasymca are provided to cover almost any computer platform: a midlet version for portable devices like cell phones or PDAs; a Java application for desktop PCs, laptops, and workstations; and an applet which can be integrated in Web pages.
Treep is a simple language for doing symbolical computations. It operates on numbers and strings that can be organized in more complex objects. These objects are lists of name-value pairs that are stored in memory as AVL trees. It has about sixty built-in functions to operate on such data and a way to define new functions. Treep syntax very much resembles Lisp. The power of treep is its simplicity and security. Treep is a good tool do process objects and relations between them. For example it is possible to define graphs as a sets of vertices and edges in text file, parse that file, do any computations you like, write modified data to text file. Treep works well on graphs, trees, linked lists, simple hashes. Treep is not good at processing texts, dealing with system input/output.
AnallogicA is an application that generates logical tables based on logical propositions. It is possible to compare inverse equivalence or logical values. Results can be saved in text files, CSV format, and an internal format. The program supports up to 15 different variables, which in combination would be more than 32000 possibilities. It shows the replacements done step-by-step during the analysis, a special function for students.