Routines (by topic) > Mathematics

# Mathematics

## Complex Numbers

COMPLEX - Convert to complex type.

CONJ - Compute the complex conjugate.

DCOMPLEX - Convert to double-precision complex type.

IMAGINARY - Compute the imaginary part of a complex value.

REAL_PART - Compute the real part of a complex value.

## Correlation Analysis

A_CORRELATE - Compute the autocorrelation.

C_CORRELATE - Compute the cross correlation.

CORRELATE - Compute the linear Pearson correlation.

M_CORRELATE - Compute the multiple correlation coefficient.

P_CORRELATE - Compute the partial correlation coefficient.

R_CORRELATE - Compute the rank correlation.

## Curve and Surface Fitting

COMFIT - Fit paired data using a filtering function.

CRVLENGTH - Compute the length of a curve.

CURVEFIT - Fit multivariate data with a user-supplied function.

FUNCT - Evaluate the sum of a Gaussian and a 2nd-order polynomial.

GAUSS2DFIT - Fit a 2D elliptical Gaussian equation to rectilinearly-gridded data.

GAUSSFIT - Fit the sum of a Gaussian and a quadratic.

GRID_TPS - Use thin plate splines to interpolate a set of values over a regular 2D grid.

KRIG2D - Interpolate points to a grid using kriging.

LADFIT - Fit paired data using the least absolute deviation method.

LINFIT - Fit data to a linear model.

LMFIT - Do a non-linear least squares fit.

MIN_CURVE_SURF - Interpolate points with a minimum-curvature or thin-plate-spline surface.

POLY_FIT - Perform a least-squares polynomial fit.

REGRESS - Compute fit using multiple linear regression.

SFIT - Perform a polynomial fit to a surface.

SVDFIT - Multivariate least-squares fit using singular-value decomposition.

TRIGRID - Interpolates data to a regular grid from a triangulation.

## Differentiation and Integration

CRVLENGTH - Compute the length of a curve.

DERIV - Perform differentiation using three-point Langrangian interpolation.

DERIVSIG - Compute the standard deviation of a derivative.

INT_2D - Compute the double integral of a bivariate function.

INT_3D - Compute the triple integral of a trivariate function.

INT_TABULATED - Integrate a tabulated set of data.

LSODE - Advance a solution to a system of ordinary differential equations one time-step.

QROMB - Evaluate an integral over a closed interval.

QROMO - Evaluate an integral over an open interval.

QSIMP - Evaluate an integral using Simpson’s rule.

RK4 - Solve differential equations using the fourth-order Runge-Kutta method.

## Eigenvalues and Eigenvectors

EIGENQL - Compute eigenvalues and eigenvectors of a real, symmetric array.

EIGENVEC - Compute eigenvectors of a real, non-symmetric array.

ELMHES - Reduce a nonsymmetric array to upper Hessenberg form.

HQR - Return all eigenvalues of an upper Hessenberg array.

TRIQL - Determine eigenvalues and eigenvectors of a tridiagonal array.

TRIRED - Reduce a real, symmetric array to tridiagonal form.

## Gridding and Interpolation

BILINEAR - Construct an array using bilinear interpolation.

CONGRID - Shrink or expand an array by an arbitrary amount.

GRID_INPUT - Preprocess and sorts two-dimensional scattered data points, and removes duplicate values.

GRID_TPS - Use thin plate splines to interpolate a set of values over a regular 2D grid.

GRID3 - Create a 3D dataset from a set of scattered 3D nodes.

GRIDDATA - Interpolate scattered data values and locations sampled on a plane or a sphere to a regular grid.

INTERPOL - Perform linear interpolation on vectors.

INTERPOLATE - Perform linear, bilinear, or trilinear interpolation.

KRIG2D - Interpolate points to a grid using kriging.

MIN_CURVE_SURF - Interpolate points with a minimum-curvature or thin-plate-spline surface.

POLY - Interpolate a surface from polar coordinates to rectangular coordinates.

SPH_SCAT - Perform spherical gridding.

SPL_INIT - Establishe the type of interpolating spline.

SPL_INTERP - Perform cubic spline interpolation.

