Skip to content

hbarquanta/Numerical-Linear-Algebra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

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

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:

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:

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 file for details.