Developing a hybrid root-finding algorithm

Melisa Hendrata
California State University-Los Angeles, Mathematics
Author Profile

Summary

In this project, students will write a code implementing the Bisection and Secant algorithms for approximating a zero of a given function within a certain error tolerance. They will then write a hybrid algorithm combining the strengths of Bisection and Secant methods, and analyze its performance in terms of the convergence and the number of iterations needed to achieve the same degree of accuracy.

Learning Goals

Through this project, students will learn the strengths and weaknesses of different root-finding algorithms, and they will learn how to develop a simple hybrid algorithm that combine the strengths of well-known algorithms. They will also learn to identify linear/superlinear/quadratic convergence of these algorithms through the iterates produced by Matlab.

Context for Use

This project is given in the undergraduate upper division Numerical Analysis course. The course will have to cover the topic of root-finding techniques before this project can be assigned. The technique they learned in this project can be applied or extended to create other hybrid algorithms, e.g. combining Bisection and Newton's algorithms.

Students need to know how to translate the pseudo-code of an algorithm into a working code and be able to write a code with control flow (loops, if-else statement, etc). Students are given two weeks to complete the project.

Description and Teaching Materials

Assessment

Grading of this project is based on the following criteria:

- correctness of algorithm implementation.

- output presentation.

- answers to reflective questions.