https://github.com/farbodbj/linear_algebra_1401
assignments of linear algebra course in AUT-CE in year 2023
https://github.com/farbodbj/linear_algebra_1401
linear-algebra numpy python
Last synced: 10 months ago
JSON representation
assignments of linear algebra course in AUT-CE in year 2023
- Host: GitHub
- URL: https://github.com/farbodbj/linear_algebra_1401
- Owner: farbodbj
- Created: 2023-06-17T19:33:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-17T19:52:11.000Z (over 2 years ago)
- Last Synced: 2025-02-10T04:31:53.001Z (about 1 year ago)
- Topics: linear-algebra, numpy, python
- Language: Jupyter Notebook
- Homepage:
- Size: 3.87 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# Linear Algebra Homeworks
This repository contains my homework assignments for the Linear Algebra course taught by [Professor Maryam Amir Mazlaghani](https://scholar.google.com/citations?user=gxbTUfEAAAAJ&hl=en) at Amirkabir University of Technology. The assignments are focused on practical applications of linear algebra concepts and all the implementations has been done in python and using numpy library.
## Homework Descriptions
### Homework 1: Gaussian Elimination and Row Operations
In this assignment, I implemented algorithms for solving linear systems using Gaussian elimination and row operations. The Python code takes in a matrix as input and returns the solution to the system of equations. The implementation is based on the algorithm provided in the textbook.
### Homework 2: Transpose and Determinant Functions
In this assignment, I explored the practical uses of transpose and determinant functions in linear algebra. The Python code calculates the transpose and determinant of a given matrix and tries to maximize the determinant of a special type of matrices (provided in the exercise).
### Homework 3: Error Detection and Correction with Hamming Code
In this assignment, I implemented the Hamming code method to detect and correct errors in digital data transmission. The Python code generates error-correcting codes and demonstrates how to detect and correct bit errors.
### Homework 4: Power Method, Inverse Power Method, QR Factorization, and Gram-Schmidt Algorithm
In this assignment, I implemented algorithms for finding the dominant eigenvalue and eigenvector of a matrix using the power method and inverse power method. I also implemented the QR factorization and Gram-Schmidt algorithms to find an orthonormal basis for the column space of a matrix which were co-related. The Python code includes test cases for each algorithm which are relatively large matrices. The correctness is being tested using numpy's in-built testing functionalities.
### Homework 5: SVD and Dimension Reduction
In this assignment, I used Singular Value Decomposition (SVD) to perform dimension reduction on a dataset of food data (NNDB dataset). The Python code first reads and pre-proccess the data as a pandas dataframe and then reduces the dimensionality of the dataset using SVD and other formulas and reports the error after the reduction. The data is also visualized using Matplotlib.
## Note
Please note that my code is not error-free and may not always work perfectly. I have implemented some functions in numpy or other Python packages by myself for learning purposes.