Introduction to GSL - Virginia Tech

Introduction to GSL - Virginia Tech

Introduction to GSL CS 3414 From GNU Scientific Library Reference Manual at http://sources.redhat.com/gsl/ref/gsl-ref_toc.html http://www.gnu.org/software/gsl/manual/html_node/ What is GSL? The GNU Scientific Library GNU is a recursive acronym for "GNU's Not Unix!, a project started in 1983 by Richard Stallman

GNU is an operating system (HURD kernel) and an extensive collection of computer software GSL is a numerical library for C and C++ programmers GSL is free software distributed under the terms of the GNU General Public License The combination of GNU software and the Linux kernel is commonly known as Linux Functionality

GSL provides a well-defined C language Applications Programming Interface (API) for common numerical functions, such as: Random Numbers Least-Squares Fitting Fast Fourier Transforms Root-Finding Minimization Etc. http://www.gnu.org/software/gsl/manual/html_node/ GSL is thread-safe (the library can be used in

multi-threaded programs) Compiling and Linking The library header files are installed in their own gsl directory. You should write include statements with a gsl/ directory prefix like: #include Compile: gcc -c example.c Link: gcc example.o -lgsl -lgslcblas -lm

One dimensional Root-Finding The header file `gsl_roots.h' contains prototypes for the root finding functions and related declarations. The library provides low level components for a variety of iterative solvers and convergence tests. These can be combined by the user to achieve the desired solution, with full access to the

intermediate steps of the iteration. Root Finding Algorithms Two classes of algorithms root bracketing algorithms begin with a bounded region known to contain a root uses only function evaluations (not derivatives) guaranteed to converge root polishing algorithms

improve an initial guess to the root require both the function and its derivative to be supplied by the user converge only if started close enough to a root Framework The user provides a high-level driver for the algorithms. The library provides the individual functions necessary for each of the steps.

There are three main phases of the iteration. The steps are, initialize solver state, s, for algorithm T update s using the iteration T test s for convergence, and repeat iteration if necessary The state for solver is held in a gsl_root_fsolver struct (a declaration for a grouped list of variables in C) or in gsl_root_fdfsolver struct.

Initializing the Solver gsl_root_fsolver * gsl_root_fsolver_alloc (const gsl_root_fsolver_type * T ) This function returns a pointer to a newly allocated instance of a solver of type T void gsl_root_fsolver_free (gsl_root_fsolver * s) This function frees all the memory associated with the solver s.

Providing the function to solve Data Type: gsl_function This data type defines a general function with parameters. double (* function) (double x, void * params) this function should return the value f(x,params) for argument x and parameters params void * params

a pointer to the parameters of the function Iteration int gsl_root_fsolver_iterate (gsl_root_fsolver * s) perform a single iteration of the solver to update its state s double gsl_root_fsolver_root (const gsl_root_fsolver * s)

The solver maintains a current best estimate of the root at all times. Search Stopping Parameters A root finding procedure should stop when one of the following conditions is true: A root has been found to within the userspecified precision. A user-specified maximum number of iterations has been reached. An error has occurred.

Precision Test int gsl_root_test_interval (double x_lower, double x_upper, double epsabs, double epsrel) |a - b| < epsabs + epsrel min(|a|,|b|) Root Bracketing Algorithms bisection algorithm gsl_root_fsolver_bisection

false position algorithm gsl_root_fsolver_falsepos Brent-Dekker method gsl_root_fsolver_brent Root Finding Algorithms using Derivatives Newton's Method gsl_root_fdfsolver_newton secant method (a simplified version of Newton's method which does not require the computation of the derivative on every step) - gsl_root_fdfsolver_secant

Steffenson Method gsl_root_fdfsolver_steffenson Resource Read GNU Scientific Library Reference Manual at http://sources.redhat.com/gsl/ref/gslref_toc.html

Recently Viewed Presentations

  • Amino acids

    Amino acids

    The side chains of cysteine and tyrosine can lose a proton at an alkaline pH. Serine, threonine and tyrosine each contain a polar hydroxyl group that can participate in hydrogen bond formation. The side chains of asparagine and glutamine each...
  • 5 dimensional supergravity and the superconformal methods

    5 dimensional supergravity and the superconformal methods

    Deformation, non-commutativity and cosmological constant problem Renata Kallosh Stanford Davis, May 16, 2004
  • Assessing the Impact of Quality Improvement Skills Workshops

    Assessing the Impact of Quality Improvement Skills Workshops

    Feedbackregarding workshops was constructive with several recommendations for the future: (1) smaller discussion groups, (2) availability of handouts to take home, (3) increase use of multimedia, and (4) practice skills within time constraints. Acknowledgements
  • Prayer &amp; Me: Prayer in Today&#x27;s World

    Prayer & Me: Prayer in Today's World

    Prayer & Me: Prayer in Today's World. Adapted from Joan Chittiser, 'The breath of the soul: Reflections on prayer' Prayer is the relationship between the self and God. So let's take a closer look at what prayer can look life.
  • ZTE Home Gateway Product Supply Chain - unipd.it

    ZTE Home Gateway Product Supply Chain - unipd.it

    NGN-The Fixed and Mobile Convergence Story Eric Sun Director of Product Marketing ZTE Europe Padova, 30th, June 2005 What is NGN? The Acronyms NGN, FMC, IMS, P2P, WiMAX, SIP, Bluephone, triple play…
  • Moraine Valley Community College Nursing Program: Online ...

    Moraine Valley Community College Nursing Program: Online ...

    Moraine Valley Community College Nursing Program: Online Information Session. The Nursing Program's admission process requires attendance at an information session prior to applying for the program. Completion of this online information session fulfills that requirement.
  • The Commitment-Trust Theory of Relationship Marketing 關係行銷的承諾 ...

    The Commitment-Trust Theory of Relationship Marketing 關係行銷的承諾 ...

    Customer Perceived Quality a normal way ~ market share and ad hoc customer satisfaction surveys A firm that applies a relationship-type strategy can monitor customer satisfaction by directly managing its customer base. In a relationship marketing situation the firm can...
  • Booker T. Washington ~Born enslaved ~mostly self educated

    Booker T. Washington ~Born enslaved ~mostly self educated

    Fun Facts. 1st African-American on Postage Stamp. The "T" Stands for Taliaferro. ... Mark Twain, Jack London, and political cartoonist Homer Davenport. Owned major daily newspapers, including; The San Francisco Examiner and The New York Journal.