This repository contains four tutorials illustrating applications of linear algebra and matrices. Tha aim is to show the power and versatility of basic properties of matrices combined with scientific software. The first three notebooks can be accessed by simply cliking and then navigating to the desired .ipynb
file. See below for more details. Enjoy!
In this tutorial we construct from scratch, and without using calculus, a training algorithm for image recognition applied to the MNIST set. At the end this is comapered with the same model trained with TensorFlow.
Simply click this Binder badge
and navigate to the notebook file.
In this tutorial we use the theory of invertibility of elementary matrices to construct an encryption algorithm. You can input a password to encrypt a message and then decrypt the message using the same password.
Simply click this Binder badge
and navigate to the notebook file.
In this tutorial we construct a two dymensional dynamical system of Markovian type, which describes the way two populations move between two locations. You can change the dynamics/matrix to anything you want.
Simply click this Binder badge
and navigate to the notebook file.
In this tutorial we construct two 3-dimensional games, where we use vector addition and matrix multiplication to control our avatar and reach a target.
To run any of this two tutorials you need to run the file in Matlab.
In your terminal, use git
to clone the repository locally.
git clone https://github.com/ltoniazzi/Algebra_applications.git
Download and install the Anaconda or Miniconda distribution of Python 3.
If this is the first time you're setting up your compute environment,
use the conda
package manager
to install all the necessary packages
from the provided environment.yml
file.
conda env create -f environment.yml
To activate the environment, use the conda activate
command.
conda activate alg_app
If you get an error activating the environment, use the older source activate
command.
source activate alg_app
To update the environment based on the environment.yml
specification file, use the conda update
command.
conda env update -f environment.yml
In the terminal, execute jupyter lab
.