https://github.com/dandre3000/matrix
Matrix library
https://github.com/dandre3000/matrix
algebra array data data-structure math matrix vector
Last synced: 5 months ago
JSON representation
Matrix library
- Host: GitHub
- URL: https://github.com/dandre3000/matrix
- Owner: dandre3000
- License: gpl-3.0
- Created: 2024-10-20T07:08:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-06T03:49:29.000Z (over 1 year ago)
- Last Synced: 2025-08-17T17:13:39.565Z (10 months ago)
- Topics: algebra, array, data, data-structure, math, matrix, vector
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/@dandre3000/matrix
- Size: 255 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
- License: LICENSE.md
Awesome Lists containing this project
README
# @dandre3000/matrix
Matrix math library.
## Usage
`$ npm install @dandre3000/matrix`
```js
import { Matrix } from '@dandre3000/matrix'
/*
{
rows: 2,
columns: 2,
data: Float64Array[
1, 2,
3, 4
]
}
*/
const a = new Matrix(2, 2, [1, 2, 3, 4])
/*
{
rows: 2,
columns: 2,
data: Float64Array[
5, 6,
7, 8
]
}
*/
const b = new Matrix(2, 2, [5, 6, 7, 8])
/*
{
rows: 2,
columns: 2,
data: Float64Array[
6, 8,
10, 12
]
}
*/
a.add(b)
```
## API
```js
import { new Matrix } from '@dandre3000/matrix'
/*
{
rows: 1,
columns: 1,
data: Float64Array[0]
}
*/
new Matrix(1, 1)
/*
{
rows: 2,
columns: 2,
data: Float64Array[
2, 2,
0, 0
]
}
*/
new Matrix(2, 2, [2, 2])
/*
{
rows: 4,
columns: 1
data: Float64Array[
1,
2,
3,
4
]
}
*/
new Matrix(4, 1, [1, 2, 3, 4, 5])
/*
{
rows: 1,
columns: 4,
data: Float64Array[6, 7, 8, 9]
}
*/
new Matrix(1, 4, [6, 7, 8, 9])
const buffer = new ArrayBuffer(6 * 8)
const array = new Float64Array(buffer, 0, 4)
const array2 = new Float64Array(buffer, 16, 4)
array2[0] = 1
array2[1] = 1
/*
{
rows: 2,
columns: 2,
data: Float64Array[
0, 0,
1, 1
]
}
*/
const a = new Matrix(2, 2, array)
// true
a.data === array
/*
{
rows: 2,
columns: 2,
data: Float64Array[
1, 1,
0, 0
]
}
*/
const b = new Matrix(2, 2, array2)
// true
b.data === array2
```
#
```js
import { Matrix } from '@dandre3000/matrix'
const a = new Matrix(3, 3, [
1, 2, 3,
4, 5, 6,
7, 8, 9
])
const b = new Matrix(3, 3, [
10, 11, 12,
13, 14, 15,
16, 17, 18
])
/*
{
rows: 3,
columns: 3,
data: Float64Array[
11, 13, 15,
17, 19, 21,
23, 25, 27
]
}
*/
a.sum(b)
```
#
```js
import { Matrix } from '@dandre3000/matrix'
const a = new Matrix(3, 3, [
1, 2, 3,
4, 5, 6,
7, 8, 9
])
const b = new Matrix(3, 3, [
10, 11, 12,
13, 14, 15,
16, 17, 18
])
/*
{
rows: 3,
columns: 3,
data: Float64Array[
-9, -9, -9,
-9, -9, -9,
-9, -9, -9
]
*/
a.subtract(b)
```
## License
@dandre3000/matrix is published under the GNU General Public License 3.0:
```
Copyright (c) 2024 DeAundre Payne
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
```