Copyright Information about Numerical Recipes

The Numerical Recipes programs are all copyrighted by the authors of the Numerical Recipes books. Under copyright law, all "derivative works" (modified versions, or translations into another computer language) also come under the same copyright.

Of course, the mathematical algorithms that underly the programs are not copyrightable. So, the test of whether a similar program is actually infringing on the Numerical Recipes copyright is whether the expression of the underlying algorithm is so similar to that in Numerical Recipes as to make clear that the infringing program was in fact derived from the Numerical Recipes program. It is usually very easy to tell if something was copied from Numerical Recipes, even if variable names are changed (for example), since all programs are full of arbitrary stylistic choices as to the order in which things are done, the way expressions are written, etc.

If no other permission were granted, a reader of the Numerical Recipes book would have no way to use the programs on a computer! Of course, that would be silly and defeat the purpose of the book. Therefore, in the text of the book (e.g., C Second Edition, page xvi) permission is granted as follows:

"If you are the individual owner of a copy of this book, we hereby authorize you to type into your computer, for your own personal and noncommercial use, one machine-readable copy of each program. You are not authorized to transfer or distribute a machine-readable copy to any other person."

Beyond that, Cambridge University Press and Numerical Recipes Software make available a wide variety of low-cost licenses for various uses: If you buy a diskette, you have a license for a single PC or Macintosh. If you order a network-downloadable workstation license from Numerical Recipes Software, you are licensed on a single workstation screen. There are site and corporate licenses.

Under many circumstances, Numerical Recipes Software also allows Numerical Recipes routines to be distributed without limit when they are bound into the executables of other software; licenses for such use are available when the Numerical Recipes programs are are not presented individually to the user in a "workbench" or "library" environment, but rather are integral to the operation of the other software.

Thus, if you develop software including Numerical Recipes on a machine with a valid Numerical Recipes license, you will generally be able to transfer your executable program freely to other, unlicensed, machines, or even to distribute it commercially. There are some restrictions on this, however. Please see our separate page on permissions.

Many people, including the Numerical Recipes authors, believe that there ought to be good sources of non-copyrighted numerical software available. Indeed, there are such sources. However, Numerical Recipes is not one of them! When people want to create freely redistributable programs, we urge them to use these other, freeware, program libraries. There are good discussions of their merits in the usenet news group sci.math.num-analysis. The NETLIB Web page gives access to many such packages. The public domain SLATEC package is often a good substitute for Numerical Recipes routines.