67 lines
1.6 KiB
Markdown
67 lines
1.6 KiB
Markdown
# 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:
|
|
|
|
```sh
|
|
nimble install https://git.inamatrix.xyz/array-in-a-matrix/multrix
|
|
```
|
|
|
|
To install using pacman:
|
|
|
|
```sh
|
|
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*}
|
|
$$
|