Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hbarquanta/numerical-linear-algebra

Numerical Linear Algebra
https://github.com/hbarquanta/numerical-linear-algebra

cholesky-decomposition conjugate-gradient factorization gauss-seidel-method jacobi-method linear-equations lu-decomposition partial-differential-equations qr-algorithm

Last synced: about 1 month ago
JSON representation

Numerical Linear Algebra

Awesome Lists containing this project

README

        

# Numerical Linear Algebra

## Overview
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.

## Table of Contents
- [Introduction](#introduction)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Contents](#contents)
- [Factorization Methods](#factorization-methods)
- [Eigenvalues and Eigenvectors](#eigenvalues-and-eigenvectors)
- [Solving Systems of Linear Equations](#solving-systems-of-linear-equations)
- [Contributing](#contributing)
- [License](#license)

## Introduction
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.

## Prerequisites
Before using these notebooks, ensure you have the following installed:
- Python 3.x
- Jupyter Notebook
- NumPy
- SciPy
- Matplotlib (for plotting and visualizations)

## Installation
Clone the repository and install the required libraries:

```bash
git clone https://github.com/hbarquanta/Numerical-Linear-Algebra.git
cd Numerical-Linear-Algebra
pip install -r requirements.txt
```

## Usage
To run the Jupyter notebooks, navigate to the repository directory and start Jupyter Notebook:

```bash
jupyter notebook
```

Open the notebook of interest from the Jupyter interface.

## Contents

### Factorization Methods
- **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.

### Eigenvalues and Eigenvectors
- **Power Iteration Method**: Find the largest eigenvalue of a matrix.
- **QR Algorithm**: Comprehensive guide on the QR algorithm for solving eigenvalue problems.

### Solving Systems of Linear Equations
- **Direct Methods**: Solutions using direct methods like Gaussian elimination.
- **Iterative Methods**: Implementations of Jacobi, Gauss-Seidel, and Conjugate Gradient methods.

## Contributing
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.

## License
This project is licensed under the Apache-2.0 License. See the [LICENSE](LICENSE) file for details.

---