Welcome to the Numerical Linear Algebra repository! This repository contains Jupyter notebooks that provide comprehensive tutorials and practical examples for learning numerical linear algebra. Topics covered include matrix factorizations, eigenvalue problems, and methods for solving systems of linear equations.
Numerical Linear Algebra is a crucial area of study in applied mathematics, with significant applications in various fields such as scientific computing, data analysis, and engineering. This repository aims to provide a thorough introduction to the fundamental techniques and algorithms used in numerical linear algebra.
Before using these notebooks, ensure you have the following installed:
- Python 3.x
- Jupyter Notebook
- NumPy
- SciPy
- Matplotlib (for plotting and visualizations)
Clone the repository and install the required libraries:
git clone https://github.com/hbarquanta/Numerical-Linear-Algebra.git
cd Numerical-Linear-Algebra
pip install -r requirements.txt
To run the Jupyter notebooks, navigate to the repository directory and start Jupyter Notebook:
jupyter notebook
Open the notebook of interest from the Jupyter interface.
- LU Decomposition: Explanation and implementation of LU decomposition.
- Cholesky Decomposition: Detailed steps for Cholesky decomposition for symmetric positive-definite matrices.
- QR Decomposition: Implementation of QR decomposition using Gram-Schmidt orthogonalization and Householder reflections.
- Power Iteration Method: Find the largest eigenvalue of a matrix.
- QR Algorithm: Comprehensive guide on the QR algorithm for solving eigenvalue problems.
- Direct Methods: Solutions using direct methods like Gaussian elimination.
- Iterative Methods: Implementations of Jacobi, Gauss-Seidel, and Conjugate Gradient methods.
Contributions are welcome! If you would like to improve the notebooks or add new content, please fork the repository and submit a pull request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the Apache-2.0 License. See the LICENSE file for details.