summaryrefslogtreecommitdiff
path: root/tutorials/module_2/non_linear_eqn_solver.md
diff options
context:
space:
mode:
Diffstat (limited to 'tutorials/module_2/non_linear_eqn_solver.md')
-rw-r--r--tutorials/module_2/non_linear_eqn_solver.md117
1 files changed, 0 insertions, 117 deletions
diff --git a/tutorials/module_2/non_linear_eqn_solver.md b/tutorials/module_2/non_linear_eqn_solver.md
deleted file mode 100644
index 6d1ded3..0000000
--- a/tutorials/module_2/non_linear_eqn_solver.md
+++ /dev/null
@@ -1,117 +0,0 @@
-# Solving non-linear equations
-
-## Introduction
-
-
-## Prerequisites
-
-```python
-import numpy
-import scipy
-import sympy
-```
-
-
-## fsolve from SciPy
-
-```python
-from scipy.optimize import fsolve
-
-def equations(vars):
- x, y = vars
- eq1 = x**2 + y**2 - 25
- eq2 = x**2 - y
- return [eq1, eq2]
-
-initial_guess = [1, 1]
-solution = fsolve(equations, initial_guess)
-print("Solution:", solution)
-```
-
-## root from SciPy
-```python
-from scipy.optimize import root
-
-def equations(vars):
- x, y = vars
- eq1 = x**2 + y**2 - 25
- eq2 = x**2 - y
- return [eq1, eq2]
-
-initial_guess = [1, 1]
-solution = root(equations, initial_guess)
-print("Solution:", solution.x)
-```
-
-
-## minimize from SciPy
-```python
-from scipy.optimize import minimize
-
-# Define the equations
-def equation1(x, y):
- return x**2 + y**2 - 25
-
-def equation2(x, y):
- return x**2 - y
-
-# Define the objective function for optimization
-def objective(xy):
- x, y = xy
- return equation1(x, y)**2 + equation2(x, y)**2
-
-# Initial guess
-initial_guess = [1, 1]
-
-# Perform optimization
-result = minimize(objective, initial_guess)
-solution_optimization = result.x
-
-print("Optimization Method Solution:", solution_optimization)
-
-```
-
-## nsolve from SymPy
-```python
-from sympy import symbols, Eq, nsolve
-
-# Define the variables
-x, y = symbols('x y')
-
-# Define the equations
-eq1 = Eq(x**2 + y**2, 25)
-eq2 = Eq(x - y, 0)
-
-# Initial guess for the solution
-initial_guess = [1, 1]
-
-# Use nsolve to find the solution
-solution = nsolve([eq1, eq2], [x, y], initial_guess)
-print("Solution:", solution)
-```
-
-## newton_method from NumPy
-
-```python
-import numpy as np
-
-def equations(vars):
- x, y = vars
- eq1 = x**2 + y**2 - 25
- eq2 = x**2 - y
- return np.array([eq1, eq2])
-
-def newton_method(initial_guess, tolerance=1e-6, max_iter=100):
- vars = np.array(initial_guess, dtype=float)
- for _ in range(max_iter):
- J = np.array([[2 * vars[0], 2 * vars[1]], [2 * vars[0], -1]])
- F = equations(vars)
- delta = np.linalg.solve(J, -F)
- vars += delta
- if np.linalg.norm(delta) < tolerance:
- return vars
-
-initial_guess = [1, 1]
-solution = newton_method(initial_guess)
-print("Solution:", solution)
-``` \ No newline at end of file