Skip to content

Latest commit

 

History

History
109 lines (89 loc) · 5.41 KB

README.md

File metadata and controls

109 lines (89 loc) · 5.41 KB

Matrix Analysis, spring semester 2022

This repository contains the notebooks for the exercises sessions of the EPFL bachelor course EE-312 Matrix Analysis (moodle).

The course will address the following topics:

  • Linear transformations
  • Pseudo-inverse
  • Projections and norms
  • Eigenvalues, eigenvectors and eigenvalue problems
  • Singular Value Decomposition
  • Linear Equations
  • Random matrices
  • Linear Least Squares
  • Linear differential and difference equations

Installation

Noto

You can run the notebooks using EPFL's jupyterhub service https://noto.epfl.ch. In this case you only need to login into noto, clone this repository using the Git -> Clone a repository menu. Noto's default environment already has all the required packages pre-installed.

Local installation

For a local installation, you will need git, Python, and packages such as numpy or Python scientific stack. If you don't know how to install those on your platform, we recommend to install Miniconda, a distribution of the conda package and environment manager. Follow the below instructions to install it and create an environment for the course.

  1. Download the Python 3.x installer for Windows, macOS, or Linux from https://conda.io/miniconda.html and install with default settings. Skip this step if you have conda already installed.
    • Windows: double-click on Miniconda3-latest-Windows-x86_64.exe.
    • macOS: double-click on Miniconda3-latest-MacOSX-x86_64.pkg or run bash Miniconda3-latest-MacOSX-x86_64.sh in a terminal.
    • Linux: run bash Miniconda3-latest-Linux-x86_64.sh in a terminal or use your package manager.
  2. Open a terminal. Windows: open the Anaconda Prompt from the Start menu.
  3. Install git with conda install git.
  4. Navigate to the folder where you want to store the course material with cd path/to/folder.
  5. Download this repository with git clone https://github.com/epfl-lts2/matrix-analysis-2022.
  6. Enter the repository with cd matrix-analysis-2022.
  7. Create an environment with the packages required for the course with conda env create -f environment.yml.
  8. Run the steps below to start Jupyter. You should be able to run the test_install.ipynb notebook.

Every time you want to work, do the following:

  1. Open a terminal. Windows: open the Anaconda Prompt from the Start menu.
  2. Activate the environment with conda activate matrix-analysis-2022.
  3. Navigate to the folder where you stored the course material with cd path/to/folder/matrix-analysis-2022.
  4. Start Jupyter with jupyter lab. The command should open a new tab in your web browser.
  5. Edit and run the notebooks from your browser.
  6. Once done, you can run conda deactivate to leave the matrix-analysis-2022 environment.

Update:

It seems Windows has trouble with miniconda. One alternative is to use the Windows Subsystem for Linux (WSL) which allows you to run all Linux commands and applications within Windows. In order to use it, you need to install it first, e.g. for Ubuntu (but other Linux distributions are available as well). Once installed, open the Ubuntu WSL and proceed with Miniconda installation and create the environment.

Binder/Colab...

You can also run those notebooks using other online services such as binder or Google colab.

Clicking on one of the badges below will open this repository in binder/colab.

Binder Open In Colab

Workaround for MacOS swiss layout keyboards

Jupyterlab suffers from an annoying quirk when using a swiss layout keyboard on MacOs which prevents you from (simply) typing the '@' character in a cell using Alt + G. This is a known issue, for which a workaround exists.

Create a keyboard shortcut: open Settings>Advanced Settings>Keyboard Shortcuts and add the following configuration block:

{
  shortcuts: [
    {
      command: 'apputils:run-first-enabled',
      selector: 'body',
      keys: [
        'Alt G',
      ],
      args: {
        commands: [
          'console:replace-selection',
          'fileeditor:replace-selection',
          'notebook:replace-selection',
        ],
        args: {
          text: '@',
        },
      },
    },
  ],
}

Team