REBIN - Shrink or expand an array by integral multiples or factors of the original dimensions.

SPLINE - Perform cubic spline interpolation.

SPLINE_P - Perform parametric cubic spline interpolation.

TRI_SURF - Interpolate gridded set of points with a smooth quintic surface.

TRIANGULATE - Construct the Delaunay triangulation of a planar set of points.

TRIGRID - Interpolate data to a regular grid from a triangulation.

VALUE_LOCATE - Find the intervals within a vector that bracket a set of search values.

VORONOI - Compute the Voronoi polygon given the Delaunay triangulation.

## Hypothesis Testing

CTI_TEST - Perform the chi-square goodness-of-fit test.

FV_TEST - Perform the F-variance test.

KW_TEST - Perform the Kruskal-Wallis H-test.

LNP_TEST - Compute the Lomb Normalized Periodogram.

MD_TEST - Perform the Median Delta test.

R_TEST - Run tests for randomness.

RS_TEST - Perform the Wilcoxon Rank-Sum test.

S_TEST - Perform the Sign test.

TM_TEST - Perform t-means test.

XSQ_TEST - Compute the Chi-square goodness-of-fit test.

## LAPACK Routines

LA_CHOLDC - Compute the Cholesky factorization of an n-by-n symmetric positive-definite array.

LA_CHOLMPROVE - Use Cholesky factorization to improve the solution to a system of linear equations.

LA_CHOLSOL - Used in conjunction with LA_CHOLDC to solve a set of linear equations.

LA_DETERM - Use LU decomposition to compute the determinant of a square array.

LA_EIGENPROBLEM - Use the QR algorithm to compute eigenvalues and eigenvectors.

LA_EIGENQL - Compute selected eigenvalues and eigenvectors.

LA_EIGENVEC - Use the QR algorithm to compute all or some eigenvectors.

LA_ELMHES - Reduce a real nonsymmetric or complex array to upper Hessenberg from.

LA_GM_LINEAR_MODEL - Used to solve a general Gauss-Markov linear model problem.

LA_HQR - Use the multishift QR algorithm to compute eigenvalues.

LA_INVERT - Use LU decomposition to compute the inverse of a square array.

LA_LEAST_SQUARE_EQUALITY - Used to solve linear least-squares problems.

LA_LEAST_SQUARES - Used to solve linear least-squares problems.

LA_LINEAR_EQUATION - Use LU decomposition to sole a system of linear equations.

LA_LUDC - Compute the LU decomposition of an array.

LA_LUMPROVE - Use LU decomposition to improve the solution to a system of linear equations.

LA_LUSOL - Used in conjunction with LA_LUDC to solve a set of linear equations.

LA_SVD - Compute the singular value decomposition of an array.

LA_TRIDC - Compute the LU decomposition of a tridiagonal array.

LA_TRIMPROVE - Improve the solution to a system of linear equations with a tridiagonal array.

LA_TRIQL - Use the QL and QR variants of the implicitly-shifted QR algorithm to compute eigenvalues and eigenvectors.

LA_TRIRED - Reduce a real symmetric or complex Hermitian array to real tridiagonal from.

LA_TRISOL - Used in conjunction with LA_TRIDC to solve a set of linear equations.

## Linear Systems

CHOLDC - Construct the Cholesky decomposition of a matrix.

CHOLSOL - Solve a set of linear equations (use with CHOLDC).

COND - Compute the condition number of a square matrix.

CRAMER - Solve a system of linear equations using Cramer’s rule.

CROSSP - Compute vector cross product.

DETERM - Compute the determinant of a square matrix.

GS_ITER - Solve a linear system using Gauss-Seidel iteration.

IDENTITY - Return an identity array.

INVERT - Compute the inverse of a square array.

LINBCG - Solve a set of sparse linear equations using the iterative biconjugate gradient method.

LU_COMPLEX - Solve complex linear system using LU decomposition.

LUDC - Replace an array with the LU decomposition.

LUMPROVE - Use LU decomposition to iteratively improve an approximate solution.

LUSOL - Solve a set of linear equations. Use with LUDC.

NORM - Compute Euclidean norm of vector or Infinity norm of array.

SVDC - Compute Singular Value Decomposition of an array.

SVSOL - Solve a set of linear equations using back-substitution.

TRACE - Compute the trace of an array.

TRISOL - Solve a tridiagonal systems of linear equations.

## Mathematical Error Assessment

CHECK_MATH - Return and clear accumulated math errors.

FINITE - Determine if a value is finite.

MACHAR - Return machine-specific parameters for floating-point arithmetic.

## Miscellaneous Math Routines

ABS - Compute the absolute value.

CEIL - Compute the closest integer greater than or equal to X.

CIR_3PNT - Compute the radius and center of a circle, given 3 points.

COMPLEXROUND - Round a complex array.

DIAG_MATRIX - Construct a diagonal matrix from an input vector, or if given a matrix, then extracts a diagonal vector.

DIST - Create an array with each element proportional to its frequency.

EXP - Compute the natural exponential function of given expression.

FLOOR - Compute the closest integer less than or equal to argument.

IDLUNIT - Perform unit conversions and dimensional analysis.

IMAGINARY - Compute the imaginary part of a complex value.

ISHFT - Perform integer bit shift.

LEEFILT - Perform the Lee filter algorithm on an image array.

MATRIX_MULTIPLY - Calculate the matrix-multiply operator (#) of two (possibly transposed) arrays.

MATRIX_POWER - Compute the product of a matrix with itself.

PNT_LINE - Compute the perpendicular distance between a point and a line.

POLY_AREA - Compute the area of a polygon given the coordinates of its vertices.

PRIMES - Compute prime numbers.

PRODUCT - Compute the product of elements within an array.

ROUND - Compute the integer closest to its argument.

SIGNUM - Compute the sign (-1, 0, +1).

SPH_4PNT - Return center and radius of a sphere given 4 points.

SQRT - Compute the square root.

TOTAL - Sum of the elements of an array.

VOIGT - Calculate the intensity of atomic absorption line profiles.

## Multivariate Analysis

CLUST_WTS - Compute cluster weights of an array for cluster analysis.

CLUSTER - Perform cluster analysis.

CLUSTER_TREE - Compute the hierarchical clustering for a set of m items in an n-dimensional space.

CTI_TEST - Perform the chi-square goodness-of-fit test.

DENDRO_PLOT - Draw a two-dimensional dendrite plot on the Direct Graphics device.

DENDROGRAM - Construct a dendrogram and returns a set of vertices and connectivity.

DISTANCE_MEASURE - Compute the pairwise distance between a set of items or observations.

KW_TEST - Perform the Kruskal-Wallis H-test.

M_CORRELATE - Compute the multiple correlation coefficient.

P_CORRELATE - Compute the partial correlation coefficient.

PCOMP - Compute the principal components and derived variables.

STANDARDIZE - Compute standardized variables.

## Nonlinear Equations

BROYDEN - Solve nonlinear equations using Broyden’s method.

FX_ROOT - Compute real and complex roots of a univariate nonlinear function using an optimal Müller’s method.

FZ_ROOTS - Find the roots of a complex polynomial using Laguerre’s method.

NEWTON - Solve nonlinear equations using Newton’s method.

## Optimization

AMOEBA - Minimize a function using downhill simplex method.

CONSTRAINED_MIN - Minimize a function using Generalized Reduced Gradient Method.

DFPMIN - Minimize a function using Davidon-Fletcher-Powell method.

POWELL - Minimize a function using the Powell method.

SIMPLEX - Use the simplex method to solve linear programming problems.

## Probability

BINOMIAL - Compute the binomial distribution function.

CHISQR_CVF - Compute the cutoff value in a Chi-square distribution.

CHISQR_PDF - Compute the Chi-square distribution function.

F_CVF - Compute the cutoff value in an F distribution.

F_PDF - Compute the F distribution function.

GAUSS_CVF - Compute the cutoff value in Gaussian distribution.

GAUSS_PDF - Compute the Gaussian distribution function.

GAUSSINT - Compute the integral of the Gaussian probability function.

T_CVF - Compute the cutoff value in a Student’s t distribution.

T_PDF - Compute Student's t distribution.

## Sparse Arrays

Note: SPRSIN must be used to convert to sparse storage format before the other routines can be used.

FULSTR - Restore a sparse matrix to full storage mode.

LINBCG - Solve a set of sparse linear equations using the iterative biconjugate gradient method.

READ_SPR - Read a row-indexed sparse matrix from a file.

SPRSAB - Perform matrix multiplication on sparse matrices.

SPRSAX - Multiply a sparse matrix by a vector.

SPRSIN - Convert a matrix to row-index sparse matrix.

SPRSTP - Construct the transpose of a sparse matrix.

WRITE_SPR - Write a row-indexed sparse array structure to a file.

## Special Math Functions

BESELI - Compute the I Bessel function of order N.

BESELJ - Compute the J Bessel function of order N.

BESELK - Compute the K Bessel function of order N.

BESELY - Compute the Y Bessel function of order N.

BETA - Compute the beta function.

ERF - Compute the error function.

ERFC - Compute the complementary error function.

ERFCX - Compute the scaled complementary error function.

EXPINT - Compute the exponential integral.

GAMMA - Compute the gamma function.

IBETA - Compute the incomplete beta function.

IGAMMA - Compute the incomplete gamma function.

LAGUERRE - Compute the associated Laguerre polynomial.

LAMBERTW - Compute the Lambert W function.

LEGENDRE - Compute the associated Legendre polynomial.

LNGAMMA - Compute the logarithm of the gamma function.

POLY - Evaluate the polynomial function of a variable.

SPHER_HARM - Compute the spherical harmonic function.

## Statistical Tools

FACTORIAL - Compute the factorial function.

HIST_2D - Compute the histogram of two variables.

HISTOGRAM - Compute the density function of an array.

KURTOSIS - Compute the statistical kurtosis.

MAX - Returns the largest value (and optionally its position) of an array.

MEAN - Compute the mean.

MEANABSDEV - Compute the mean absolute deviation.

MEDIAN - Returns the median value of an array or applies a median filter.

MIN - Returns the smallest value (and optionally its position) of an array.

MOMENT - Compute mean, variance, skewness, and kurtosis.

RANDOMN - Return normally-distributed pseudo-random numbers.

RANDOMU - Return pseudo-random numbers in one of several different distributions.

RANKS - Compute magnitude-based ranks.

SKEWNESS - Compute the statistical skewness of an n-element vector.

STDDEV - Compute the standard deviation.

TOTAL - Sums of the elements of an array.

VARIANCE - Compute the statistical variance.

## Time-Series Analysis

A_CORRELATE - Compute autocorrelation.

C_CORRELATE - Compute cross correlation.

SMOOTH - Smooth with a boxcar average.

TS_COEF - Compute the coefficients for autoregressive time-series.

TS_DIFF - Compute the forward differences of a time-series.

TS_FCAST - Compute future or past values of stationary time-series.

TS_SMOOTH - Compute moving averages of a time-series.

## Transcendental Functions

ACOS - Compute the arc-cosine.

ALOG - Compute the natural logarithm.

ALOG2 - Compute the logarithm to the base 2.

ALOG10 - Compute the logarithm to the base 10.

ASIN - Compute the arc-sine.

ATAN - Compute the arc-tangent.

COS - Compute the cosine.

COSH - Compute the hyperbolic cosine.

EXP - Compute the natural exponential function of a given expression.

SIN - Compute the trigonometric sine.

SINH - Compute the hyperbolic sine.

TAN - Compute the tangent.

TANH - Compute the hyperbolic tangent.

## Transforms

BLK_CON - Convolve input signal with impulse-response sequence.

CHEBYSHEV - Compute the forward or reverse Chebyshev polynomial expansion.

CONVOL - Convolve two vectors or arrays.

FFT - Compute the Fast Fourier Transform of an array.

HILBERT - Construct the Hilbert transform.

HOUGH - Compute the Hough transform of a two-dimensional image.

RADON - Compute the Radon transform of a two-dimensional image.

WTN - Compute the wavelet transform.

WV_CWT - Compute the continuous wavelet transform.

WV_DWT - Compute the discrete wavelet transform.

WV_PWT - Compute the partial wavelet transform.