Skip to main content

what are numerical methods and fixed points

 



Unveiling the Magic of Successive Substitution: The Simplest Numerical Method for Root Finding 🌱



Are you tired of scratching your head over complex numerical methods for finding roots? Fear not, for in the vast world of mathematics, simplicity often reigns supreme. Enter the humble yet powerful technique known as successive substitution, also referred to as the fixed-point method. 🎩✨



For example, if 𝑓 is defined on the real numbers by:



𝑓(𝑥) = 𝑥² - 3𝑥 + 4,



then 2 is a fixed point of 𝑓, because 𝑓(2) = 2. 🔒✨


### Unraveling the Mystery


Successive substitution is a numerical method used to find the roots of a function by iteratively applying a transformation until convergence is achieved. It's like solving a puzzle one piece at a time, gradually getting closer to the solution with each step.


### How It Works


Let's dive into a simple Python example to illustrate the magic of successive substitution:


```python

def fixed_point_iteration(g, x0, tol=1e-6, max_iter=100):

    """Fixed-point iteration to find the root of g(x)=x."""

    x = x0

    for _ in range(max_iter):

        x_new = g_xnew(x)

        if abs(x_new - x) < tol:

            return x_new

        x = x_new

    return None


# Define your function g(x)

#p=rt/(v-b)-a/v2  

#p(v-b)=rt-a(v-b)/v2

#pv2=v2rt/(v-b)-a

#isolate one v =f(v) for eithwr format                                

def g_xnew(x):

    return 


# Initial guess

x0 = 1.5


# Apply fixed-point iteration

root = fixed_point_iteration(g, x0)

print("Approximate root:", root)

```


In this example, we want to find the v using the function. We start with an initial guess of \( x_0 = 1.5 \) and iteratively update \( x \) until convergence.


### The Beauty of Simplicity


Successive substitution shines in its simplicity. With just a few lines of code, you can embark on a journey to uncover the roots of any function. Its ease of implementation makes it an excellent choice for quick prototyping and solving problems on the fly.


### Caveats and Considerations


While successive substitution is straightforward, it's essential to choose a suitable initial guess and ensure that the function \( g(x) \) satisfies the conditions for convergence. Additionally, the method may converge slowly for certain functions or fail to converge altogether if approached haphazardly.


Successive substitution may fail to converge when the derivative of the function being iterated does not satisfy certain conditions, particularly around the fixed point.


One such condition for convergence is that the derivative of the function at the fixed point must be less than 1 in absolute value. This condition ensures that successive iterations move closer to the fixed point rather than diverging away from it. When the absolute value of the derivative at the fixed point is greater than 1, the iterations may oscillate or diverge instead of converging.


This phenomenon can be understood intuitively: if the slope of the function at the fixed point is greater than 1, the iterations will amplify rather than dampen, leading to divergence. Conversely, if the slope is less than 1, the iterations will gradually approach the fixed point, resulting in convergence.


In summary, successive substitution may not converge when the derivative of the function at the fixed point exceeds 1 in absolute value, leading to divergence instead of convergence. This highlights the importance of analyzing the derivative of the function to ensure convergence in numerical methods.


### Conclusion


In a world where complexity often clouds our vision, the simplicity of successive substitution offers a beacon of hope for numerical problem solvers. With its straightforward approach and elegant solutions, it proves that sometimes, less truly is more. So why not give it a try and unlock the hidden roots of your mathematical challenges? 🌟


Let's embrace the beauty of simplicity and embark on a journey of numerical exploration with successive substitution at our side. Happy coding! 💻🔍


Interactive example:

https://colab.research.google.com/drive/1Sg1K-LAsSwznV1YzfL7JUaG8Df3t5hs_?usp=sharing

Comments

Popular posts from this blog

Getting started with FEOS, the framework for Equation of state by iit/univ Stuttgart and eth/zurich

     🌟 Exploring FEOS: The State-of-the-Art Equation of State Framework by IIT Stuttgart and ETH Zurich 🌟 Hey there, fellow science enthusiasts! 👋 Are you ready to dive into the captivating world of equation of state frameworks? Well, hold onto your lab coats because today, we're exploring FEOS – the cutting-edge framework developed by the brilliant minds at IIT Stuttgart and ETH Zurich! 🚀 ### Unraveling the Mysteries of FEOS 🔍 Equation of state (EOS) plays a pivotal role in various scientific disciplines, ranging from physics and chemistry to material science and engineering. It's the cornerstone for understanding the thermodynamic properties of matter under different conditions. And when it comes to precision and reliability, FEOS stands tall among its peers. 📏 ### The Powerhouse Collaboration: IIT Stuttgart & ETH Zurich 🤝 FEOS is not just another run-of-the-mill framework; it's the result of a powerhouse collaboration between the renowned institutions – IIT ...

creating numerical arrays with logic

  **Title: Navigating Numerical Spaces with NumPy: arange vs linspace vs logspace** When it comes to generating numerical sequences in Python, NumPy offers a plethora of options, each tailored to specific needs. Among these, `arange`, `linspace`, and `logspace` stand out as versatile tools for crafting arrays. Let’s embark on a journey through these functions, exploring their nuances and applications! 🚀 ### The Basics: arange NumPy’s `arange` function is akin to Python’s built-in `range`, but with the added capability of generating arrays with non-integer steps. It’s your go-to tool for creating sequences with regular spacing. ```python import numpy as np # Syntax: np.arange(start, stop, step) arr = np.arange(0, 10, 2) print(arr) # Output: [0 2 4 6 8] ``` think of it as points in an closed/open interval [a,b) with step s between each point  🧩 **Use Case**: When you need control over the step size and want a compact syntax. ### The Uniform Choice: linspace `linspace` divides...

what is @something on a function, i heard it is for decoration?!

  Title: 🎨 Exploring Python Decorators: Adding Magic to Your Code! ✨ Python decorators are like the fairy godmothers of programming—they sprinkle a little magic onto your functions, enhancing them with extra functionality. In this blog post, we'll dive into the enchanting world of decorators, exploring how they work and unleashing their powers with two whimsical examples. **Example 1: The Enigmatic @echo Decorator** Imagine a decorator that echoes the inputs and outputs of a function, adding a touch of sparkle to the console. Behold, the @echo decorator! ```python def echo(func):     def wrapper(*args, **kwargs):         print("✨ Echoing inputs:")         for arg in args:             print(f"\t- {arg}")         result = func(*args, **kwargs)         print("✨ Echoing output:")         print(f"\t- {result}")         return re...