R8LIB
A Double Precision Real Arithmetic Utility Library {#r8lib-a-double-precision-real-arithmetic-utility-library align="center"}
R8LIB is a C++ library which contains a number of utility routines for "R8" or "double precision real" arithmetic.
The computer code and data files made available on this web page are distributed under the GNU LGPL license.
R8LIB is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.
C4LIB, a C++ library which implements certain elementary functions for "C4" or single precision complex variables;
C8LIB, a C++ library which implements certain elementary functions for "C8" or double precision complex variables;
I4LIB, a C++ library which contains many utility routines, using "I4" or "single precision integer" arithmetic.
I8LIB, a C++ library which contains many utility routines, using "I8" or "double precision integer" arithmetic.
L4LIB, a C++ library which contains many utility routines, using one byte logical (L4) variables.
R4LIB, a C++ library which contains many utility routines, using "R4" or "single precision real" arithmetic.
R8COL, a C++ library which contains utility routines for R8COL's, that is, double precision real MxN arrays, considered as N column vectors, each of length M. The data may be thought of as a matrix of multiple columns, and many operations will be carried out columnwise.
R8ROW, a C++ library which contains utility routines for R8ROW's, that is, double precision real MxN arrays, considered as M row vectors, each of length N. The data may be thought of as a matrix of multiple rows, and many operations will be carried out rowwise.
- r8lib_prb.cpp, the calling program;
- r8lib_prb_output.txt, the output file.
- GAMMA_VALUES returns some values of the Gamma function.
- GAMMA_LOG_VALUES returns some values of the Log Gamma function.
- I4_LOG_10 returns the integer part of the logarithm base 10 of an I4.
- I4_MAX returns the maximum of two I4's.
- I4_MIN returns the minimum of two I4's.
- I4_MODP returns the nonnegative remainder of I4 division.
- I4_POWER returns the value of I^J.
- I4_SIGN returns the sign of an I4.
- I4_UNIFORM_AB returns a scaled pseudorandom I4 between A and B.
- I4_WRAP forces an I4 to lie between given limits by wrapping.
- I4INT_TO_R8INT maps an I4 interval to an R8 interval.
- I4VEC_COPY copies an I4VEC.
- I4VEC_INDICATOR0_NEW sets an I4VEC to the indicator vector (0,1,2,...).
- I4VEC_INDICATOR1_NEW sets an I4VEC to the indicator vector (1,2,3,...).
- I4VEC_PERMUTE permutes an I4VEC in place.
- I4VEC_PRINT prints an I4VEC.
- I4VEC_TRANSPOSE_PRINT prints an I4VEC "transposed".
- I4VEC_ZEROS zeroes an I4VEC.
- I4VEC_ZEROS_NEW creates and zeroes an I4VEC.
- LEGENDRE_ZEROS returns the zeros of the Legendre polynomial of degree N.
- PERM0_CHECK checks a permutation of ( 0, ..., N-1 ).
- PERM0_UNIFORM_NEW selects a random permutation of 0,...,N-1.
- PERM1_CHECK checks a permutation of (1, ..., N ).
- PERM1_UNIFORM_NEW selects a random permutation of 1,...,N.
- R8_ABS returns the absolute value of an R8.
- R8_ACOS computes the arc cosine function, with argument truncation.
- R8_ACOSH returns the inverse hyperbolic cosine of a number.
- R8_ADD adds two R8's.
- R8_AGM computes the arithmetic-geometric mean of A and B.
- R8_AINT truncates an R8 argument to an integer.
- R8_ASIN computes the arc sine function, with argument truncation.
- R8_ASINH returns the inverse hyperbolic sine of a number.
- R8_ATAN computes the inverse tangent of the ratio Y / X.
- R8_ATANH returns the inverse hyperbolic tangent of a number.
- R8_BIG returns a "big" R8.
- R8_CAS returns the "casine" of an R8.
- R8_CEILING rounds an R8 up to the nearest integral R8.
- R8_CHOOSE computes the combinatorial coefficient C(N,K).
- R8_CHOP chops an R8 to a given number of binary places.
- R8_COSD returns the cosine of an angle given in degrees.
- R8_COT returns the cotangent of an angle.
- R8_COTD returns the cotangent of an angle given in degrees.
- R8_CSC returns the cosecant of X.
- R8_CSCD returns the cosecant of an angle given in degrees.
- R8_CUBE_ROOT returns the cube root of an R8.
- R8_DEGREES converts an angle from radian to degree measure.
- R8_DIFF computes (X-Y) to a specified accuracy.
- R8_DIGIT returns a particular decimal digit of an R8.
- R8_DIVIDE_I4 returns an I4 fraction as an R8.
- R8_E returns the value of the base of the natural logarithm system.
- R8_EPSILON returns the R8 roundoff unit.
- R8_EPSILON_COMPUTE computes the R8 roundoff unit.
- R8_EXP computes the exponential function, avoiding overflow and underflow.
- R8_FACTORIAL computes the factorial of N.
- R8_FACTORIAL_VALUES returns values of the real factorial function.
- R8_FACTORIAL2 computes the double factorial function.
- R8_FACTORIAL2_VALUES returns values of the double factorial function.
- R8_FALL computes the falling factorial function [X]_N.
- R8_FALL_VALUES returns some values of the falling factorial function.
- R8_FLOOR rounds an R8 down to the nearest integral R8.
- R8_FRACTION uses real arithmetic on an integer ratio.
- R8_FRACTIONAL returns the fractional part of an R8.
- R8_GAMMA evaluates Gamma(X) for an R8.
- R8_GAMMA_LOG evaluates the logarithm of the gamma function.
- R8_HUGE returns a "huge" R8.
- R8_HYPOT returns the value of sqrt ( X^2 + Y^2 ).
- R8_IN_01 is TRUE if an R8 is in the range [0,1].
- R8_INSIGNIFICANT determines if an R8 is insignificant.
- R8_IS_INT determines if an R8 represents an integer value.
- R8_LOG_10 returns the logarithm base 10 of the absolute value of an R8.
- R8_LOG_2 returns the logarithm base 2 of the absolute value of an R8.
- R8_LOG_B returns the logarithm base B of an R8.
- R8_MANT computes the "mantissa" or "fraction part" of an R8.
- R8_MAX returns the maximum of two R8's.
- R8_MIN returns the minimum of two R8's.
- R8_MOD returns the remainder of R8 division.
- R8_MODP returns the nonnegative remainder of R8 division.
- R8_MOP returns the I-th power of -1 as an R8 value.
- R8_NINT returns the nearest integer to an R8.
- R8_NORMAL_01 samples the standard normal probability distribution.
- R8_NORMAL_AB returns a scaled pseudonormal R8.
- R8_PI returns the value of PI as an R8.
- R8_PI_SQRT returns the square root of PI as an R8.
- R8_POWER computes an integer power of an R8.
- R8_POWER_FAST computes the P-th power of R, for real R and integer P.
- R8_PRINT prints an R8.
- R8_PYTHAG computes sqrt ( A*A + B*B ), avoiding overflow and underflow.
- R8_RADIANS converts an angle from degree to radian measure.
- R8_REVERSE_BYTES reverses the bytes in an R8.
- R8_RISE computes the rising factorial function [X]^N.
- R8_RISE_VALUES returns some values of the rising factorial function.
- R8_ROUND rounds an R8 to the nearest integral value.
- R8_ROUND_I4 rounds an R8, returning an I4.
- R8_ROUND2 rounds an R8 in base 2.
- R8_ROUNDB rounds an R8 in a given base.
- R8_ROUNDX rounds an R8 in base 10.
- R8_SECD returns the secant of an angle given in degrees.
- R8_SECH evaluates the hyperbolic secant, while avoiding COSH overflow.
- R8_SIGN returns the sign of an R8.
- R8_SIGN3 returns the three-way sign of an R8.
- R8_SIGN_CHAR returns a character indicating the sign of an R8.
- R8_SIGN_MATCH is TRUE if two R8's are of the same sign.
- R8_SIGN_MATCH_STRICT is TRUE if two R8's are of the same strict sign.
- R8_SIGN_OPPOSITE is TRUE if two R8's are not of the same sign.
- R8_SIGN_OPPOSITE_STRICT is TRUE if two R8's are strictly of opposite sign.
- R8_SIGN2 returns the first argument with the sign of the second.
- R8_SINCOS_SUM simplifies a*sin(cx)+b*cos(cx).
- R8_SIND returns the sine of an angle given in degrees.
- R8_SQRT_I4 returns the square root of an I4 as an R8.
- R8_SUM returns the sum of two R8's.
- R8_SWAP switches two R8's.
- R8_SWAP3 swaps three R8's.
- R8_TAND returns the tangent of an angle given in degrees.
- R8_TINY returns a "tiny" R8.
- R8_TO_DHMS converts an R8 day value into days, hours, minutes, seconds.
- R8_TO_I4 maps real X in [XMIN, XMAX] to integer IX in [IXMIN, IXMAX].
- R8_TO_R8_DISCRETE maps R to RD in [RMIN, RMAX] with NR possible values.
- R8_UNIFORM_01 returns a unit pseudorandom R8.
- R8_UNIFORM_AB returns a scaled pseudorandom R8.
- R8_UNSWAP3 unswaps three R8's.
- R8_WALSH_1D evaluates the Walsh function of a real scalar argument.
- R8_WRAP forces an R8 to lie between given limits by wrapping.
- R82_DIST_L2 returns the L2 distance between a pair of R82's.
- R82_PRINT prints an R82.
- R82_UNIFORM_AB returns a random R82 value in a given range.
- R82COL_PRINT_PART prints "part" of an R82COL.
- R82POLY2_PRINT prints a second order polynomial in two variables.
- R82POLY2_TYPE analyzes a second order polynomial in two variables.
- R82POLY2_TYPE_PRINT prints the meaning of the output from R82POLY2_TYPE.
- R82ROW_MAX returns the maximum value in an R82ROW.
- R82ROW_MIN returns the minimum value in an R82ROW.
- R82ROW_ORDER_TYPE finds if an R82ROW is (non)strictly ascending/descending.
- R82ROW_PART_QUICK_A reorders an R82ROW as part of a quick sort.
- R82ROW_PERMUTE permutes an R82ROW in place.
- R82ROW_PRINT prints an R82ROW.
- R82ROW_PRINT_PART prints "part" of an R82ROW.
- R82ROW_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R82ROW.
- R82ROW_SORT_QUICK_A ascending sorts an R82ROW using quick sort.
- R83_NORM returns the Euclidean norm of an R83.
- R83COL_PRINT_PART prints "part" of an R83COL.
- R83ROW_MAX returns the maximum value in an R83ROW.
- R83ROW_MIN returns the minimum value in an R83ROW.
- R83ROW_PART_QUICK_A reorders an R83ROW as part of a quick sort.
- R83ROW_PRINT_PART prints "part" of an R83ROW.
- R83ROW_SORT_QUICK_A ascending sorts an R83ROW using quick sort.
- R8BLOCK_DELETE frees memory associated with an R8BLOCK.
- R8BLOCK_EXPAND_LINEAR linearly interpolates new data into a 3D block.
- R8BLOCK_NEW allocates a new R8BLOCK.
- R8BLOCK_PRINT prints an R8BLOCK block (a 3D matrix).
- R8BLOCK_ZEROS_NEW returns a new zeroed R8BLOCK.
- R8CMAT_DELETE frees memory associated with an R8CMAT.
- R8CMAT_NEW allocates a new R8CMAT.
- R8CMAT_PRINT prints an R8CMAT.
- R8CMAT_PRINT_SOME prints some of an R8CMAT.
- R8CMAT_TO_R8MAT_NEW copies data from an R8CMAT to an R8MAT.
- R8CMAT_ZEROS_NEW allocates and zeros a new R8CMAT.
- R8INT_TO_R8INT maps one R8 interval to another.
- R8INT_TO_I4INT maps an R8 interval to an integer interval.
- R8MAT_ADD computes C = alpha * A + beta * B for R8MAT's.
- R8MAT_ADD_NEW computes C = alpha * A + beta * B for R8MAT's.
- R8MAT_AMAX returns the maximum absolute value entry of an R8MAT.
- R8MAT_BORDER_ADD adds a "border" to an R8MAT.
- R8MAT_BORDER_CUT cuts the "border" of an R8MAT.
- R8MAT_CHOLESKY_FACTOR computes the Cholesky factor of a symmetric R8MAT.
- R8MAT_CHOLESKY_FACTOR_UPPER: upper Cholesky factor of a symmetric R8MAT.
- R8MAT_CHOLESKY_INVERSE computes the inverse of a symmetric matrix.
- R8MAT_CHOLESKY_SOLVE solves a Cholesky factored linear system A * x = b.
- R8MAT_CHOLESKY_SOLVE_UPPER solves Cholesky factored linear system A * x = b.
- R8MAT_COPY copies one R8MAT to another.
- R8MAT_COPY_NEW copies one R8MAT to a "new" R8MAT.
- R8MAT_COVARIANCE computes the sample covariance of a set of vector data.
- R8MAT_DET computes the determinant of an R8MAT.
- R8MAT_DET_2D computes the determinant of a 2 by 2 R8MAT.
- R8MAT_DET_3D computes the determinant of a 3 by 3 R8MAT.
- R8MAT_DET_4D computes the determinant of a 4 by 4 R8MAT.
- R8MAT_DET_5D computes the determinant of a 5 by 5 R8MAT.
- R8MAT_DIAG_ADD_SCALAR adds a scalar to the diagonal of an R8MAT.
- R8MAT_DIAG_ADD_VECTOR adds a vector to the diagonal of an R8MAT.
- R8MAT_DIAG_GET_VECTOR gets the value of the diagonal of an R8MAT.
- R8MAT_DIAG_GET_VECTOR_NEW gets the value of the diagonal of an R8MAT.
- R8MAT_DIAG_SET_SCALAR sets the diagonal of an R8MAT to a scalar value.
- R8MAT_DIAG_SET_VECTOR sets the diagonal of an R8MAT to a vector.
- R8MAT_DIAGONAL_NEW returns a diagonal matrix.
- R8MAT_DIFF_FROBENIUS returns the Frobenius norm of the difference of R8MAT's.
- R8MAT_EXPAND_LINEAR linearly interpolates new data into an R8MAT.
- R8MAT_EXPAND_LINEAR2 expands an R8MAT by linear interpolation.
- R8MAT_FLIP_COLS_NEW makes a new copy of an R8MAT with reversed column order.
- R8MAT_FLIP_ROWS_NEW makes a new copy of an R8MAT with reversed row order.
- R8MAT_FS factors and solves a system with one right hand side.
- R8MAT_FS_NEW factors and solves a system with one right hand side.
- R8MAT_FSS factors and solves a system with multiple right hand sides.
- R8MAT_FSS_NEW factors and solves a system with multiple right hand sides.
- R8MAT_GIVENS_POST computes the Givens postmultiplier rotation matrix.
- R8MAT_GIVENS_PRE computes the Givens premultiplier rotation matrix.
- R8MAT_HESS approximates a Hessian matrix via finite differences.
- R8MAT_HOUSE_AXH computes A*H where H is a compact Householder matrix.
- R8MAT_HOUSE_AXH_NEW computes A*H where H is a compact Householder matrix.
- R8MAT_HOUSE_FORM constructs a Householder matrix from its compact form.
- R8MAT_HOUSE_HXA computes H*A where H is a compact Householder matrix.
- R8MAT_HOUSE_POST computes a Householder post-multiplier matrix.
- R8MAT_HOUSE_PRE computes a Householder pre-multiplier matrix.
- R8MAT_IDENTITY sets the square matrix A to the identity.
- R8MAT_IDENTITY_NEW returns an identity matrix.
- R8MAT_IN_01 is TRUE if the entries of an R8MAT are in the range [0,1].
- R8MAT_INDICATOR_NEW sets up an "indicator" R8MAT.
- R8MAT_INSIGNIFICANT determines if an R8MAT is insignificant.
- R8MAT_INVERSE_2D inverts a 2 by 2 matrix using Cramer's rule.
- R8MAT_INVERSE_3D inverts a 3 by 3 matrix using Cramer's rule.
- R8MAT_INVERSE_4D inverts a 4 by 4 matrix using Cramer's rule.
- R8MAT_IS_IDENTITY determines if an R8MAT is the identity.
- R8MAT_IS_SYMMETRIC checks an R8MAT for symmetry.
- R8MAT_JAC estimates a dense jacobian matrix of the function FX.
- R8MAT_KRONECKER computes the Kronecker product of two R8MAT's.
- R8MAT_L_INVERSE inverts a lower triangular R8MAT.
- R8MAT_L_PRINT prints a lower triangular R8MAT.
- R8MAT_L_SOLVE solves a lower triangular linear system.
- R8MAT_L1_INVERSE inverts a unit lower triangular R8MAT.
- R8MAT_LT_SOLVE solves a transposed lower triangular linear system.
- R8MAT_LU computes the LU factorization of a rectangular R8MAT.
- R8MAT_MAX returns the maximum entry of an R8MAT.
- R8MAT_MAX_INDEX returns the location of the maximum entry of an R8MAT.
- R8MAT_MAXCOL_MINROW gets the maximum column minimum row of an M by N matrix.
- R8MAT_MAXROW_MINCOL gets the maximum row minimum column of an M by N matrix.
- R8MAT_MEAN returns the mean of an R8MAT.
- R8MAT_MIN returns the minimum entry of an R8MAT.
- R8MAT_MIN_INDEX returns the location of the minimum entry of an R8MAT.
- R8MAT_MINCOL_MAXROW gets the minimum column maximum row of an M by N matrix.
- R8MAT_MINROW_MAXCOL gets the minimum row maximum column of an M by N matrix.
- R8MAT_MINVM computes inverse(A) * B for R8MAT's.
- R8MAT_MINVM_NEW returns inverse(A) * B for R8MAT's.
- R8MAT_MM multiplies two matrices.
- R8MAT_MM_NEW multiplies two matrices.
- R8MAT_MMT_NEW computes C = A * B'.
- R8MAT_MTM_NEW computes C = A' * B.
- R8MAT_MTV multiplies a transposed matrix times a vector.
- R8MAT_MTV_NEW multiplies a transposed matrix times a vector.
- R8MAT_MV multiplies a matrix times a vector.
- R8MAT_MV_NEW multiplies a matrix times a vector.
- R8MAT_NINT rounds the entries of an R8MAT.
- R8MAT_NONZEROS returns the number of nonzeros in an R8MAT.
- R8MAT_NORM_EIS returns the EISPACK norm of an R8MAT.
- R8MAT_NORM_FRO returns the Frobenius norm of an R8MAT.
- R8MAT_NORM_FRO_AFFINE returns the Frobenius norm of an R8MAT difference.
- R8MAT_NORM_L1 returns the matrix L1 norm of an R8MAT.
- R8MAT_NORM_L2 returns the matrix L2 norm of an R8MAT.
- R8MAT_NORM_LI returns the matrix L-oo norm of an R8MAT.
- R8MAT_NORMAL_01_NEW returns a unit pseudonormal R8MAT.
- R8MAT_NULLSPACE computes the nullspace of a matrix.
- R8MAT_NULLSPACE_SIZE computes the size of the nullspace of a matrix.
- R8MAT_ORTH_UNIFORM_NEW returns a random orthogonal matrix.
- R8MAT_PLOT "plots" an R8MAT.
- R8MAT_PLOT_SYMBOL returns a symbol for entries of an R8MAT.
- R8MAT_POLY_CHAR computes the characteristic polynomial of an R8MAT.
- R8MAT_POWER computes a nonnegative power of an R8MAT.
- R8MAT_POWER_METHOD applies the power method to a matrix.
- R8MAT_PRINT prints an R8MAT.
- R8MAT_PRINT_SOME prints some of an R8MAT.
- R8MAT_REF computes the row echelon form of a matrix.
- R8MAT_RMS returns the RMS norm of an R8MAT.
- R8MAT_ROW_COPY copies a vector into a row of an R8MAT.
- R8MAT_RREF computes the reduced row echelon form of a matrix.
- R8MAT_SCALE multiplies an R8MAT by a scalar.
- R8MAT_SIGNIFICANT determines if an R8MAT is significant compared to another.
- R8MAT_SOLVE uses Gauss-Jordan elimination to solve an N by N linear system.
- R8MAT_SOLVE_2D solves a 2 by 2 linear system using Cramer's rule.
- R8MAT_SOLVE_3D solves a 3 by 3 linear system using Cramer's rule.
- R8MAT_SOLVE2 computes the solution of an N by N linear system.
- R8MAT_SUB_NEW computes C = A - B.
- R8MAT_SUM returns the sum of an R8MAT.
- R8MAT_SYMM_EIGEN returns a symmetric matrix with given eigensystem.
- R8MAT_SYMM_JACOBI applies Jacobi eigenvalue iteration to a symmetric matrix.
- R8MAT_TO_R8CMAT_NEW copies data from an R8MAT to an R8CMAT.
- R8MAT_TO_R8PLU factors a general matrix.
- R8MAT_TO_R8RMAT copies data from an R8MAT to an R8RMAT.
- R8MAT_TRACE computes the trace of an R8MAT.
- R8MAT_TRANSPOSE_IN_PLACE transposes a square R8MAT in place.
- R8MAT_TRANSPOSE_NEW returns the transpose of an R8MAT.
- R8MAT_TRANSPOSE_PRINT prints an R8MAT, transposed.
- R8MAT_TRANSPOSE_PRINT_SOME prints some of an R8MAT, transposed.
- R8MAT_U_INVERSE inverts an upper triangular R8MAT.
- R8MAT_U_SOLVE solves an upper triangular linear system.
- R8MAT_U1_INVERSE inverts a unit upper triangular R8MAT.
- R8MAT_UNIFORM_01 returns a unit pseudorandom R8MAT.
- R8MAT_UNIFORM_01_NEW returns a unit pseudorandom R8MAT.
- R8MAT_UNIFORM_AB returns a scaled pseudorandom R8MAT.
- R8MAT_UNIFORM_AB_NEW returns a new scaled pseudorandom R8MAT.
- R8MAT_UNIFORM_ABVEC returns a scaled pseudorandom R8MAT.
- R8MAT_UNIFORM_ABVEC_NEW returns a new scaled pseudorandom R8MAT.
- R8MAT_UT_SOLVE solves a transposed upper triangular linear system.
- R8MAT_VAND2 returns the N by N row Vandermonde matrix A.
- R8MAT_VTMV multiplies computes the scalar x' * A * y.
- R8MAT_ZEROS zeroes an R8MAT.
- R8MAT_ZEROS_NEW returns a new zeroed R8MAT.
- R8PLU_DET computes the determinant of a real PLU matrix.
- R8PLU_INVERSE computes the inverse of a real PLU matrix.
- R8PLU_MUL computes A * x using the PLU factors of A.
- R8PLU_SOL solves a linear system A*x=b from the PLU factors.
- R8PLU_TO_R8MAT recovers the matrix A that was factored by R8MAT_TO_R8PLU.
- R8POLY_DEGREE returns the degree of a polynomial.
- R8POLY_DERIV returns the derivative of a polynomial.
- R8POLY_LAGRANGE_0 evaluates the Lagrange factor at a point.
- R8POLY_LAGRANGE_1 evaluates the first derivative of the Lagrange factor.
- R8POLY_LAGRANGE_2 evaluates the second derivative of the Lagrange factor.
- R8POLY_LAGRANGE_COEF returns the coefficients of a Lagrange polynomial.
- R8POLY_LAGRANGE_FACTOR evaluates the polynomial Lagrange factor at a point.
- R8POLY_LAGRANGE_VAL evaluates the IPOL-th Lagrange polynomial.
- R8POLY_ORDER returns the order of a polynomial.
- R8POLY_PRINT prints out a polynomial.
- R8POLY_SHIFT adjusts the coefficients of a polynomial for a new argument.
- R8POLY_VALUE_HORNER evaluates a polynomial using Horner's method.
- R8POLY_VALUES_HORNER evaluates a polynomial using Horner's method.
- R8POLY_VALUE_2D evaluates a polynomial in 2 variables, X and Y.
- R8POLY2_EX finds the extremal point of a parabola determined by three points.
- R8POLY2_EX2 finds the extremal point of a parabola determined by three points.
- R8POLY2_RROOT returns the real parts of the roots of a quadratic polynomial.
- R8POLY2_VAL evaluates a parabola defined by three data values.
- R8POLY2_VAL2 evaluates a parabolic function through 3 points in a table.
- R8PP_DELETE frees the memory set aside by R8PP_NEW.
- R8PP_NEW allocates a new R8PP.
- R8R8_COMPARE compares two R8R8's.
- R8R8_PRINT prints an R8R8.
- R8R8R8_COMPARE compares two R8R8R8's.
- R8R8R8VEC_INDEX_INSERT_UNIQUE inserts a unique R8R8R8 value in an indexed sorted list.
- R8R8R8VEC_INDEX_SEARCH searches for an R8R8R8 value in an indexed sorted list.
- R8R8VEC_INDEX_INSERT_UNIQUE inserts a unique R8R8 value in an indexed sorted list.
- R8R8VEC_INDEX_SEARCH searches for an R8R8 value in an indexed sorted list.
- R8RMAT_COPY_NEW makes a new copy of an R8RMAT .
- R8RMAT_DELETE frees memory associated with an R8RMAT.
- R8RMAT_FS_NEW factors and solves an R8RMAT system with one right hand side.
- R8RMAT_NEW allocates a new R8RMAT.
- R8RMAT_PRINT prints an R8RMAT.
- R8RMAT_PRINT_SOME prints some of an R8RMAT.
- R8RMAT_TO_R8MAT copies data from an R8RMAT to an R8MAT.
- R8RMAT_ZEROS allocates and zeroes a new R8RMAT.
- R8ROW_COMPARE compares two rows in an R8ROW.
- R8ROW_MAX returns the row maximums of an R8ROW.
- R8ROW_MEAN returns the row means of an R8ROW.
- R8ROW_MIN returns the row minimums of an R8ROW.
- R8ROW_PRINT prints an R8ROW.
- R8ROW_PRINT_SOME prints some of an R8ROW.
- R8ROW_REVERSE reverses the order of the rows of an R8MAT.
- R8ROW_RUNNING_AVERAGE computes the running averages of an R8ROW.
- R8ROW_RUNNING_SUM computes the running sum of an R8ROW.
- R8ROW_SORT_HEAP_A ascending heapsorts an R8ROW.
- R8ROW_SUM returns the sums of the rows of an R8ROW.
- R8ROW_SWAP swaps two rows of an R8ROW.
- R8ROW_TO_R8VEC converts an R8ROW into an R8VEC.
- R8ROW_UNIFORM_AB_NEW returns a new scaled pseudorandom R8ROW.
- R8ROW_VARIANCE returns the variances of an R8ROW.
- R8SLMAT_PRINT prints a strict lower triangular R8MAT.
- R8VEC_01_TO_AB shifts and rescales data to lie within given bounds.
- R8VEC_AB_TO_01 shifts and rescales data to lie within [0,1].
- R8VEC_AB_TO_CD shifts and rescales data to lie within a given pair of bounds.
- R8VEC_ADD adds one R8VEC to another.
- R8VEC_ALL_NONPOSITIVE: ( all ( A <= 0 ) ) for R8VEC's.
- R8VEC_AMAX returns the maximum absolute value in an R8VEC.
- R8VEC_AMAX_INDEX returns the index of the maximum absolute value in an R8VEC.
- R8VEC_AMIN returns the minimum absolute value in an R8VEC.
- R8VEC_AMIN_INDEX returns the index of the minimum absolute value in an R8VEC.
- R8VEC_ANY_NEGATIVE: ( any ( A < 0 ) ) for R8VEC's.
- R8VEC_ANY_NONZERO: ( any A nonzero ) for R8VEC's.
- R8VEC_ANY_NORMAL returns some normal vector to V1.
- R8VEC_ASCENDS determines if an R8VEC is (weakly) ascending.
- R8VEC_ASCENDS_STRICTLY determines if an R8VEC is strictly ascending.
- R8VEC_ASUM sums the absolute values of the entries of an R8VEC.
- R8VEC_BIN computes bins based on a given R8VEC.
- R8VEC_BRACKET searches a sorted array for successive brackets of a value.
- R8VEC_BRACKET2 searches a sorted array for successive brackets of a value.
- R8VEC_BRACKET3 finds the interval containing or nearest a given value.
- R8VEC_BRACKET4 finds the interval containing or nearest a given value.
- R8VEC_BRACKET5 brackets data between successive entries of a sorted R8VEC.
- R8VEC_BRACKET6 brackets data between successive entries of a sorted R8VEC.
- R8VEC_CHEBYSPACE_NEW creates a vector of Chebyshev spaced values in [A,B].
- R8VEC_CHEBY1SPACE_NEW creates Type 1 Chebyshev spaced values in [A,B].
- R8VEC_CHEBY2SPACE_NEW creates Type 2 Chebyshev spaced values in [A,B].
- R8VEC_CIRCULAR_VARIANCE returns the circular variance of an R8VEC.
- R8VEC_COMPARE compares two R8VEC's.
- R8VEC_CONCATENATE concatenates two R8VEC's.
- R8VEC_CONCATENATE_NEW concatenates two R8VEC's.
- R8VEC_CONVOLUTION returns the convolution of two R8VEC's.
- R8VEC_CONVOLUTION_CIRC returns the discrete circular convolution of two R8VEC's.
- R8VEC_COPY copies an R8VEC.
- R8VEC_COPY_NEW copies an R8VEC to a new R8VEC.
- R8VEC_CORRELATION returns the correlation of two R8VEC's.
- R8VEC_COVAR computes the covariance of two vectors.
- R8VEC_CROSS_PRODUCT_2D finds the cross product of a pair of R8VEC's in 2D.
- R8VEC_CROSS_PRODUCT_AFFINE_2D finds the affine cross product in 2D.
- R8VEC_CROSS_PRODUCT_3D computes the cross product of two R8VEC's in 3D.
- R8VEC_CROSS_PRODUCT_AFFINE_3D computes the affine cross product in 3D.
- R8VEC_CUM_NEW computes the cumulutive sums of an R8VEC.
- R8VEC_CUM0_NEW computes the cumulutive sums of an R8VEC.
- R8VEC_DIF computes coefficients for estimating the N-th derivative.
- R8VEC_DIFF_NORM returns the L2 norm of the difference of R8VEC's.
- R8VEC_DIFF_NORM_L1 returns the L1 norm of the difference of R8VEC's.
- R8VEC_DIFF_NORM_L2 returns the L2 norm of the difference of R8VEC's.
- R8VEC_DIFF_NORM_LI returns the L-oo norm of the difference of R8VEC's.
- R8VEC_DIFF_NORM_SQUARED: square of the L2 norm of the difference of R8VEC's.
- R8VEC_DIRECT_PRODUCT creates a direct product of R8VEC's.
- R8VEC_DIRECT_PRODUCT2 creates a direct product of R8VEC's.
- R8VEC_DISTANCE returns the Euclidean distance between two R8VEC's.
- R8VEC_DISTINCT is true if the entries in an R8VEC are distinct.
- R8VEC_DIVIDE divides an R8VEC by a nonzero scalar.
- R8VEC_DOT_PRODUCT computes the dot product of a pair of R8VEC's.
- R8VEC_DOT_PRODUCT_AFFINE computes the affine dot product.
- R8VEC_ENTROPY computes the entropy of an R8VEC.
- R8VEC_EQ is true if every pair of entries in two R8VEC's is equal.
- R8VEC_EVEN returns an R8VEC of values evenly spaced between ALO and AHI.
- R8VEC_EVEN_NEW returns an R8VEC of values evenly spaced between ALO and AHI.
- R8VEC_EVEN_SELECT returns the I-th of N evenly spaced values in [ XLO, XHI ].
- R8VEC_EVEN2 linearly interpolates new numbers into an R8VECa.
- R8VEC_EVEN2_SELECT returns the I-th of N evenly spaced midpoint values.
- R8VEC_EVEN3 evenly interpolates new data into an R8VEC.
- R8VEC_EXPAND_LINEAR linearly interpolates new data into an R8VEC.
- R8VEC_EXPAND_LINEAR2 linearly interpolates new data into an R8VEC.
- R8VEC_FIRST_INDEX indexes the first occurrence of values in an R8VEC.
- R8VEC_FRAC searches for the K-th smallest entry in an R8VEC.
- R8VEC_FRACTION returns the fraction parts of an R8VEC.
- R8VEC_GT == ( A1 > A2 ) for two R8VEC's.
- R8VEC_HEAP_A reorders an R8VEC into a ascending heap.
- R8VEC_HEAP_D reorders an R8VEC into a descending heap.
- R8VEC_HISTOGRAM histograms an R8VEC.
- R8VEC_HOUSE_COLUMN defines a Householder premultiplier that "packs" a column.
- R8VEC_I4VEC_DOT_PRODUCT computes the dot product of an R8VEC and an I4VEC.
- R8VEC_IN_01 is TRUE if the entries of an R8VEC are in the range [0,1].
- R8VEC_IN_AB is TRUE if the entries of an R8VEC are in the range [A,B].
- R8VEC_INDEX_DELETE_ALL deletes all occurrences of a value from an indexed sorted list.
- R8VEC_INDEX_DELETE_DUPES deletes duplicates from an indexed sorted list.
- R8VEC_INDEX_DELETE_ONE deletes one copy of a value from an indexed sorted list.
- R8VEC_INDEX_INSERT inserts a value in an indexed sorted list.
- R8VEC_INDEX_INSERT_UNIQUE inserts a unique value in an indexed sorted list.
- R8VEC_INDEX_ORDER sorts an R8VEC using an index vector.
- R8VEC_INDEX_SEARCH searches for a value in an indexed sorted R8VEC.
- R8VEC_INDEX_SORT_UNIQUE creates a sort index for an R8VEC.
- R8VEC_INDEX_SORTED_RANGE: search index sorted vector for elements in a range.
- R8VEC_INDEXED_HEAP_D creates a descending heap from an indexed R8VEC.
- R8VEC_INDEXED_HEAP_D_EXTRACT: extract from heap descending indexed R8VEC.
- R8VEC_INDEXED_HEAP_D_INSERT: insert value into heap descending indexed R8VEC.
- R8VEC_INDEXED_HEAP_D_MAX: maximum value in heap descending indexed R8VEC.
- R8VEC_INDICATOR0 sets an R8VEC to the indicator vector (0,1,2,...)
- R8VEC_INDICATOR0_NEW sets an R8VEC to the indicator vector {0,1,2,...}.
- R8VEC_INDICATOR1 sets an R8VEC to the indicator vector (1,2,3,...)
- R8VEC_INDICATOR1_NEW sets an R8VEC to the indicator vector {1,2,3,...}.
- R8VEC_INSERT inserts a value into an R8VEC.
- R8VEC_INSIGNIFICANT determines if an R8VEC is insignificant.
- R8VEC_IS_INT is TRUE if an R8VEC is integral.
- R8VEC_IS_NONNEGATIVE is true if all entries in an R8VEC are nonnegative.
- R8VEC_IS_ZERO is true if the entries in an R8VEC are all zero.
- R8VEC_LEGENDRE_NEW creates a vector of Chebyshev spaced values.
- R8VEC_LINSPACE creates a vector of linearly spaced values.
- R8VEC_LINSPACE_NEW creates a vector of linearly spaced values.
- R8VEC_LINSPACE2_NEW creates a vector of linearly spaced values.
- R8VEC_LT == ( A1 < A2 ) for two R8VEC's.
- R8VEC_MASK_PRINT prints a masked R8VEC.
- R8VEC_MAX returns the value of the maximum element in an R8VEC.
- R8VEC_MAX_ABS_INDEX returns the index of the maximum absolute value in an R8VEC.
- R8VEC_MAX_INDEX returns the index of the maximum value in an R8VEC.
- R8VEC_MEAN returns the mean of an R8VEC.
- R8VEC_MEAN_GEOMETRIC returns the geometric mean of an R8VEC.
- R8VEC_MEDIAN returns the median of an unsorted R8VEC.
- R8VEC_MESH_2D creates a 2D mesh from X and Y vectors.
- R8VEC_MIDSPACE_NEW creates a vector of linearly spaced values.
- R8VEC_MIN returns the value of the minimum element in an R8VEC.
- R8VEC_MIN_INDEX returns the index of the minimum value in an R8VEC.
- R8VEC_MIN_POS returns the minimum positive value of an R8VEC.
- R8VEC_MIRROR_NEXT steps through all sign variations of an R8VEC.
- R8VEC_NEGATIVE_STRICT: all entries of R8VEC are strictly negative.
- R8VEC_NINT rounds the entries of an R8VEC.
- R8VEC_NINT_NEW rounds the entries of an R8VEC.
- R8VEC_NORM returns the L2 norm of an R8VEC.
- R8VEC_NORM_AFFINE returns the affine L2 norm of an R8VEC.
- R8VEC_NORM_L0 returns the l0 "norm" of an R8VEC.
- R8VEC_NORM_L1 returns the L1 norm of an R8VEC.
- R8VEC_NORM_L2 returns the L2 norm of an R8VEC.
- R8VEC_NORM_LI returns the L-oo norm of an R8VEC.
- R8VEC_NORM_LP returns the LP norm of an R8VEC.
- R8VEC_NORMAL_01 returns a unit pseudonormal R8VEC.
- R8VEC_NORMAL_01_NEW returns a unit pseudonormal R8VEC.
- R8VEC_NORMAL_AB_NEW returns a scaled pseudonormal R8VEC.
- R8VEC_NORMALIZE normalizes an R8VEC.
- R8VEC_NORMALIZE_L1 normalizes an R8VEC to have unit sum.
- R8VEC_NORMSQ returns the squared L2 norm of an R8VEC.
- R8VEC_NORMSQ_AFFINE returns the squared affine L2 norm of an R8VEC.
- R8VEC_ONES_NEW creates a vector of 1's.
- R8VEC_ORDER_TYPE determines if an R8VEC is (non)strictly ascending/descending.
- R8VEC_PART_QUICK_A reorders an R8VEC as part of a quick sort.
- R8VEC_PERMUTE applies a 0-based permutation to an R8VEC.
- R8VEC_PERMUTE_CYCLIC performs a cyclic permutation of an R8VEC.
- R8VEC_PERMUTE_UNIFORM randomly permutes an R8VEC.
- R8VEC_POLARIZE decomposes an R8VEC into normal and parallel components.
- R8VEC_POSITIVE_STRICT: all entries of R8VEC are strictly positive.
- R8VEC_PRINT prints an R8VEC.
- R8VEC_PRINT_16 prints an R8VEC to 16 decimal places.
- R8VEC_PRINT_PART prints "part" of an R8VEC.
- R8VEC_PRINT_SOME prints "some" of an R8VEC.
- R8VEC_PRODUCT returns the product of the entries of an R8VEC.
- R8VEC_RANGE finds the range of Y's within a restricted X range.
- R8VEC_RANGE_2 updates a range to include a new R8VEC
- R8VEC_REVERSE reverses the elements of an R8VEC.
- R8VEC_RMS returns the RMS norm of an R8VEC.
- R8VEC_ROTATE "rotates" the entries of an R8VEC in place.
- R8VEC_RUNNING_AVERAGE computes the running average of an R8VEC.
- R8VEC_RUNNING_SIGN3 computes the running threeway sign of an R8VEC.
- R8VEC_RUNNING_SUM computes the running sum of an R8VEC.
- R8VEC_SCALAR_TRIPLE_PRODUCT computes the scalar triple product.
- R8VEC_SCALE multiplies an R8VEC by a scale factor.
- R8VEC_SEARCH_BINARY_A searches an ascending sorted R8VEC.
- R8VEC_SHIFT performs a shift on an R8VEC.
- R8VEC_SHIFT_CIRCULAR performs a circular shift on an R8VEC.
- R8VEC_SORT_BUBBLE_A ascending sorts an R8VEC using bubble sort.
- R8VEC_SORT_BUBBLE_D descending sorts an R8VEC using bubble sort.
- R8VEC_SORT_HEAP_A ascending sorts an R8VEC using heap sort.
- R8VEC_SORT_HEAP_D descending sorts an R8VEC using heap sort.
- R8VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R8VEC
- R8VEC_SORT_HEAP_INDEX_A_NEW: indexed heap ascending sort of an R8VEC
- R8VEC_SORT_HEAP_INDEX_D_NEW: indexed heap descending sort of an R8VEC.
- R8VEC_SORT_HEAP_INDEX_D_NEW: indexed heap descending sort of an R8VEC.
- R8VEC_SORT_HEAP_MASK_A: indexed heap ascending sort of a masked R8VEC.
- R8VEC_SORT_INSERT_A ascending sorts an R8VEC using an insertion sort.
- R8VEC_SORT_INSERT_INDEX_A ascending index sorts an R8VEC using insertion.
- R8VEC_SORT_QUICK_A ascending sorts an R8VEC using quick sort.
- R8VEC_SORT_SHELL_A ascending sorts an R8VEC using Shell's sort.
- R8VEC_SORTED_MERGE_A merges two ascending sorted R8VEC's.
- R8VEC_SORTED_NEAREST returns the nearest element in a sorted R8VEC.
- R8VEC_SORTED_RANGE searches a sorted vector for elements in a range.
- R8VEC_SORTED_SPLIT "splits" a sorted R8VEC, given a splitting value.
- R8VEC_SORTED_UNDEX returns unique sorted indexes for a sorted R8VEC.
- R8VEC_SORTED_UNIQUE finds the unique elements in a sorted R8VEC.
- R8VEC_SORTED_UNIQUE_COUNT counts unique elements in a sorted R8VEC.
- R8VEC_SORTED_UNIQUE_HIST histograms unique elements of a sorted R8VEC.
- R8VEC_SPLIT "splits" an unsorted R8VEC based on a splitting value.
- R8VEC_STD returns the standard deviation of an R8VEC.
- R8VEC_STEP evaluates a unit step function.
- R8VEC_STUTTER makes a "stuttering" copy of an R8VEC.
- R8VEC_STUTTER_NEW makes a "stuttering" copy of an R8VEC.
- R8VEC_SUM returns the sum of an R8VEC.
- R8VEC_SWAP swaps the entries of two R8VEC's.
- R8VEC_TRANSPOSE_PRINT prints an R8VEC "transposed".
- R8VEC_UNDEX returns unique sorted indexes for an R8VEC.
- R8VEC_UNIFORM_01 returns a unit pseudorandom R8VEC.
- R8VEC_UNIFORM_01_NEW returns a new unit pseudorandom R8VEC.
- R8VEC_UNIFORM_AB returns a scaled pseudorandom R8VEC.
- R8VEC_UNIFORM_AB_NEW returns a scaled pseudorandom R8VEC.
- R8VEC_UNIFORM_ABVEC returns a scaled pseudorandom R8VEC.
- R8VEC_UNIFORM_ABVEC_NEW returns a scaled pseudorandom R8VEC.
- R8VEC_UNIFORM_UNIT_NEW generates a random unit vector.
- R8VEC_UNIQUE_COUNT counts the unique elements in an unsorted R8VEC.
- R8VEC_UNIQUE_INDEX indexes the unique occurrence of values in an R8VEC.
- R8VEC_VARIANCE returns the variance of an R8VEC.
- R8VEC_VECTOR_TRIPLE_PRODUCT computes the vector triple product.
- R8VEC_WRITE writes an R8VEC to a file.
- R8VEC_ZEROS zeroes an R8VEC.
- R8VEC_ZEROS_NEW creates and zeroes an R8VEC.
- R8VEC2_COMPARE compares two elements of an R8VEC2.
- R8VEC2_PRINT prints an R8VEC2.
- R8VEC2_PRINT_SOME prints "some" of an R8VEC2.
- R8VEC2_SORT_A ascending sorts an R8VEC2.
- R8VEC2_SORT_D descending sorts an R8VEC2.
- R8VEC2_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R8VEC2.
- R8VEC2_SORTED_UNIQUE keeps the unique elements in an R8VEC2.
- R8VEC2_SORTED_UNIQUE_INDEX indexes unique elements in a sorted R8VEC2.
- R8VEC2_SUM_MAX_INDEX returns the index of the maximum sum of two R8VEC's.
- R8VEC3_PRINT prints a triple of real vectors.
- ROOTS_TO_R8POLY converts polynomial roots to polynomial coefficients.
- S_LEN_TRIM returns the length of a string to the last nonblank.
- SORT_HEAP_EXTERNAL externally sorts a list of items into ascending order.
- TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to the C++ source codes.
Last revised on 26 February 2016.