Compare commits
10 Commits
08622ae3cf
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
ea901c03ab | ||
e0d0eb1fc9 | |||
9fe1855fc6 | |||
094778f67e | |||
61b567ec19 | |||
0cfbdbe02d | |||
94759a9d71 | |||
cf0b91f94a | |||
f73789bca6 | |||
f56e48cebd |
35
.gitignore
vendored
35
.gitignore
vendored
@@ -1,38 +1,3 @@
|
||||
Logo
|
||||
Issues
|
||||
Pull Requests
|
||||
Milestones
|
||||
Explore
|
||||
PhiloMath
|
||||
/
|
||||
data-fitting-models
|
||||
Private
|
||||
generated from PhiloMath/default-project-template
|
||||
Code
|
||||
Issues
|
||||
Pull Requests
|
||||
Actions
|
||||
Packages
|
||||
Projects
|
||||
Releases
|
||||
Wiki
|
||||
Activity
|
||||
Settings
|
||||
Files
|
||||
.gitignore
|
||||
LICENSE
|
||||
README.md
|
||||
data-fitting-models
|
||||
/
|
||||
.gitignore
|
||||
|
||||
Ömür Uğur
|
||||
f9860d7f48
|
||||
Initial commit
|
||||
2 days ago
|
||||
357 lines
|
||||
6.4 KiB
|
||||
Plaintext
|
||||
# ---> JupyterNotebooks
|
||||
# gitignore template for Jupyter Notebooks
|
||||
# website: http://jupyter.org/
|
||||
|
48
README.md
48
README.md
@@ -10,55 +10,9 @@ A lightweight, from-scratch, object-oriented Python package implementing classic
|
||||
- Lightweight, no dependencies.
|
||||
- Consistent object-oriented API (.solve() etc).
|
||||
|
||||
---
|
||||
|
||||
## Tutorial Series
|
||||
|
||||
This package comes with a set of Jupyter notebooks designed as a structured tutorial series in **numerical methods**, both mathematically rigorous and hands-on with code.
|
||||
|
||||
### Core Tutorials
|
||||
|
||||
1. [Tutorial 1: Vectors and Matrices](tutorials/tutorial1_vectors.ipynb)
|
||||
|
||||
- Definitions of vectors and matrices.
|
||||
- Vector operations: addition, scalar multiplication, dot product, norms.
|
||||
- Matrix operations: addition, multiplication, transpose, inverse.
|
||||
- Matrix and vector norms.
|
||||
- Examples with `numethods.linalg`.
|
||||
|
||||
2. [Tutorial 2: Linear Systems of Equations](tutorials/tutorial2_linear_systems.ipynb)
|
||||
|
||||
- Gaussian elimination and Gauss–Jordan.
|
||||
- LU decomposition.
|
||||
- Cholesky decomposition.
|
||||
- Iterative methods: Jacobi and Gauss-Seidel.
|
||||
- Examples with `numethods.solvers`.
|
||||
|
||||
3. [Tutorial 3: Orthogonalization and QR Factorization](tutorials/tutorial3_orthogonalization.ipynb)
|
||||
|
||||
- Inner products and orthogonality.
|
||||
- Gram–Schmidt process (classical and modified).
|
||||
- Householder reflections.
|
||||
- QR decomposition and applications.
|
||||
- Examples with `numethods.orthogonal`.
|
||||
|
||||
4. [Tutorial 4: Root-Finding Methods](tutorials/tutorial4_root_finding.ipynb)
|
||||
|
||||
- Bisection method.
|
||||
- Fixed-point iteration.
|
||||
- Newton’s method.
|
||||
- Secant method.
|
||||
- Convergence analysis and error behavior.
|
||||
- Trace outputs for iteration history.
|
||||
- Examples with `numethods.roots`.
|
||||
|
||||
- [Polynomial Regression Demo](tutorials/polynomial_regression.ipynb)
|
||||
|
||||
- Step-by-step example of polynomial regression.
|
||||
- Shows how to fit polynomials of different degrees to data.
|
||||
- Visualizes fitted curves against the original data.
|
||||
|
||||
---
|
||||
This package comes with a set of Jupyter notebooks designed as a structured tutorial series in **numerical methods**, both mathematically rigorous and hands-on with code. See [Tutorials](./tutorials/README.md).
|
||||
|
||||
## Features
|
||||
|
||||
|
@@ -3,7 +3,6 @@ from .linalg import Matrix, Vector
|
||||
from .orthogonal import QRHouseholder
|
||||
from .solvers import LUDecomposition
|
||||
from .exceptions import NonSquareMatrixError, ConvergenceError
|
||||
from .linalg import Matrix, Vector
|
||||
import math
|
||||
|
||||
|
||||
|
47
tutorials/README.md
Normal file
47
tutorials/README.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Tutorial Series
|
||||
|
||||
This package comes with a set of Jupyter notebooks designed as a structured tutorial series in **numerical methods**, both mathematically rigorous and hands-on with code.
|
||||
|
||||
## Core Tutorials
|
||||
|
||||
1. [Tutorial 1: Vectors and Matrices](./tutorial1_vectors_matrices.ipynb)
|
||||
|
||||
- Definitions of vectors and matrices.
|
||||
- Vector operations: addition, scalar multiplication, dot product, norms.
|
||||
- Matrix operations: addition, multiplication, transpose, inverse.
|
||||
- Matrix and vector norms.
|
||||
- Examples with `numethods.linalg`.
|
||||
|
||||
2. [Tutorial 2: Linear Systems of Equations](./tutorial2_linear_systems.ipynb)
|
||||
|
||||
- Gaussian elimination and Gauss–Jordan.
|
||||
- LU decomposition.
|
||||
- Cholesky decomposition.
|
||||
- Iterative methods: Jacobi and Gauss-Seidel.
|
||||
- Examples with `numethods.solvers`.
|
||||
|
||||
3. [Tutorial 3: Orthogonalization and QR Factorization](./tutorial3_orthogonalization.ipynb)
|
||||
|
||||
- Inner products and orthogonality.
|
||||
- Gram–Schmidt process (classical and modified).
|
||||
- Householder reflections.
|
||||
- QR decomposition and applications.
|
||||
- Examples with `numethods.orthogonal`.
|
||||
|
||||
4. [Tutorial 4: Root-Finding Methods](./tutorial4_root_finding.ipynb)
|
||||
|
||||
- Bisection method.
|
||||
- Fixed-point iteration.
|
||||
- Newton’s method.
|
||||
- Secant method.
|
||||
- Convergence analysis and error behavior.
|
||||
- Trace outputs for iteration history.
|
||||
- Examples with `numethods.roots`.
|
||||
|
||||
- [Polynomial Regression Demo](./polynomial_regression.ipynb)
|
||||
|
||||
- Step-by-step example of polynomial regression.
|
||||
- Shows how to fit polynomials of different degrees to data.
|
||||
- Visualizes fitted curves against the original data.
|
||||
|
||||
---
|
@@ -94,7 +94,7 @@
|
||||
"q_1 = \\frac{a_1}{\\|a_1\\|}\n",
|
||||
"$$\n",
|
||||
"$$\n",
|
||||
"q_k = \\frac{a_k - \\sum_{j=1}^{k-1} (q_j \\cdot a_k) q_j}{\\left\\|a_k - \\sum_{j=1}^{k-1} (q_j \\cdot a_k) q_j\\right\\|}\n",
|
||||
"q_k = \\frac{a_k - \\sum_{j=1}^{k-1} (q_j \\cdot a_k) q_j}{\\left\\|a_k - \\sum_{j=1}^{k-1} (q_j \\cdot a_k) q_j\\right\\|}, \\qquad k = 2, \\ldots, n\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"Matrix form:\n",
|
||||
@@ -236,17 +236,17 @@
|
||||
"\n",
|
||||
"We want to solve\n",
|
||||
"\n",
|
||||
"$$ \\min_x \\|Ax - b\\|_2. $$\n",
|
||||
"$$ \\min_x \\Vert Ax - b \\Vert_2^2. $$\n",
|
||||
"\n",
|
||||
"If $A = QR$, then\n",
|
||||
"\n",
|
||||
"$$ \\min_x \\|Ax - b\\|_2 = \\min_x \\|QRx - b\\|_2. $$\n",
|
||||
"$$ \\min_x \\Vert Ax - b \\Vert_2^2 = \\min_x \\Vert QRx - b \\Vert_2^2. $$\n",
|
||||
"\n",
|
||||
"Since $Q$ has orthonormal columns:\n",
|
||||
"Since $Q$ has orthonormal columns, and the normal equations boils down to\n",
|
||||
"\n",
|
||||
"$$ R x = Q^T b. $$\n",
|
||||
"$$ R x = Q^T b, $$\n",
|
||||
"\n",
|
||||
"So we can solve using back-substitution.\n"
|
||||
"we can therefore solve for $x$ by using back-substitution.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@@ -55,7 +55,7 @@
|
||||
"source": [
|
||||
"## 2. Bisection Method\n",
|
||||
"\n",
|
||||
"**Assumption (Intermediate Value Theorem):** If f is continuous on ([a,b]) and (f(a),f(b) < 0),\n",
|
||||
"**Assumption (Intermediate Value Theorem):** If f is continuous on $[a,b]$ and $f(a)f(b) < 0$,\n",
|
||||
"then there exists $x^\\star$ in (a,b) with $f(x^\\star)=0$.\n",
|
||||
"\n",
|
||||
"- Assumes $f$ is continuous on $[a,b]$ with $f(a)f(b)<0$.\n",
|
||||
|
Reference in New Issue
Block a user