UNPKG

2.41 kBMarkdownView Raw
1---
2title: algebra
3---
4
5> Vectors, Matrices, Tensors
6
7{% include node_badges.md package='algebra' %}
8
9![on-quaternions-and-octonions!](//g14n.info/algebra/images/Cover-OnQuaternionsAndOctonions.png) ![Algebra!](//g14n.info/algebra/images/Cover-Algebra.png)
10
11## Installation
12
13With [npm](https://npmjs.org/) do
14
15```
16$ npm install algebra
17```
18
19With [bower](http://bower.io/) do
20
21```bash
22$ bower install algebra
23```
24
25## Description
26
27I'm implementing matrices and vectors on few algebra fields (Reals, Complexes etc.) following Micheal Artin's "Algebra", which was my book at [Università Degli Studi di Genova](http://www.dima.unige.it).
28
29My goal is to provide users with the feature of creating their own algebra field and building vector spaces, matrices and tensors on it.
30
31Suppose for example the set of strings with the concatenation operator, it could be extended to a group and maybe to a field and build "matrices of strings" or probably in the future ... "strings of matrices" (I had an intuition about a composition law for UTF-8 chars).
32
33## Motivation
34
35Why implement *algebra* with JavaScript? This is my first Node project, I started it cause I wanted to learn Node ... and I really like it!
36I was thinking about
37
38> How to implement an algebra field, like Real and Complex numbers and its elements?
39
40Do you need to implement first the *Field* class or the *Element* class? In *Algebra* you start defining a *Group*, without specifing its elements; then you define a *Field* adding multiplication operator. Can the programming way be the same as the mathematician way?
41I was looking at the answer coding this package.
42
43Another motivation was to implements something similar to a Tensor, that is like a multi dimensional array, but I could not find any package with that spirit of adventure.
44
45## Features
46
47* Expressive api
48* Vectors and Vector Spaces
49* Invertible Matrices and the General Linear Group
50* [Tensors](http://en.wikipedia.org/wiki/Tensor): scalars, vectors and matrices are also implemented as tensors.
51* Algebra over custom fields
52
53## Examples
54
55Begin with [algebra quick start](//g14n.info/algebra/examples/quick-start).
56
57Other examples:
58
59 * [Real number](//g14n.info/algebra/examples/real-number)
60 * [Real vector](//g14n.info/algebra/examples/real-vector)
61 * [Complex number](//g14n.info/algebra/examples/complex-number)
62 * [Custom field](//g14n.info/algebra/examples/custom-field)