-
Notifications
You must be signed in to change notification settings - Fork 9
Java Math Package for Numerical Analysis Functions
License
wedusk101/NumericalAnalysis
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
License Information ------------------- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful. It is given to you, hereafter referred to as the "user", "AS IS", i.e. WITHOUT ANY WARRANTY, implied or otherwise, without even the warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. As such we, hereafter referred to as the "authors" will not be held liable for any damages whatsoever, direct or consequential resulting from the use of the said piece of software by the user. On using the "package" you hereby agree to indemnify the author(s) against any and all such claims. Please see the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Package Overview and included Modules -------------------------------------- The package "com.numerical" has been designed to be of use to the user for purposes of various numerical analysis calculations. It has the following modules: Interpolation Methods --------------------- Backward Interpolation - Used to find out the value of a function at a point within a set of points near the rightmost abscissa. Forward Interpolation - Used to find out the value of a function at a point within a set of points near the leftmost abscissa. Root Finding Methods -------------------- Bisection Method - Used to find the real roots of a polynomial within a given closed interval where the polynomial is continuous. This method of root finding is called a bracketed method since it encloses the root within an interval or bracket. This method is guaranteed to converge once the initial conditions are fulfilled although it can be quite slow. Regula Falsi Method - This method is also used to find the real roots of a continuous polynomial. It is also known as the method of false position. For this method, the user needs to know the approximate location of the root in an interval (a,b) where the function is continuous. Hence, this method is also known as a bracketed method. It is also guaranteed to converge. Newton Raphson Method - This method of root finding works on the idea that if a function is both continuous and continuously differentiable, then its tangent will intersect with the x - axis. With each iteration, this point of intersection will get close to the real root until eventually the method converges. However, this method has a few drawbacks. First and foremost, it is NOT guaranteed to converge since it is not a bracketed method. Secondly, the value of the derivative of the function needs to be calculated for this method to work. Furthermore, if the inital guess of the root is too far away from the true zero, the method may not converge at all. This means the user needs to have some idea about the nature of the function and hence the location of the root. Also, there could be such functions where the method will not converge and may go into an infinite loop because of the inherent nature of the function. Numerical Integration Methods ----------------------------- Trapezoidal Rule - This method of numerical integration is based upon the idea that the area under a curve can be approximated by subdividing the area into many small trapezoids each of a very small width h(say). The closed interval of integration [a, b] is divided into n intervals and h = (b - a) / n . Consequently, the higher the number of intervals, the greater the accuracy of the result. It has to be noted that this method will only work if the function is continuous on the closed interval [a, b]. Simpson's 1/3rd Rule - This algorithm takes a continuous function as input from the user along with a closed interval [a, b] and works by approximating the area under the curve by dividing it into a series of parabolas. Three points are chosen through which a curve is fit which is represented by a quadratic polynomial. The smaller the step size, the better the approximation of the integral. The set of curves thus formed approximate the original polynomial that is input by the user. Again, the method will only work if and only if the function is continuous over the closed interval [a, b]. Polynomial Module ----------------- This class is arguably the most important module of the package since most modules are directly dependent on it. It takes from the user the input for a polynomial and returns it for further calculations. The dependents of the Polynomial class are: Bisection Method Module Regula Falsi Module Trapezoidal Rule Module Simpson's 1/3rd Rule Module The aforementioned classes all extend the Polynomial class for their input functionality and for the purposes of evaluating the value of particular polynomial at a given point. Conclusion ---------- The implementation details and data dictionary is present as documentation in the source file for each module. THE USER IS SUPPOSED TO CREATE AN OBJECT OF THE CLASS THEY IMPORT AND CALL THE DESIRED FUNCTION. The rest of the functionality is abstracted by the package.We hope the user finds this piece of software useful. Any suggestions or bugs may be sent to either of the following email addresses: [email protected] [email protected] [email protected] Java Package - com.numerical, version 0.8 Copyright (C) 2017 Heritage Institute of Technology, Computer Applications Center, Kolkata, West Bengal - 700107 Package Last Updated - July 22, 2017
About
Java Math Package for Numerical Analysis Functions
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published