Matrix multiplication calculator.
Go to file
array-in-a-matrix 8ebea26bdd bumped version
2024-02-26 17:17:08 -05:00
src added logic to handle scalar multiplication 2024-02-26 17:12:17 -05:00
.gitignore Update .gitignore 2024-01-31 12:43:27 -05:00
LICENSE Initial commit 2022-11-13 20:42:28 -05:00
multrix.nimble bumped version 2024-02-26 17:17:08 -05:00
PKGBUILD bumped version 2024-02-26 17:17:08 -05:00
README.md Update README.md 2024-01-31 12:56:18 -05:00

Multrix

Matrix multiplication calculator; calculates the cross & dot products of matrices and vectors.

Usage

The multrix command can calculate both dot or cross products if given the respective command line argument. If no valid commandline argument is given the program will ask which type of calculation should be made.

installation

To install using nimble:

nimble install https://git.inamatrix.xyz/array-in-a-matrix/multrix

To install using pacman:

git clone https://git.inamatrix.xyz/array-in-a-matrix/multrix
cd multrix
makepkg si

Math

Dot Product

$$ \begin{align*} A \cdot B = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \ a_{21} & a_{22} & \cdots & a_{1n} \ \vdots & \vdots & \ddots & \vdots \ a_{m1} & a_{m2} & \cdots & a_{mn} \ \end{bmatrix} \cdot \begin{bmatrix} b_{11} & b_{12} & \cdots & b_{1p} \ b_{21} & b_{22} & \cdots & b_{1p} \ \vdots & \vdots & \ddots & \vdots \ b_{n1} & b_{n2} & \cdots & b_{np} \ \end{bmatrix}

\begin{bmatrix} a_{11}b_{11} + \cdots + a_{1n}b_{n1} & a_{11}b_{12} + \cdots + a_{1n}b_{n2} & \cdots & a_{11}b_{1p} + \cdots + a_{1n}b_{np} \ a_{21}b_{11} + \cdots + a_{2n}b_{n1} & a_{21}b_{12} + \cdots + a_{2n}b_{n2} & \cdots & a_{21}b_{1p} + \cdots + a_{2n}b_{np} \ \vdots & \vdots & \ddots & \vdots \ a_{m1}b_{11} + \cdots + a_{mn}b_{n1} & a_{m1}b_{12} + \cdots + a_{mn}b_{n2} & \cdots & a_{m1}b_{1p} + \cdots + a_{mn}b_{np} \ \end{bmatrix} \end{align*}

Cross Product

$$ \begin{align*} \vec{A} \times \vec{B} = \begin{vmatrix} i & j & k\ a_1 & a_2 & a_3\ b_1 & b_2 & b_3 \end{vmatrix} = (a_2b_3-a_3b_2)i + (a_3b_1-a_1b_3)j+(a_1b_2-a_2b_1)k \end{align*}