https://github.com/formulae-org/package-list-js
List package for Fōrmulæ, in JavaScript
https://github.com/formulae-org/package-list-js
cartesian-product conjugate-transpose determinant dot-product formulae javascript kronecker-product list matrix matrix-multiplication powerset sorting table transpose-matrix
Last synced: 2 months ago
JSON representation
List package for Fōrmulæ, in JavaScript
- Host: GitHub
- URL: https://github.com/formulae-org/package-list-js
- Owner: formulae-org
- License: agpl-3.0
- Created: 2023-04-14T04:24:11.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-17T04:36:06.000Z (3 months ago)
- Last Synced: 2025-03-17T05:29:02.257Z (3 months ago)
- Topics: cartesian-product, conjugate-transpose, determinant, dot-product, formulae, javascript, kronecker-product, list, matrix, matrix-multiplication, powerset, sorting, table, transpose-matrix
- Language: JavaScript
- Homepage:
- Size: 121 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# package-list-js
List (and matrix, tables) package for the [Fōrmulæ](https://formulae.org) programming language.
Fōrmulæ is also a software framework for visualization, edition and manipulation of complex expressions, from many fields. The code for an specific field —i.e. arithmetics— is encapsulated in a single unit called a Fōrmulæ **package**.
This repository contains the source code for the **list package**. It is intended to the computation on lists. Despite the name, it includes a lot of expressions related to vectors, matrices (because a matrix is a list of -same cardinallity- subslists), and tables.
The GitHub organization [formulae-org](https://github.com/formulae-org) encompasses the source code for the rest of packages, as well as the [web application](https://github.com/formulae-org/formulae-js).
### Capabilities ###
* Visualization of expressions
* List, it is shown as $`\{ element_1, element_2, ..., element_n \}`$
* Matrix
* Table* Edition
* Manual creation of a list. It creates a list with the currently selected expression as it single element
* Manual creation of a multi-element list of a provided number of elements
* Manual creation of a matrix of given number of rows and columns
* Manual creation of a table from a matrix* Reduction
* Related to lists/vectors
* [Sort](https://en.wikipedia.org/wiki/Sorting) the elements of a list/vector
* Using the natural order of its elements
* Using a custom comparator, provided as a lambda expression
* [Cartesian product](https://en.wikipedia.org/wiki/Cartesian_product) of two or more lists/vectors
* Cartesian exponentiation of a list/vector
* [Dot product](https://en.wikipedia.org/wiki/Dot_product) of two or more lists/vectors
* [Power set](https://en.wikipedia.org/wiki/Power_set) of two or more lists/vectors
* Related to matrices
* [Matrix multiplication](https://en.wikipedia.org/wiki/Matrix_multiplication)
* [Transpose of a matrix](https://en.wikipedia.org/wiki/Transpose)
* [Determinant of a matrix](https://en.wikipedia.org/wiki/Determinant)
* [Kronecker product](https://en.wikipedia.org/wiki/Kronecker_product) of two or more matrices
* [Conjugate transpose](https://en.wikipedia.org/wiki/Conjugate_transpose) of a matrix
* Programmatic creation of list/vectors/matrices/tables
* Creation of a list from a range e.g. 5..10