📄 intro.texi
字号:
@cindex license of GSL@cindex GNU General Public LicenseThe GNU Scientific Library (GSL) is a collection of routines fornumerical computing. The routines have been written from scratch in C,and are meant to present a modern Applications Programming Interface(API) for C programmers, while allowing wrappers to be written for veryhigh level languages. The source code is distributed under the GNUGeneral Public License.@comment GSL is currently in beta-test release, for people who want to test the@comment library itself. When the library is complete and fully tested it will be@comment announced for general use.@menu* Routines available in GSL:: * GSL is Free Software:: * Obtaining GSL:: * An Example Program:: * No Warranty:: * Further Information:: @end menu@node Routines available in GSL@section Routines available in GSLThe library covers a wide range of topics in numerical computing.Routines are available for the following areas,@multitable @columnfractions 0.05 0.45 0.45 0.05@item @tab Complex Numbers @tab Roots of Polynomials @item @tab Special Functions @tab Vectors and Matrices @item @tab Permutations @tab Sorting @item @tab BLAS Support @tab Linear Algebra @item @tab Eigensystems @tab Fast Fourier Transforms @item @tab Quadrature @tab Random Numbers @item @tab Quasi-Random Sequences @tab Random Distributions @item @tab Statistics @tab Histograms @item @tab N-Tuples @tab Monte Carlo Integration @item @tab Simulated Annealing @tab Differential Equations @item @tab Interpolation @tab Numerical Differentiation @item @tab Chebyshev Approximations @tab Series Acceleration @item @tab Discrete Hankel Transforms @tab Root-Finding @item @tab Minimization @tab Least-Squares Fitting @item @tab Physical Constants @tab IEEE Floating-Point @end multitable@noindentThe use of these routines is described in this manual. Each chapterprovides detailed definitions of the functions, followed by exampleprograms and references to the articles on which the algorithms arebased.@node GSL is Free Software@section GSL is Free Software@cindex free software, explanation ofThe subroutines in the GNU Scientific Library are ``free software'';this means that everyone is free to use them, and to redistribute themin other free programs. The library is not in the public domain; it iscopyrighted and there are conditions on its distribution. Theseconditions are designed to permit everything that a good cooperatingcitizen would want to do. What is not allowed is to try to preventothers from further sharing any version of the software that they mightget from you.Specifically, we want to make sure that you have the right to give awaycopies of any programs related to the GNU Scientific Library, that youreceive their source code or else can get it if you want it, that youcan change these programs or use pieces of them in new free programs,and that you know you can do these things. The library should not beredistributed in proprietary programs.To make sure that everyone has such rights, we have to forbid you todeprive anyone else of these rights. For example, if you distributecopies of any related code, you must give the recipients all the rightsthat you have. You must make sure that they, too, receive or can getthe source code. And you must tell them their rights. Also, for our own protection, we must make certain that everyone findsout that there is no warranty for the GNU Scientific Library. If theseprograms are modified by someone else and passed on, we want theirrecipients to know that what they have is not what we distributed, sothat any problems introduced by others will not reflect on ourreputation.The precise conditions for the distribution of software related to theGNU Scientific Library are found in the GNU General Public License(@pxref{GNU General Public License}). Further information about thislicense is available from the GNU Project webpage @cite{Frequently AskedQuestions about the GNU GPL},@itemize @asis@item @url{http://www.gnu.org/copyleft/gpl-faq.html}@end itemize@node Obtaining GSL@section Obtaining GSL@cindex obtaining GSL@cindex downloading GSL@cindex mailing list for GSL announcements@cindex gsl-announce mailing listThe source code for the library can be obtained in different ways, bycopying it from a friend, purchasing it on @sc{cdrom} or downloading itfrom the internet. A list of public ftp servers which carry the sourcecode can be found on the development website,@itemize @asis@item @url{http://sources.redhat.com/gsl/}@end itemize@noindentThe preferred platform for the library is a GNU system, whichallows it to take advantage of additional features. The library isportable and compiles on most Unix platforms. It is also available forMicrosoft Windows. Precompiled versions of the library can be purchasedfrom commercial redistributors listed on the website.Announcements of new releases, updates and other relevant events aremade on the @code{gsl-announce} mailing list. To subscribe to thislow-volume list, send an email of the following form,@exampleTo: gsl-announce-request@@sources.redhat.com Subject: subscribe@end example@noindentYou will receive a response asking to you to reply in order to confirmyour subscription.@node An Example Program@section An Example ProgramThe following short program demonstrates the use of the library bycomputing the value of the Bessel function @math{J_0(x)} for @math{x=5},@example#include <stdio.h>#include <gsl/gsl_sf_bessel.h>intmain (void)@{ double x = 5.0; double y = gsl_sf_bessel_J0 (x); printf("J0(%g) = %.18e\n", x, y); return 0;@}@end example@noindentThe output is shown below, and should be correct to double-precisionaccuracy,@exampleJ0(5) = -1.775967713143382920e-01@end example@noindentThe steps needed to compile programs which use the library are describedin the next chapter.@node No Warranty@section No Warranty@cindex warranty (none)The software described in this manual has no warranty, it is provided"as is". It is your responsibility to validate the behavior of theroutines and their accuracy using the source code provided. Consult theGNU General Public license for further details (@pxref{GNU GeneralPublic License}).@node Further Information, , No Warranty, Introduction@section Further Information@cindex mailing list archives@cindex website, developer information@cindex contacting the GSL developersAdditional information, including online copies of this manual, links torelated projects, and mailing list archives are available from thedevelopment website mentioned above. The developers of the library canbe reached via the project's public mailing list,@itemize @asis@code{gsl-discuss@@sources.redhat.com}@end itemize@noindentThis mailing list can be used to report bugs or to ask questions notcovered by this manual.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -