Skip to content

MonitSharma/Numerical-Linear-Algebra

Repository files navigation

←←Back to Homepage

Learn Linear Algebra via Programming

This repository is aimed at providing an introduction to the basics of linear algebra and advanced computational numerical linear algebra with a focus on applications in quantum computing.

Quantum computing is a rapidly growing field that has the potential to revolutionize the way we process and analyze information. Linear algebra forms an essential part of the mathematical framework used in quantum computing. In this article, we will explore the role of linear algebra in quantum computing, including its importance in representing quantum states, quantum gates, and quantum algorithms.

Check the full Blog series here

Table

Content

Introduction to Linear Algebra

This section of the repository will cover the basics of linear algebra. It will include topics such as vectors, matrices, linear transformations, and eigenvalues/eigenvectors. The content will be presented in a way that is accessible to beginners, with examples and exercises to solidify understanding.

Serial Number Title Description Links Medium
1 Scalars, vectors, matrices and tensors Introduction to basic concepts in linear algebra Open In Colab Medium
2 Multiplying matrices and vectors Understanding how matrix multiplication works Open In Colab Medium
3 Identity and inverse matrices Explanation of identity and inverse matrices Open In Colab Medium
4 Linear dependence and span Understanding linear dependence and span of vectors Open In Colab Medium
5 Norms Definition and examples of vector norms Open In Colab Medium
6 Special kind of matrices Introduction to special types of matrices Open In Colab Medium
7 Eigendecomposition Understanding eigenvectors and eigenvalues Open In Colab Medium
8 Singular value decomposition Introduction to singular value decomposition Open In Colab Medium
9 The Moore-Penrose pseudoinverse Definition and applications of the pseudoinverse Open In Colab Medium
10 The trace operator Definition and properties of the trace operator Open In Colab Medium
11 The determinant Explanation of the determinant of a matrix Open In Colab Medium

Use cases of Linear Algebra

This section of the repository will cover advanced topics in computational numerical linear algebra. It will include topics such as singular value decomposition (SVD), QR decomposition, and LU decomposition. The content will be presented with a focus on their applications in quantum computing, and will include exercises and projects to solidify understanding.

Serial Number Title Description Links Medium
1 Introduction to matrices Overview of matrices and their properties, operations, and applications Open In Colab Medium
2 Singular Value Decomposition Introduction to singular value decomposition and its applications Open In Colab Medium
3 Topic Modelling with NMF Explanation of Non-negative Matrix Factorization for topic modeling Open In Colab Medium
4 Background Removal Techniques for removing the background from images using linear algebra Open In Colab Medium
5 Compressed Sensing CT scans Using compressed sensing for faster and more efficient CT scans Open In Colab Medium
6 Health outcomes with linear algebra Applications of linear algebra in healthcare and medical research Open In Colab Medium
7 Linear regression Introduction to linear regression and its applications Open In Colab Medium
8 Page rank with eigen decomposition Explanation of PageRank algorithm using eigendecomposition Open In Colab Medium

Applications in Quantum Computing

Serial Number Title Description Links Medium
1 Introduction to Complex Arithemetic This is a tutorial designed to introduce you to complex arithmetic. Open In Colab Medium
2 Introduction to Linear Algebra This is a tutorial designed to introduce you to Linear Algebra. Open In Colab Medium
3 Single Qubit Gates This is a tutorial designed to introduce you to Linear Algebra. in single qubit gates Open In Colab Medium
4 Multiple Qubits This is a tutorial designed to introduce you to Linear Algebra in multiple qubit operations. Open In Colab Medium

This section of the repository will cover the applications of linear algebra and computational numerical linear algebra in quantum computing. It will include topics such as quantum gates, quantum circuits, and quantum algorithms. The content will be presented in a way that is accessible to beginners, with examples and exercises to solidify understanding. This will be covered in detail in another repository.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

This project requires Python 3.x and Jupyter Notebook. You can install Python from the official Python website and Jupyter Notebook can be installed using the following command:

pip install jupyter

Installation

To get started, simply clone the repository:

git clone https://github.com/MonitSharma/Numerical-Linear-Algebra.git

Usage

You will find the content organized into directories according to the topics covered in this repository. The examples and exercises are provided in Jupyter notebooks that can be run on your local machine. To run the Jupyter notebooks, navigate to the directory containing the notebooks and type the following command in the terminal:

jupyter notebook

This will start the Jupyter Notebook server and open a web page in your browser. Click on the notebook you want to open and start exploring the content.

Contributing

Contributions are welcome! Please feel free to open an issue if you find a bug or have a suggestion for improvement. Pull requests are also welcome.

License

This repository is licensed under the MIT License.

Acknowledgements

We would like to thank the following resources for their contribution to this repository:

  1. Linear Algebra - Khan Academy
  2. Numerical Linear Algebra for Coders - Fast.ai
  3. Quantum Computing for the Very Curious - IBM