Chebfun
| Chebfun | |
|---|---|
| Developers | The Chebfun Team, University of Oxford |
| Stable release | v5.7.0
/ 02 June 2017 |
| Written in | MATLAB |
| Type | Numerical software |
| License | BSD |
| Website | www |
| Repository | |
Chebfun is a free/open-source software system written in MATLAB for numerical computation with functions of a real variable. It is based on the idea of overloading MATLAB's commands for vectors and matrices to analogous commands for functions and operators. Thus, for example, whereas the SUM command in MATLAB adds up the elements of a vector, the SUM command in Chebfun evaluates a definite integral. Similarly the backslash command in MATLAB becomes a Chebfun command for solving differential equations.[1][2][3][4][5]
The mathematical basis of Chebfun is numerical algorithms involving piecewise polynomial interpolants and Chebyshev polynomials, and this is where the name "Cheb" comes from. The package aims to combine the feel of symbolic computing systems like Maple and Mathematica with the speed of floating-point numerics.[2][3]
The Chebfun project is based in the Mathematical Institute at the University of Oxford and was initiated in 2002 by Lloyd N. Trefethen and his student Zachary Battles.[1] The most recent version, Version 5.7.0, was released on June 2, 2017.
Chebfun2, a software system that extends Chebfun to two dimensions, was made publicly available on 4 March 2013. Following Chebfun2, Spherefun (extension to the unit sphere) and Chebfun3 (extension to three dimensions) were made publicly available in May and July 2016.
Features
- Approximation of functions in 1D, including functions with jumps
- Approximation of smooth bivariate functions (Chebfun2)
- Approximation of smooth trivariate functions (Chebfun3)
- Approximation of smooth functions on the unit sphere (Spherefun)
- Quadrature
- Rootfinding
- 1D global optimisation
- Bivariate and trivariate rootfinding
- Ordinary differential equations
- Partial differential equations
- Vector calculus
Example usage
A user may begin by initialising the variable x, on the interval [0,10], say.
>> x = chebfun('x',[0,10]);
This variable can now be used to perform further computations, for example, computing and plotting roots of a function:
>> f = sin(x) + sin(x.^2); plot(f)
>> r = roots(f); hold on, plot(r,f(r),'.r'), hold off
The definite integral can be computed with:
>> sum(f)
ans
= 2.422742429006079
References
- ^ a b Battles, Zachary; Trefethen, Lloyd N. (2004). "An Extension of MATLAB to Continuous Functions and Operators" (PDF). SIAM Journal on Scientific Computing. 25 (5): 1743–1770. Bibcode:2004SJSC...25.1743B. doi:10.1137/S1064827503430126.
- ^ a b Trefethen, Lloyd N. (2007). "Computing Numerically with Functions Instead of Numbers" (PDF). Mathematics in Computer Science. 1: 9–19. doi:10.1007/s11786-007-0001-y.
- ^ a b Pachón, Ricardo; Platte, Rodrigo B.; Trefethen, Lloyd N. (October 2010). "Piecewise-smooth chebfuns" (PDF). IMA Journal of Numerical Analysis. 30 (4): 898–916. doi:10.1093/imanum/drp008.
- ^ Driscoll, Tobin A.; Bornemann, Folkmar; Trefethen, Lloyd N. (December 2008). "The chebop system for automatic solution of differential equations" (PDF). BIT Numerical Mathematics. 48 (4): 701–723. doi:10.1007/s10543-008-0198-4.
- ^ Townsend, Alex; Trefethen, Lloyd N. (2013). "An Extension of Chebfun to Two Dimensions" (PDF). SIAM Journal on Scientific Computing. 35 (6): C495–C518. Bibcode:2013SJSC...35C.495T. doi:10.1137/130908002.
External links
- Official website
- Related projects and partial replacements in other languages: [1]
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.