Matrix multiplication calculator.
Go to file
array-in-a-matrix 1514f98c1a bumped version 2024-02-27 14:02:24 -05:00
src accept fractions 2024-02-27 14:01:33 -05:00
.gitignore Update .gitignore 2024-01-31 12:43:27 -05:00
LICENSE Initial commit 2022-11-13 20:42:28 -05:00
PKGBUILD bumped version 2024-02-27 14:02:24 -05:00
README.md Update README.md 2024-01-31 12:56:18 -05:00
multrix.nimble bumped version 2024-02-27 14:02:24 -05:00

README.md

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*}