John Burkardt搜集的FORTRAN源代码

Over the years, I have collected, modified, adapted, adopted or created a number of software packages in FORTRAN. You might be able to use one of these libraries, or a routine or two from a library.

The packages are at different levels of completion. Some are unfinished, others just sketches under development. In some cases, the routines are inaccurate, balky, and unreliable. Don't take anything on faith; if a routine says it computes the Fred function, be sure you know what the Fred function is, and what its values ought to be.

I don't mind receiving your comments, compliments, corrections or complaints, but please be warned that I will not do your damn homework.

For each package listed below, if you click on its name, you can see an expanded explanation of its purpose, a list of its contents, and copy the entire source code file, a sample calling program, or the results of running the calling program.

Available software includes:

  • ARBY4, a reduced basis fluid flow code;
  • ASA159, compute a random table with given row and column sums;
  • BIVAR, construct and evaluate an interpolating function Z(X,Y) from scattered data(计算三点的插值函数);
  • BLEND, 1/2/3D blending interpolation(混合插值);
  • BUMP, computation of flow over a bump (RETIRED);
  • CALPAK, calendar calculations(日历计算);
  • CBLAS, Complex Basic Linear Algebra Subprograms(线性代数求解);
  • CHANNEL, computation of variable strength channel flow (RETIRED);
  • CHRPAK, a character manipulation library(字符处理库);
  • CLUSTER_ENERGY, computes the minimal cluster energy of a set of points;
  • CODEPACK, graph codes or "signatures";
  • COLORS, RGB color conversion;
  • COLUMN, extracts a given column from a file;
  • COMBO, Kreher and Stinson combinatorial routines;
  • CONVERT, converts units of measurement (RETIRED);
  • CRYSTAL, simulates the creation of silicon crystals;
  • CRYSTAL_QED, minimize crystallization cost parameters;
  • CVT, a code that positions a given number of points in an arbitrary region, using probabilistic centroidal Voronoi tesselation techniques to achieve good coverage and separation(在给定区域内布点,采用随机质心voronoi结构法);
  • CVT_BASIS, a code under development, for using CVT techniques to extract a small set of representative behaviors from a large set of solutions of a PDE(采用CVT法提取偏微分方程解集的局部子集);
  • CVT_BASIS_CAVITY, 500 flow velocity solutions in a driven cavity, for use by CVT_BASIS;
  • CVT_BASIS_DATA, hundreds of data files for use by CVT_BASIS;
  • CVT_BASIS_INOUT, 500 flow velocity solutions in a cell with inflow and outflow, for use by CVT_BASIS;
  • CVT_BASIS_TCELL, 500 flow velocity solutions in a T-cell for use by CVT_BASIS;
  • CVT_DENSE, attempt to prescribe CVT cell sizes using a density function (experimental code; no good results yet)(采用密度函数计算CVT胞的尺寸);
  • CVT_MAX, attempt to prescribe CVT cell sizes (experimental code; not producing good results yet);
  • CVT_PARK, attempt to prescribe CVT cell sizes (experimental code; not producing good results yet);
  • CVT_SIZE, attempt to prescribe CVT cell sizes using weighted distances (采用加权距离)(experimental code; not producing great results yet);
  • CVT_WEIGHT, my last attempt to try to prescribe CVT cell sizes, and another failure!;
  • DBLAS, Double Precision Basic Linear Algebra Subprograms(双精度的基本线性代数子程序);
  • DCDFLIB, probability CDF evaluation (RETIRED);
  • DESIGN, spherical designs for quadrature on the sphere(适于球面积分);
  • DIVDIF, divided difference tables;
  • DQED, double precision bounded and constrained least squares and nonlinear equation solver;
  • DUTCH, some computational geometry routines;
  • EISPACK, an "ancient" eigenvalue package superseded by LAPACK(Lapack中的经典特征值求解包);
  • ERRORS, numerical nonsense;
  • EXTRACT, extracts a module from a FORTRAN file(提取模块);
  • F90, simple FORTRAN90 examples;
  • F90SPLIT, splits FORTRAN77 or FORTRAN90 source into individual files(分离fortran77和fortran90);
  • FEM_CODES, some simple finite element method demonstration programs(简单的有限元演示程序);
  • FEMOD1, 1D interactive finite element code;
  • FEMOD2, 2D interactive finite element code;
  • FEMPACK, simple finite element routines;
  • FFTPACK, Fourier transforms(傅里叶变换);
  • FILUM, file utilities;
  • FIXCON, convert F77 continuation to F90(将F77变成F90);
  • FLOW3, finite element fluid flow solver, version 3 (RETIRED);
  • FLOW4, finite element fluid flow solver, version 4 (RETIRED);
  • FLOW5, finite element fluid flow solver, version 5(有限元流体求解器);
  • FLOW6, finite element fluid flow solver, version 6;
  • FLOW7, finite element fluid flow solver, version 7 (under development);
  • FOOTBALL, computing football team rankings from game scores;
  • GENE_CLUSTER, investigate energy-minimizing clusters of genetic expression data;
  • GEOMETRY, 2D/3D geometric calculations(几何计算);
  • GEOMPACK, Voronoi diagram, Delaunay triangulation(voronoi图及delaunay三角网格化程序);
  • GEOMPACK3, Voronoi diagram, Delaunay triangulation;
  • GRAFPACK, calculations for graphs;
  • HALTON, the Halton subrandom sequence;
  • HELP, display a VMS help file;
  • HPF, High Performance FORTRAN examples (RETIRED);
  • INTLIB, routines for approximate integration (quadrature) in one dimension;
  • IQPACK, interpolatory quadrature formulas (RETIRED);
  • KMEANS, routines for the K-Means problem;
  • LAPACKS, a linear algebra library;
  • LAU_NP, heuristics for NP problems.
  • LAUPACK, graph routines.
  • LAWSON, Lawson-Hanson least squares routines;
  • LINPACK_BENCH, the LINPACK benchmark;
  • LINPACKC, a complex arithmetic linear algebra library;
  • LINPACKD, a double precision linear algebra library (RETIRED);
  • LINPACKS, a single precision linear algebra library;
  • LINPLUS, routines the LINPACK guys forgot to write;
  • MACHAR, dynamically compute real and double precision machine precision constants;
  • MATALG, an interactive matrix calculator;
  • MATH142_F00, the raw data from the student survey for Math 142, Fall 2000;
  • MATH142_F01, the raw data from the student survey for Math 142, Fall 2001;
  • MATMAN, a new version of MATMAN;
  • MATMUL, an interactive matrix multiplication benchmark;
  • MINPACK, least squares minimization;
  • MIXED, mixed language programming;
  • MLESS, centroidal Voronoi computations(重心voronoi计算);
  • MPI, message passing interface examples;
  • NINTLIB, routines for approximate integration (quadrature) in N dimensions(n维中的近似积分);
  • NMS, library for "Numerical Methods and Software";
  • NSPCG, nonsymmetric preconditioned conjugate gradient package (RETIRED);
  • NSWC, a general software library;
  • OPEN_MP, examples of using OpenMP for parallel execution;
  • ORTHPOL, orthogonal polynomials for quadrature (RETIRED);
  • PACKER, manipulate data in multidimensional arrays;
  • PARANOIA, checks the properties of floating point arithmetic;
  • PITCON, continuation method for nonlinear systems;
  • POLPAK, recursively defined polynomials;
  • PRAXIS, Richard Brent's code for minimizing a scalar function of several variables without using derivatives;
  • PROB, probability density functions(概率密度函数);
  • QFEPDE, a simple finite element program;
  • QSHEP2D, interpolate scattered data in 2D(散点的插值);
  • QSHEP3D, interpolate scattered data in 3D;
  • QUADPACK, routines for approximate integration (quadrature) in one dimension;
  • QUADRULE, rules for approximate integration (quadrature) in one dimension;
  • QUOTE, print a random quote from a file;
  • RANDOM, random numbers (RETIRED);
  • RANDOM_DATA, generation of sets of random points for test data(随机数据生成);
  • RAW_IO, a few routines for manipulating raw binary data with FORTRAN(读取二进制数据程序);
  • RBF, radial basis function method. includes an interesting run-time use of GNUPLOT(径向基函数法);
  • REFINE, extend a FLOW6 solution to a refined grid(细分网格的流体力学计算解);
  • REGION, groups contiguous voxels into regions;
  • REGRESSION, software and tests for linear regression(线性回归);
  • REJOIN, "rejoin" data that was divvied up evenly over a rectangular array of processors;
  • RKF45, Runge-Kutta-Fehlberg ODE solver(常微分方程求解);
  • ROOT, interactive root finder;
  • SBLAS, Single Precision Basic Linear Algebra Subprograms;
  • SCALAPACK, parallel linear algebra routines (RETIRED);
  • SCVT, a code that positions a given number of points on a sphere in 3D, using probabilistic centroidal Voronoi tesselation techniques to achieve good coverage and separation(采用CVT将点布于3D球体上);
  • SEQUENCE, guesses missing terms in a numerical sequence;
  • SLAP, sparse linear algebra package (RETIRED);
  • SLATEC, a large software library (RETIRED, TOO LARGE);
  • SPAETH, techniques for cluster analysis of data (NOT DEBUGGED);
  • SPAETH2, more techniques for cluster analysis of data (UNDER DEVELOPMENT);
  • SPARSPAK, an old version of the Waterloo sparse matrix package (RETIRED);
  • SPLINE, interpolation and approximation via splines(样条插值逼近);
  • SPLPAK, DeBoor's cubic spline routines (RETIRED);
  • SQED, single precision bounded and constrained least squares and nonlinear equation solver (RETIRED);
  • STEAM, routines based on the NBS steam table package;
  • STRIPACK, Renka's ACM algorithm 772, for Delaunay triangulation and Voronoi diagrams on a sphere(球形上的delaunay三角破分);
  • STRIPPER, file modification;
  • STROUD, routines for numerical integration (quadrature) over N-dimensional regions, including spheres, toruses and other shapes(N维区域上的数值积分);
  • SUBPAK, a utility library;
  • SUBSET, combinatorial routines;
  • TEMPLATES, templates for iterative linear solvers (RETIRED);
  • TESTAPPROX, test functions for approximation and interpolation.
  • TESTCON, test functions for continuation.
  • TESTINT, test problems for approximate integration (quadrature) in one dimension.
  • TESTMAT, test matrices.
  • TESTOPT, test problems for minimization of a scalar function of a scalar variable.
  • TESTNINT, test problems for approximate integration (quadrature) in multiple dimensions.
  • TESTNLS, nonlinear least squares test problems.
  • TESTNONLIN, test problems for the solution of systems of nonlinear equations.
  • TESTODE, initial value (ODE) test problems.
  • TESTOPT, test problems for minimization of a scalar function of several variables.
  • TESTZERO, test problems for the solution of a single nonlinear equation in one variable.
  • TIMER, various real time and CPU time tests.
  • TO_F90, convert FORTRAN source to FORTRAN90 format (RETIRED).
  • TOEPLITZ, Toeplitz matrix system solvers(Toeplitz矩阵求解).
  • TOMS611S, unconstrained minimization, single precision version(非约束性最小化);
  • TOMS611D, unconstrained minimization, double precision version;
  • TRIPACK, Renka's ACM algorithm 751, for constrained Delaunay triangulation in the plane(平面约束性三角划分);
  • UPJODE, an interactive ODE solver(迭代常微分方程求解器);
  • WORDSNAKE, seeks a word snake with a high overlap score.
  • ZOOMIN, a variety of scalar zero finders.

你可能感兴趣的:(fortran)