Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chebpak

Fortran library for Chebyshev polynomials, derivatve matrices, and interpolation.

List of routines

  • cheb_node Returns the chebyshev nodes
  • cheb_eval Evaluates a chebyshev polynomial
  • cheb_ser_eval Evaluates a chebyshev series. Multivariate versions cheb_ser_eval2 and cheb_ser_eval3.
  • cheb_quad Quadrature in single variable. Multivariate versions cheb_quad2 and cheb_quad3.
  • cheb_n1dm Calculates the nodal first derivative matrix
  • cheb_n2dm Calculates the nodal second derivative matrix
  • cheb_calc_dctmat Calculates the dicrete chebyshev transform matrix
  • cheb_calc_dictmat Calculates the discrete inverse chebyshev transform matrix
  • bary_weights Calculates the barycentric weights
  • lag_intrp Evaluates 1D Lagrange interpolant at a single point.
  • lag_intrp_mat 1D Lagrange interpolation matrix.
  • lag_intrp_grd Lagrange interpolation to a grid in 1 dimension. For 2 and 3 dimensions use lag_intrp_grd2 and lag_intrp_grd3.

Documentation

Documentation generated by FORD is available here.

For the call signatures of the routines listed above check the documentation page for the chebyshev_m module.

Installation

Prerequisites

  • A Fortran 2003 compliant compiler. The code has been tested with Intel and gfortran compilers (any recent version will work fine).

  • Intel Math Kernel Library (classic or oneAPI MKL), available from the [Intel website](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ onemkl.html). The code uses BLAS routines via the Fortran 95 interfaces from MKL. The interfaces can be recompiled for a non-Intel compiler, e.g., gfortran.

A makefile is available in the build directory for gfortran compiler, with recompiled Fortran 95 interfaces. If using Intel compilers (ifort/ifx) or for more details on how to link to MKL check with the oneMKL link line advisor.

Note that MKL will not work with Apple Silicon macs, but will work on the older Intel Macs.

After succesful compilation, a static library libchebpak.a will be available in the lib directory, which can be linked to the calling program.

About

Fortran routines for Chebyshev polynomials, derivatve matrices, and interpolation

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages