# Semantic search

- Asymptote
- 'Asymptote' is a script-based 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. It is a programming language, not just a graphics program, so it can use the best features of both scripts and GUIs. High-level graphics commands are implemented in the language itself, so they can be tailored to specific applications. Labels and equations are typeset with LaTeX for high-quality PostScript output.

- Besssugo
- besssugo is a free computational tool specifically designed to aid a cognizant expert—i.e. you, whether an engineer, scientist, technician, geek, etc—to build videos showing the result of a certain scientific calculation or whatever data can be computed or storied in a digital computer. Technically speaking, it is a plugin for the computational tool wasora, which provides means to parse and understand a high-level plain-text input file containing algebraic expressions, data for function interpolation, differential equations and output instructions amongst other facilities. Therefore, any mathematical computation which can be done by wasora—i.e. solving systems of differential-algebraic equations, multidimensional interpolation of scattered data, numerical integration and differentiation, etc.—can be combined with the facilities that besssugo provides to create visual representations in the form of animations.

- Cl-ana
- cl-ana is a library of modular utilities for reasonably high performance data analysis & visualization using Common Lisp. (Reasonably means I have to be able to use it for analyzing particle accelerator data). The library is made of various sublibraries and is designed in a very bottom-up way so that if you don't care about some feature you don't have to load it.
The functionality support so far are
- Tabular data analysis: Read-write of large datasets stored in HDF5 files are supported, along with ntuple datasets, CSVs, and in-memory data tables. Users can add their own table types by defining 4 methods and extending the table CLOS type.

- Histograms: Binned data analysis is supported with both contiguous and sparse histogram types; functional interface is provided via map (which allows reduce/fold) and filter.

- Plotting: Uses gnuplot for plotting dataset samples, plain-old lisp functions, histograms, strings-as-formulae, and anything else the user wishes to add via methods on a couple of generics.

- Fitting: Uses GSL for non-linear least squares fitting. Uses plain-old lisp functions as the fit functions and can fit against dataset samples, histograms, and whatever the user adds.

- Generic mathematics: CL doesn't provide extendable math functions, so cl-ana provides these as well as a convenient mechanism (a single function) for using these functions instead of the non-extendable versions. Already included are error propogation and quantities (values with units, e.g. 5 meters) as well as a GNU Octave-style handling of sequences (e.g. (+ (1 2) (3 4)) --> (4 6)).

- Ctioga2
- ctioga2 is a plotting program in the spirit of gnuplot. It can be used either directly on command-line or writing command files (or a mix of both). It produces publication-quality PDF files. It is based on the Tioga plotting library.

- DUNE-Grid How To
- DUNE, the Distributed and Unified Numerics Environment is a modular toolbox for solving partial differential equations (PDEs) with grid-based methods. It supports the easy implementation of methods like Finite Elements (FE), Finite Volumes (FV), and also Finite Differences (FD). DUNE is free software licensed under the GPL (version 2) with a so called "runtime exception" (see license). This licence is similar to the one under which the libstdc++ libraries are distributed. Thus it is possible to use DUNE even in proprietary software. The underlying idea of DUNE is to create slim interfaces allowing an efficient use of legacy and/or new libraries. Modern C++ programming techniques enable very different implementations of the same concept (i.e. grids, solvers, ...) using a common interface at a very low overhead. Thus DUNE ensures efficiency in scientific computations and supports high-performance computing applications. DUNE is based on the following main principles:
- Separation of data structures and algorithms by abstract interfaces.- This provides more functionality with less code and also ensures maintainability and extendability of the framework.
- Efficient implementation of these interfaces using generic programming techniques.
- Static polymorphism allows the compiler to do more optimizations, in particular function inlining, which in turn allows the interface to have very small functions (implemented by one or few machine instructions) without a severe performance penalty. In essence the algorithms are parametrized with a particular data structure and the interface is removed at compile time. Thus the resulting code is as efficient as if it would have been written for the special case.
- Reuse of existing finite element packages with a large body of functionality.- In particular the finite element codes UG, ALBERTA, and ALUGrid have been adapted to the DUNE framework. Thus, parallel and adaptive meshes with multiple element types and refinement rules are available. All these packages can be linked together in one executable.
- The framework consists of a number of modules which are downloadable as separate packages. The current core modules are:
- dune-common- contains the basic classes used by all DUNE-modules. It provides some infrastructural classes for debugging and exception handling as well as a library to handle dense matrices and vectors.
- dune-grid- is the most mature module. It defines nonconforming, hierarchically nested, multi-element-type, parallel grids in arbitrary space dimensions. Graphical output with several packages is available, e.g. file output to IBM data explorer and VTK (parallel XML format for unstructured grids). The graphics package Grape has been integrated in interactive mode.
- dune-istl (Iterative Solver Template Library)- provides generic sparse matrix/vector classes and a variety of solvers based on these classes. A special feature is the use of templates to exploit the recursive block structure of finite element matrices at compile time. Available solvers include Krylov methods, (block-) incomplete decompositions and aggregation-based algebraic multigrid.

- DataCaptureTool
- This is a candidate for deletion: All links broken. Software not on archive.org. Email to maintainer broken. poppy-one (talk) 02:37, 28 July 2018 (EDT) DataCapture was born out of frustration, and after much procrastination. Every time I had to get numerical values of a graph from a journal or a conference paper, I had to painstakingly approximate data points from the graph as best I could. Every time the points would come out inaccurate and a rather poor reproduction of the actual data. I wanted to write a program that would automate this task, and do a much better job at that. But then, that was three years ago. Finally its done. Its not the best thing that I have created, but certainly, one of the most useful. Its written in TCl/Tk and is a very small and uncomplicated aplication. Something that you can easily incorporate into your own applications easily.

- Dr-geo
- Dr. Geo, a libre software to design & manipulate interactive geometric sketches with constraints. Dr. Geo aim is to be an open, easy to study, modify and extend interactive geometry software. It is distributed with its source code you can modify while using it. Ten years old kids use Dr. Geo to explore Euclidean geometric sketch, agile kids extend and program it with its embedded dynamic Smalltalk language and user interface.

- FroZenLight
- FroZenLight connects simple line art and mathematics. The source of light can be positioned so that either symmetric reflection patterns or secret messages (Cryptography) are created. Dozens of example light patterns and some math exercises are provided.

- FunkyPlot
- FunkyPlot is an interactive plotting tool for mathematical functions, designed for pupils and students.

- Gnuplot
- Gnuplot is a portable command-line driven graphing utility. It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by third-party applications like GNU Octave. Gnuplot has been supported and under active development since 1986.

- Gsegrafix
**GSEGrafix**is an application which produces high-quality graphical plots for science and engineering. Plots are specified via simple ASCII parameter files and data files and are presented in an anti-aliased GNOME canvas. The program supports rectangular two-dimensional plots, histograms, polar-axis plots and three-dimensional plots. Plots can be printed or saved to BMP, JPEG or PNG image formats. GSEGrafix can also be run both from a command prompt and from Octave.

- Kmplot
- kmplot is a mathematical function plotter for the KDE desktop. A powerful parser is included. You can plot different functions simultaneously and combine their function terms to build new functions. kmplot supports functions with parameters and functions in polar coordinates. Several grid modes are possible. Plots may be printed with high precision in correct scale.

- Kpl
**Kpl is a program for two- and three-dimensional graphical presentation of data sets and functions.**It performs multidimensional nonlinear parameter fits of functions to data sets using the Levenberg-Marquardt algorithm; general linear least square parameter fits are also possible. Other applications and scripts can control Kpl through a D-BUS interface. All presentation settings may be saved in plot files. Both plot and data files may be chosen by command line parameters, through the File menu, or by drag and drop. The program supports automatic scaling and normalization as well as automatic parameter fits. Presentation settings can be changed using the Edit menu. Additional data sets and functions can be displayed in the either the same or a different data window.

- LibreOffice
**LibreOffice is the power-packed personal productivity suite that gives you six feature-rich applications for all your document production and data processing needs: Writer, Calc, Impress, Draw, Math and Base.**There are also a good and growing number of free software extensions and templates available.*LibreOffice is a fork of OpenOffice.org, which is now called Apache OpenOffice. Because Apache OpenOffice hosts and recommends using proprietary extensions, we do not recommend using it.*

- MathEOS
- This is a text editor for writing math lessons and providing tools for doing all the exercises from elementary school to junior high. The software is especially designed to fulfil the needs of disabled pupils, and pupils suffering from dyspraxia in particular. The program manages the child's documents like a notebook, organized with chapters, and separating lessons, exercises and evaluations, making it very easy to navigate through the documents.

- Mpmath
- Mpmath is a pure-Python library for multiprecision floating-point arithmetic. It provides an extensive set of transcendental functions, unlimited exponent sizes, complex numbers, interval arithmetic, numerical integration and differentiation, root-finding, linear algebra, and much more. Almost any calculation can be performed just as well at 10-digit or 1000-digit precision, and in many cases pmath implements asymptotically fast algorithms that scale well for extremely high precision work.
If available, mpmath will (optionally) use gmpy to speed up high precision operations. If matplotlib is available, mpmath also provides a convenient plotting interface.
Its features include:
- Fair performance -- typically 10-100x faster than Python's decimal library
- Transcendental functions -- all functions from Python's math and cmath modules, plus a few more like gamma, factorial, erf
- Complex numbers -- with support for transcendental functions
- Directed rounding -- floor, ceiling, down, up, half-down, half-up, half-even
- Unlimited exponents -- no overflow or underflow

