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.
Veusz is a scientific plotting package, designed to create publication-ready Postscript, PDF, or SVG output. It features an easy to use graphical interface as well as a command line interface and can be scripted or embedded in Python scripts. Graphs are constructed in a modular fashion from separate components. Datasets can be interactively modified or created from within the program.
BRL-CAD is a powerful constructive solid geometry solid modeling system that includes an interactive geometry editor, ray-tracing support for rendering and geometric analysis, path-tracing for realistic image synthesis, network distributed framebuffer support, and image and signal-processing tools.
Fimex is a the File Interpolation, Manipulation, and EXtraction library for gridded geospatial data. It converts between different, extensible data formats (currently netcdf, NcML, grib1/2, metgm, wdb, and felt). It enables you to change the projection and interpolation of scalar and vector grids. It makes it possible to subset the gridded data and to extract only parts of the files. For simple usage, Fimex also comes with the command line program fimex.
JGraph is a free, mature, and robust Java diagramming library. It contains all the graph visualization, layout, and interaction functionality you might expect in a graph library, including multiple views, layering, zoom, drag and drop, undo, automatic expanding and collapsing, routing, and layouts. You can create workflow editors, BPMN, CAD tools, network diagrams, database visualization tools, and more. It is fully documented, including examples, and has an active support community.
Visual Paradigm for UML is a Unified Modeling Language (UML) design tool that supports all UML diagrams, SysML diagrams, and entity relationship diagrams. Visual Paradigm for UML provides extensive use case modeling features, including full function UML use case diagram, flow of events editor, use case/actor grid, and activity diagram generation. Visual Paradigm for UML produces system documentation in PDF, HTML, and MS Word formats. A developer can design system documentation with the template designer. A system analyst can estimate the consequences of changes with impact analysis diagrams, such as matrix and analysis diagram. Visual Paradigm for UML generates Java code.
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.
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.