Projects
Projects
Bestiary
A LaTeX-inspired mathematical computing environment that unifies seven animal-themed C libraries behind a GUI, command-line interpreter, and scripting language
Quaternionic
C library for algebra, arithmetic, and analysis on algebras resulting from the Cayley-Dickson procedure over various fields
OOKAMI
Python library for computations in additive and multiplicative combinatorics on finite subsets of ℤ
Bestiary - v1.0.2: Release the BEASTs!
...the Bundles of Efficient Algorithms for Science and Technology, that is!!
Bestiary is a LaTeX-inspired mathematical computing environment built around seven C-based, animal-themed mathematics libraries. It combines a language, command-line interface, and GUI application so that these libraries can be used together as one unified system. Its core idea is simple: mathematical expressions should be typed the way mathematicians already write them. Each library is referred to as a "BEAST," and provides a set of commands that can be accessed in Bestiary. All commands in Bestiary start with a backslash \ character, and the language is themed after LaTeX, such that many objects can be defined in a way identical to how they would be typed in LaTeX.
Each BEAST is written from scratch in C, and the wxWidgets-based GUI application, which allows for easy access to documentation while working and running multiple Bestiary shells in parallel, is written in the C++ language. For full documentation on each of the hundreds of commands and operations available in Bestiary, see the "Help" tab in the application. More information on each BEAST and its functionality can be found below.
Bestiary is currently in active development, but as of v1.0.2, it can be expected to be stable and efficient for regular use. All core commands will keep the same functionality, but I am working on a v2.0.0 which will add loops, user-defined functions, 2D and 3D plotting, lists, randomness, PDEs, ODEs, statistics and probability, number theory, and so much more!! Bestiary has mostly been tested on the GNU/Linux operating system, so it is expected to be less stable on Windows, but it is supported and developed for Windows as well.
Quaternionic - v1.0.0
Quaternionic is a mathematics library written from scratch in C offering implementations of the algebra and arithmetic of algebras resulting from the Cayley-Dickson construction. Supported base fields include the rationals, the reals, complex numbers, arbitrary finite fields, and arbitrary number fields. Quaternionic mainly focuses on quaternion algebras and, secondarily, octonion algebras, but it supports basic algebra and arithmetic for sedenions, trigitaduonions, and arbitrary Cayley-Dickson algebras as well.
While it is meant to be suitable for standalone use, Quaternionic has been designed with incorporation into [Bestiary](https://git.keimai.space/algebraity/bestiary) as an ultimate goal. It makes use of built-in libraries for fraction arithmetic, complex numbers, linear algebra, and field arithmetic so that it can be used in a fully independent manner, with no additional dependencies. However, for ease of use in research applications, it is recommended to be used within Bestiary once it is incorporated, which is being worked on currently.
Quaternionic is currently in active development. Since it is by itself just a C library, it may be assumed to have full support for any platform using LibC. Anypony interested in contributing code, providing bug reports, or suggesting new features is invited to do so on the git page.
OOKAMI - v1.2.4
The purpose of this project is to provide a set of tools that can be used for computations with subsets of the integers in additive and multiplicative combinatorics. It is designed with my own research goals in mind, and thus it may not meet the needs of other projects exactly, but it is well-documented so that others may use it for their own work. The project is implemented in Python, using NumPy for efficient computations; see Dependencies for a list of all dependencies. Full documentation is available within the docs directory, which is included in every release.
As of v1.2, I consider OOKAMI mostly complete in the sense that there are no more major features or optimizations I intend to add to it for now. I will still push minor releases (e.g. v1.2.x) if patches are necessary to fix bugs or improve basic functioning, or if there are minor features I think to add. If anypony finds a bug or would like to see a feature added, please raise an issue or message me. Of course, since OOKAMI is open source, you may clone this repository and implement a feature if you prefer.
Since OOKAMI is a completed project, I don't intend to
implement any more features or update it unless there are
bugs reported to me. However, I've worked on a rewrite
in C, which I call OOKAMI-ng. OOKAMI-ng is a part of my main project,
Bestiary, and so it will continue to be updated as I work on the project.