- Octave-interval
- The interval package for real-valued interval arithmetic allows one to evaluate functions over subsets of their domain. All results are verified, because interval computations automatically keep track of any errors. These concepts can be used to handle uncertainties, estimate arithmetic errors and produce reliable results. Also it can be applied to computer-assisted proofs, constraint programming, and verified computing. The implementation is based on interval boundaries represented by binary64 numbers and is conforming to IEEE Std 1788-2015, IEEE standard for interval arithmetic.

- OpenPlaG
- openPlaG is a PHP based function graph plotter for the use on websites. openPlaG allows the display of up to three function graphs, their derivative and their integral. It can compute several different functions.

- Plotutils
**Plotutils**is a package for plotting and working with 2D graphics. It includes a library, "libplot", for C and C++ for exporting 2D vector graphics in many file formats. It also has support for 2D vector graphics animations. The package also contains command-line programs for plotting scientific data.

- Plplot
**PLplot**is a software package for creating scientific plots whose plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer. The package includes a core C library, separate language bindings for that library, and separate dynamically loaded device drivers which control how the plots are presented in non interactive and interactive plotting contexts. The PLplot core library can be used to create standard x-y plots, semi-log plots, log-log plots, contour plots, 3D surface plots, mesh plots, bar charts and pie charts. Multiple graphs (of the same or different sizes) may be placed on a single page, and multiple pages are allowed for those device formats that support them. PLplot bindings exist for many compiled and interpreted languages, including C, C++, Lisp, Lua, OCaml, Octave, Perl or Python.

- PuffinPlot
- PuffinPlot is a user-friendly, cross-platform program which analyses and plots palaeomagnetic data. It provides several plot types and analysis functions commonly used in palaeomagnetism, user-configurable graph layout, CSV data export, and SVG and PDF graph export. It has facilities for both interactive and bulk analysis, and can also be controlled and extended using any JVM-based scripting language (including Python). PuffinPlot is written in Java.

- ReferenceFinder
- Finds folding sequences to approximately locate any point in a square using a small number of folds.

- SciGraphica
- SciGraphica is a scientific application for data analysis and technical graphics. It pretends to be a clone of the popular commercial (and expensive) application "Microcal Origin". It fully supplies plotting features for 2D, 3D and polar charts. You can plot functions and manipulate data in worksheets, insert Python expression into them, and open several worksheets and plots and work with them interactively and at the same time. Plots are fully configurable using a control panel dialog. You can also import/export in XML format.

- SimThyr
- SimThyr is a continuous simulation program for pituitary-thyroid feedback control. Applications of this program cover research, including development of hypotheses, and education of students in biology and medicine, nurses and patients. SimThyr is based on a physiologically-grounded nonlinear mathematical theory of thyroid homeostasis. The application supports simulation in time domain and various methods of sensitivity analysis. Source code is provided for Lazarus and Free Pascal. The program is compatible with most desktop Linux distributions, Mac OS X and Windows.

- Snow Path Formation Simulator
- Snow Path Formation Simulator is a program that models the process of people forming very distinct, and yet not always altogether logical looking, paths in the snow as they walk across open spaces. The evolving condition of the snow is displayed graphically. This project may eventually mature into a screensaver.

- TOCHNOG
- Tochnog is a explicit/implicit finite element program with linear/nonlinear, contact, thermal, elastic/hyperelastic/hypoelastic/plastic/visco, and fluid capabilities. Both parallel and distributed solvers are available, as well as 2D beams and trusses.

- TensorFlow
- TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.

- Unit Circle
- Unit Circle shows the relationship between angles and trigonometric functions like sine and cosine. To do this, the program implements an interactive "unit circle" (radius = 1) diagram, where the user can click or drag to set angles and see how the values of trigonometric functions change accordingly.

- VStar
- VStar is a multi-platform, easy-to-use variable star data visualization and analysis tool that was originally developed as part of the AAVSO's Citizen Sky project. Data for a star can be read from the AAVSO International Variable Star Photometric database or from a text file of your own creation.

- Veusz
- Veusz is a GUI scientific plotting and graphing package. It is designed to produce publication-ready Postscript, PDF or SVG output. In Veusz plots are created by building up plotting widgets with a powerful and consistent object-based interface. The program also provides a command line and scripting interface (based on Python) to its plotting facilities. It can also act as a Python plotting module. Data can be read from text, CSV or FITS files, and data can be manipulated or examined from within the application.

- Zibawa
- Zibawa integrates other open source software to create a full stack IoT system, including device management, mqtt message intepreter and enrichment, stack management and monitoring, test messaging and stack configuration. Works with mqtt, amqp and http protocols. Currently interfaces with rabbitmq, influxDB, Grafana dashboards, openLDAP.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.