SUBPAK
A Utility Library
SUBPAK
is a FORTRAN90 library which
contains a number of utility routines.
SUBPAK contains routines for
a variety of tasks, including the greatest common divisor of two
integers, searching, sorting, range, and unique elements of vectors,
determinants and inverses of small matrices, and all the primes
less than 10,000.
Various types of data can be handled. The routine names
are chosen to indicate the corresponding type:
-
C4, complex ( kind = 4 )
-
C8, complex ( kind = 8 )
-
CH, character
-
I4, integer ( kind = 4 )
-
I8, integer ( kind = 8 )
-
R4, real ( kind = 4 )
-
R8, real ( kind = 8 )
-
S, character string
In some cases, the typical data object is a one dimension vector
or a two dimensional matrix of values. In these cases,
part of the name will include the key:
-
VEC, a vector of data;
-
MAT, a matrix of data;
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Related Data and Programs:
C4LIB,
a FORTRAN90 library which
implements certain elementary functions for single precision complex variables;
C8LIB,
a FORTRAN90 library which
implements certain elementary functions for double precision complex variables;
SUBPAK is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Reference:
-
Milton Abramowitz, Irene Stegun,
Handbook of Mathematical Functions,
National Bureau of Standards, 1964,
ISBN: 0-486-61272-4,
LC: QA47.A34.
-
Book Industry Study Group,
The Evolution in Product Identification:
Sunrise 2005 and the ISBN-13,
http://www.bisg.org/docs/The_Evolution_in_Product_ID.pdf
-
Paul Bratley, Bennett Fox, Harald Niederreiter,
Algorithm 738:
Programs to Generate Niederreiter's Low-Discrepancy Sequences,
ACM Transactions on Mathematical Software,
Volume 20, Number 4, 1994, pages 494-495.
-
Paul Bratley, Bennett Fox, Linus Schrage,
A Guide to Simulation,
Second Edition,
Springer, 1987,
ISBN: 0387964673,
LC: QA76.9.C65.B73.
-
Thomas Cormen, Charles Leiserson, Ronald Rivest,
Introduction to Algorithms,
MIT Press, 2001,
ISBN: 0262032937,
LC: QA76.C662.
-
Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
LINPACK User's Guide,
SIAM, 1979,
ISBN13: 978-0-898711-72-1,
LC: QA214.L56.
-
Bennett Fox,
Algorithm 647:
Implementation and Relative Efficiency of Quasirandom
Sequence Generators,
ACM Transactions on Mathematical Software,
Volume 12, Number 4, December 1986, pages 362-376.
-
John Halton,
On the efficiency of certain quasi-random sequences of points
in evaluating multi-dimensional integrals,
Numerische Mathematik,
Volume 2, Number 1, December 1960, pages 84-90.
-
John Halton, GB Smith,
Algorithm 247: Radical-Inverse Quasi-Random Point Sequence,
Communications of the ACM,
Volume 7, Number 12, December 1964, pages 701-702.
-
Ralph Hartley,
A More Symmetrical Fourier Analysis Applied to Transmission
Problems,
Proceedings of the Institute of Radio Engineers,
Volume 30, 1942, pages 144-150.
-
Donald Kreher, Douglas Simpson,
Combinatorial Algorithms,
CRC Press, 1998,
ISBN: 0-8493-3988-X,
LC: QA164.K73.
-
Peter Lewis, Allen Goodman, James Miller,
A Pseudo-Random Number Generator for the System/360,
IBM Systems Journal,
Volume 8, 1969, pages 136-143.
-
MIL-STD 1753,
Fortran, DoD Supplement to American National Standard X3.9-1978,
November, 1978,
../../papers/mil_std_1753.html
-
Albert Nijenhuis, Herbert Wilf,
Combinatorial Algorithms for Computers and Calculators,
Second Edition,
Academic Press, 1978,
ISBN: 0-12-519260-6,
LC: QA164.N54.
-
Branch Rickey,
Goodby to Some Old Baseball Ideas,
Life Magazine,
2 August 1954.
-
Alan Schwarz,
Looking Beyond the Batting Average,
The New York Times,
Sunday, 1 August 2004.
-
Helmut Spaeth,
Cluster Analysis Algorithms
for Data Reduction and Classification of Objects,
Ellis Horwood, 1980,
ISBN: 0470269464,
LC: QA278.S6813.
-
Pete Stewart,
Efficient Generation of Random Orthogonal Matrices With an Application
to Condition Estimators,
SIAM Journal on Numerical Analysis,
Volume 17, Number 3, June 1980, pages 403-409.
-
Daniel Zwillinger, editor,
CRC Standard Mathematical Tables and Formulae,
30th Edition,
CRC Press, 1996,
ISBN: 0-8493-2479-3,
LC: QA47.M315.
Source Code:
Examples and Tests:
List of Routines:
-
ANGLE_SHIFT shifts angle ALPHA to lie between BETA and BETA+2PI.
-
ANGLE_SHIFT_DEG shifts angle ALPHA to lie between BETA and BETA+360.
-
ANGLE_TO_RGB returns a color on the perimeter of the color hexagon.
-
AXIS_LIMITS returns "nice" axis limits for a plot.
-
BAR_CHECK computes the check digit for a barcode.
-
BAR_CODE constructs the 113 character barcode from 11 digits.
-
BAR_DIGIT_CODE_LEFT returns the 7 character left bar code for a digit.
-
BAR_DIGIT_CODE_RIGHT returns the 7 character right bar code for a digit.
-
BMI_ENGLISH computes the body mass index given English measurements.
-
BMI_METRIC computes the body mass index given metric measurements.
-
CH_IS_DIGIT is TRUE if C is a decimal digit.
-
DEGREES_TO_RADIANS converts an angle measure from degrees to radians.
-
E_CONSTANT returns the value of E.
-
EULER_CONSTANT returns the value of the Euler-Mascheroni constant.
-
FAC_DIV divides two quantities represented as prime factors.
-
FAC_GCD finds the GCD of two products of prime factors.
-
FAC_LCM finds the LCM of two products of prime factors.
-
FAC_MUL multiplies two quantities represented as prime factors.
-
FAC_PRINT prints a product of prime factors.
-
FAC_TO_I4 converts a product of prime factors into an integer.
-
FAC_TO_RAT converts a prime factorization into a rational value.
-
FEET_TO_METERS converts a measurement in feet to meters.
-
GAUSS_SUM evaluates a function that is the sum of Gaussians.
-
GET_SEED returns a seed for the random number generator.
-
GET_UNIT returns a free FORTRAN unit number.
-
GRID1 finds grid points between X1 and X2 in N dimensions.
-
GRID1N finds the I-th grid point between X1 and X2 in N dimensions.
-
GRID2 computes grid points between X1 and X2 in N dimensions.
-
GRID2N computes one grid point between X1 and X2 in N dimensions.
-
GRID3 computes a grid on the parallelogram set by X1, X2 and X3 in N space.
-
GRID3N computes a parallelogram grid on 3 points in N dimensions.
-
GRID4 computes a grid on the parallelogram set by X1, X2 and X3 in N space.
-
GRID4N computes a single point on a parallelogram grid in N space.
-
I4_BIT_HI1 returns the position of the high 1 bit base 2 in an I4.
-
I4_BIT_LO0 returns the position of the low 0 bit base 2 in an I4.
-
I4_BIT_LO1 returns the position of the low 1 bit base 2 in an I4.
-
I4_BIT_REVERSE reverses the bits in an I4.
-
I4_CHARACTERISTIC gives the characteristic for an I4.
-
I4_CHOOSE computes the binomial coefficient C(N,K).
-
I4_DIV_ROUNDED computes the rounded result of I4 division.
-
I4_DIVP returns the smallest multiple of J greater than or equal to I.
-
I4_EVEN returns TRUE if an I4 is even.
-
I4_FACTORIAL computes the factorial of N.
-
I4_GCD finds the greatest common divisor of two I4's.
-
I4_GCDB finds the greatest common divisor of the form K**N of two I4's.
-
I4_HUGE returns a "huge" I4.
-
I4_HUGE_NORMALIZER returns the "normalizer" for I4_HUGE.
-
I4_IS_POWER_OF_2 reports whether an I4 is a power of 2.
-
I4_IS_PRIME reports whether an I4 is prime.
-
I4_LCM computes the least common multiple of two I4's.
-
I4_LOG_10 returns the integer part of the logarithm base 10 of an I4.
-
I4_LOG_2 returns the integer part of the logarithm base 2 of an I4.
-
I4_LOG_I4 returns the logarithm of an I4 to an I4 base.
-
I4_LOG_R8 returns the logarithm of an I4 to an R8 base.
-
I4_MANT computes the "mantissa" of a double precision number.
-
I4_MODDIV breaks an I4 into a multiple of a divisor and remainder.
-
I4_MODP returns the nonnegative remainder of I4 division.
-
I4_MOP returns the I-th power of -1 as an I4 value.
-
I4_ODD returns TRUE if an I4 is odd.
-
I4_POWER returns the integer power of an I4.
-
I4_SIGN evaluates the sign of an I4.
-
I4_SWAP swaps two I4's.
-
I4_SWAP3 swaps three I4's.
-
I4_TO_ANGLE maps I4's to points on a circle.
-
I4_TO_DIGITS_DECIMAL determines the last N decimal digits of an I4.
-
I4_TO_FAC converts an I4 into a product of prime factors.
-
I4_TO_HALTON computes one element of a leaped Halton subsequence.
-
I4_TO_ISBN converts an I4 to an ISBN digit.
-
I4_UNIFORM returns a scaled pseudorandom I4.
-
I4_UNSWAP3 unswaps three I4's.
-
I4_WALSH_1D evaluates the Walsh function.
-
I4_WIDTH returns the "width" of an I4.
-
I4_WRAP forces an I4 to lie between given limits by wrapping.
-
I4_XOR calculates the exclusive OR of two I4's.
-
I43MAT_FLIP_COLS swaps the columns of an I43MAT.
-
I43MAT_FLIP_ROWS swaps the rows of an I43MAT.
-
I4COL_COMPARE compares columns I and J of an I4COL.
-
I4COL_FIND searches an I4COL for a particular column value.
-
I4COL_FIND_ITEM searches an I4COL for a given scalar value.
-
I4COL_FIND_PAIR_WRAP searches an I4COL for a pair of items.
-
I4COL_FIRST_INDEX indexes the first occurrence of values in an I4COL.
-
I4COL_SORT_A ascending sorts an I4COL.
-
I4COL_SORT_D descending sorts an I4COL.
-
I4COL_SORT2_A ascending sorts the elements of each column of an I4COL.
-
I4COL_SORT2_D descending sorts elements of each column of an I4COL.
-
I4COL_SORTED_SINGLETON_COUNT counts singletons in an I4COL.
-
I4COL_SORTED_UNIQUE keeps unique elements in a sorted I4COL.
-
I4COL_SORTED_UNIQUE_COUNT counts unique elements in an I4COL.
-
I4COL_SWAP swaps columns J1 and J2 of an I4COL.
-
I4COL_UNIQUE_INDEX indexes the unique occurrence of values in an I4COL.
-
I4INT_TO_R8INT maps an I4INT to an R8INT.
-
I4MAT_BORDER_ADD adds a "border" to an I4MAT.
-
I4MAT_BORDER_CUT cuts the "border" of an I4MAT.
-
I4MAT_ELIM carries out exact Gauss elimination on an I4MAT.
-
I4MAT_FLIP_COLS swaps the columns of an I4MAT.
-
I4MAT_FLIP_ROWS swaps the rows of an I4MAT.
-
I4MAT_INDICATOR sets up an "indicator" I4MAT.
-
I4MAT_L1_INVERSE inverts a unit lower triangular I4MAT.
-
I4MAT_MAX_INDEX returns the location of the maximum of an I4MAT.
-
I4MAT_MIN_INDEX returns the location of the minimum of an I4MAT.
-
I4MAT_MM multiplies two I4MAT's.
-
I4MAT_PERM permutes the rows and columns of a square I4MAT.
-
I4MAT_PERM_UNIFORM selects a random permutation of an I4MAT.
-
I4MAT_PERM2 permutes the rows and columns of a rectangular I4MAT.
-
I4MAT_PERM2_UNIFORM selects a random permutation of an I4MAT.
-
I4MAT_PRINT prints an I4MAT.
-
I4MAT_PRINT_SOME prints some of an I4MAT.
-
I4MAT_RED divides out common factors in a row or column of an I4MAT.
-
I4MAT_TRANSPOSE_PRINT prints an I4MAT, transposed.
-
I4MAT_TRANSPOSE_PRINT_SOME prints some of the transpose of an I4MAT.
-
I4MAT_U1_INVERSE inverts a unit upper triangular I4MAT.
-
I4MAT_UNIFORM returns a scaled pseudorandom I4MAT.
-
I4ROW_COMPARE compares two rows of an I4ROW.
-
I4ROW_FIND_ITEM searches the rows of an I4ROW for a given value.
-
I4ROW_FIND_PAIR_WRAP searches rows of an I4ROW for a pair of items.
-
I4ROW_MAX returns the maximums of the rows of an I4ROW.
-
I4ROW_MEAN returns the means of the rows of an I4ROW.
-
I4ROW_MIN returns the minimums of the rows of an I4ROW.
-
I4ROW_SORT_A ascending sorts the rows of an I4ROW.
-
I4ROW_SORT_D descending sorts the rows of an I4ROW.
-
I4ROW_SORT2_D descending sorts the elements of each row of an I4ROW.
-
I4ROW_SORTED_UNIQUE keeps unique elements in an I4ROW.
-
I4ROW_SORTED_UNIQUE_COUNT counts unique elements in an I4ROW.
-
I4ROW_SUM returns the sums of the rows of an I4ROW.
-
I4ROW_SWAP swaps two rows of an I4ROW.
-
I4ROW_VARIANCE returns the variances of an I4ROW.
-
I4VEC_AMAX returns the largest magnitude in an I4VEC.
-
I4VEC_AMAX_INDEX returns the index of the largest magnitude in an I4VEC.
-
I4VEC_AMIN returns the smallest magnitude in an I4VEC.
-
I4VEC_AMIN_INDEX returns the index of the smallest magnitude in an I4VEC.
-
I4VEC_AMINZ returns the smallest nonzero magnitude in an I4VEC.
-
I4VEC_AMINZ_INDEX returns the smallest nonzero magnitude in an I4VEC.
-
I4VEC_ASCEND_SUB computes the longest ascending subsequence of an I4VEC.
-
I4VEC_ASCENDS determines if an I4VEC is (weakly) ascending.
-
I4VEC_AXPY: Y(I) := Y(I) + A * X(I).
-
I4VEC_BRACKET searches a sorted I4VEC for successive brackets of a value.
-
I4VEC_COMPARE compares two I4VEC's.
-
I4VEC_COPY copies an I4VEC.
-
I4VEC_CUM computes the cumulutive sum of the entries of an I4VEC.
-
I4VEC_DESCENDS determines if an I4VEC is decreasing.
-
I4VEC_DIRECT_PRODUCT creates a direct product of I4VEC's.
-
I4VEC_DIRECT_PRODUCT2 creates a direct product of I4VEC's.
-
I4VEC_EVEN_ALL is TRUE if all entries of an I4VEC are even.
-
I4VEC_EVEN_ANY is TRUE if any entry of an I4VEC is even.
-
I4VEC_FIRST_INDEX indexes the first occurrence of values in an I4VEC.
-
I4VEC_FRAC searches for the K-th smallest element in an I4VEC.
-
I4VEC_GCD returns the greatest common divisor of an I4VEC.
-
I4VEC_HEAP_A reorders an I4VEC into an ascending heap.
-
I4VEC_HEAP_D reorders an I4VEC into an descending heap.
-
I4VEC_HEAP_D_EXTRACT extracts the maximum value from a descending heap.
-
I4VEC_HEAP_D_INSERT inserts a new I4 into a descending heap.
-
I4VEC_HEAP_D_MAX returns the maximum value in a descending heap of integers.
-
I4VEC_HISTOGRAM computes a histogram of the elements of an I4VEC.
-
I4VEC_INDEX returns the first location of a given value in an I4VEC
-
I4VEC_INDEX_DELETE_ALL deletes a value in an indexed sorted I4VEC.
-
I4VEC_INDEX_DELETE_DUPES deletes duplicates from an indexed sorted I4VEC.
-
I4VEC_INDEX_DELETE_ONE deletes one copy of an I4 from an indexed sorted list.
-
I4VEC_INDEX_INSERT inserts an I4 into an indexed sorted I4VEC.
-
I4VEC_INDEX_INSERT_UNIQUE inserts a unique I4 into an indexed sorted I4VEC.
-
I4VEC_INDEX_ORDER sorts an I4VEC using an index vector.
-
I4VEC_INDEX_SEARCH searches for an I4 in an indexed sorted I4VEC.
-
I4VEC_INDEX_SORT_UNIQUE creates a sorted unique index for an I4VEC.
-
I4VEC_INDICATOR sets an I4VEC to the indicator vector.
-
I4VEC_INSERT inserts a value into an I4VEC.
-
I4VEC_LCM returns the least common multiple of an I4VEC.
-
I4VEC_MASK_PRINT prints a masked I4VEC.
-
I4VEC_MAX computes the maximum element of an I4VEC.
-
I4VEC_MAX_INDEX computes the index of a maximum element of an I4VEC.
-
I4VEC_MAX_INDEX_LAST returns the last maximal element location in an I4VEC
-
I4VEC_MEAN returns the mean of an I4VEC.
-
I4VEC_MEDIAN returns the median of an unsorted I4VEC.
-
I4VEC_MERGE_A merges two ascending sorted I4VEC.
-
I4VEC_MIN computes the minimum element of an I4VEC.
-
I4VEC_MIN_INDEX computes the index of the minimum element of an I4VEC.
-
I4VEC_NONZERO_COUNT counts the nonzero entries in an I4VEC.
-
I4VEC_NONZERO_FIRST left-shifts all nonzeros in an I4VEC.
-
I4VEC_ODD_ALL is TRUE if all entries of an I4VEC are odd.
-
I4VEC_ODD_ANY is TRUE if any entry of an I4VEC is odd.
-
I4VEC_ORDER_TYPE determines if I4VEC is (non)strictly ascending/descending.
-
I4VEC_PAIRWISE_PRIME checks whether an I4VEC's entries are pairwise prime.
-
I4VEC_PART partitions an integer NVAL into N nearly equal parts.
-
I4VEC_PART_QUICK_A reorders an I4VEC as part of a quick sort.
-
I4VEC_PERMUTE permutes an I4VEC in place.
-
I4VEC_PERMUTE_UNIFORM randomly permutes an I4VEC.
-
I4VEC_PRINT prints an I4VEC.
-
I4VEC_PRINT_SOME prints "some" of an I4VEC.
-
I4VEC_PRODUCT returns the product of the entries of an I4VEC.
-
I4VEC_RED divides out common factors in an I4VEC.
-
I4VEC_REVERSE reverses the elements of an I4VEC.
-
I4VEC_ROTATE rotates an I4VEC in place.
-
I4VEC_RUN_COUNT counts runs of equal values in an I4VEC.
-
I4VEC_SEARCH_BINARY_A searches an ascending sorted I4VEC for a value.
-
I4VEC_SEARCH_BINARY_D searches a descending sorted I4VEC for a value.
-
I4VEC_SORT_BUBBLE_A ascending sorts an I4VEC using bubble sort.
-
I4VEC_SORT_BUBBLE_D descending sorts an I4VEC using bubble sort.
-
I4VEC_SORT_HEAP_A ascending sorts an I4VEC using heap sort.
-
I4VEC_SORT_HEAP_D descending sorts an I4VEC using heap sort.
-
I4VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an I4VEC.
-
I4VEC_SORT_HEAP_INDEX_D does an indexed heap descending sort of an I4VEC.
-
I4VEC_SORT_INSERT_A uses an ascending insertion sort on an I4VEC.
-
I4VEC_SORT_INSERT_D uses a descending insertion sort on an I4VEC.
-
I4VEC_SORT_QUICK_A ascending sorts an I4VEC using quick sort.
-
I4VEC_SORT_SHELL_A ascending sorts an I4VEC using Shell's sort.
-
I4VEC_SORTED_UNDEX returns unique sorted indexes for a sorted I4VEC.
-
I4VEC_SORTED_UNIQUE finds the unique elements in a sorted I4VEC.
-
I4VEC_SORTED_UNIQUE_COUNT counts the unique elements in a sorted I4VEC.
-
I4VEC_SORTED_UNIQUE_HIST histograms the unique elements of a sorted I4VEC.
-
I4VEC_SPLIT "splits" an unsorted I4VEC based on a splitting value.
-
I4VEC_STD returns the standard deviation of an I4VEC.
-
I4VEC_SUM returns the sum of the entries of an I4VEC.
-
I4VEC_SWAP swaps the entries of two I4VEC's.
-
I4VEC_TRANSPOSE_PRINT prints an I4VEC "transposed".
-
I4VEC_UNDEX returns unique sorted indexes for an I4VEC.
-
I4VEC_UNIFORM returns a scaled pseudorandom I4VEC.
-
I4VEC_UNIQUE_COUNT counts the unique elements in an unsorted I4VEC.
-
I4VEC_UNIQUE_INDEX indexes the unique occurrence of values in an I4VEC.
-
I4VEC_VALUE_INDEX indexes entries equal to a given value in an I4VEC.
-
I4VEC_VALUE_NUM counts entries equal to a given value in an I4VEC.
-
I4VEC_VARIANCE returns the variance of an I4VEC.
-
I4VEC_WIDTH returns the "width" of an I4VEC.
-
I4VEC_ZERO sets the entries of an I4VEC to 0.
-
I4VEC2_COMPARE compares entries of an I4VEC2.
-
I4VEC2_PRINT prints a pair of integer vectors.
-
I4VEC2_SORT_A ascending sorts a vector of pairs of integers.
-
I4VEC2_SORT_D descending sorts a vector of pairs of integers.
-
I4VEC2_SORTED_UNIQUE keeps the unique elements in a sorted I4VEC2.
-
I8_HUGE returns a "huge" I8.
-
I8_HUGE_NORMALIZER returns the "normalizer" for I8_HUGE.
-
I8_XOR calculates the exclusive OR of two integers.
-
I4I4_SORT_A ascending sorts a pair of integers.
-
I4I4I4_SORT_A ascending sorts a triple of integers.
-
IJ_NEXT returns the next matrix index.
-
IJ_NEXT_GT returns the next matrix index, with the constraint that I < J.
-
INDEX_BOX2_NEXT_2D produces indices on the surface of a box in 2D.
-
INDEX_BOX2_NEXT_3D produces indices on the surface of a box in 3D.
-
ISBN_CHECK checks an ISBN code.
-
ISBN_FILL fills in a missing digit in an ISBN code.
-
ISBN_TO_I4 converts an ISBN character into an integer.
-
ISET2_COMPARE compares two I2 sets.
-
ISET2_INDEX_INSERT_UNIQUE inserts unique values into an indexed sorted list.
-
ISET2_INDEX_SEARCH searches for an I2 set value in an indexed sorted list.
-
LCM_12N computes the least common multiple of the integers 1 through N.
-
LUHN_CHECK computes the Luhn checksum for a string of digits.
-
LVEC_PRINT prints an LVEC.
-
LVEC_PRINT_SOME prints "some" of an LVEC.
-
PAUSE_INPUT waits until an input character is entered.
-
PERM_CHECK checks that a vector represents a permutation.
-
PERM_CYCLE analyzes a permutation.
-
PERM_FREE reports the number of unused items in a partial permutation.
-
PERM_INVERSE inverts a permutation "in place".
-
PERM_NEXT computes all of the permutations on N objects, one at a time.
-
PERM_PRINT prints a permutation.
-
PERM_UNIFORM selects a random permutation of N objects.
-
POUNDS_TO_KILOGRAMS converts a measurement in pounds to kilograms.
-
PRIME returns any of the first PRIME_MAX prime numbers.
-
PRIME_GE returns the smallest prime greater than or equal to N.
-
PRIMER computes the prime numbers up to a given limit.
-
R4_ATAN computes the inverse tangent of the ratio Y / X.
-
R4_EPSILON returns the R4 roundoff unit.
-
R4_EXP computes the exponential function, avoiding overflow and underflow.
-
R4_HUGE returns the largest legal R4.
-
R4_SWAP swaps two R4's.
-
R4_TINY returns the smallest positive R4.
-
R4_UNIFORM_01 returns a unit pseudorandom R4.
-
R4MAT_IDENTITY stores the identity matrix in an R4MAT.
-
R4MAT_PRINT prints an R4MAT.
-
R4MAT_PRINT_SOME prints some of an R4MAT.
-
R4VEC_PRINT prints an R4VEC.
-
R4VEC_PRINT_SOME prints "some" of an R4VEC.
-
R4VEC_SORT_BUBBLE_A ascending sorts an R4VEC using bubble sort.
-
R4VEC2_PRINT prints an R4VEC2.
-
R8_ABS returns the absolute value of an R8.
-
R8_ATAN computes the inverse tangent of the ratio Y / X.
-
R8_CAS returns the "casine" of an R8.
-
R8_CEILING rounds an R8 "up" (towards +oo) to the next integer.
-
R8_CHOOSE computes the binomial coefficient C(N,K) as an R8.
-
R8_CHOP chops an R8 to a given number of binary places.
-
R8_CSQRT returns the complex square root of an R8.
-
R8_CUBE_ROOT returns the cube root of an R8.
-
R8_DIFF computes the difference of two R8's to a specified accuracy.
-
R8_DIGIT returns a particular decimal digit of an R8.
-
R8_EPSILON returns the R8 roundoff unit.
-
R8_EXP computes the exponential function, avoiding overflow and underflow.
-
R8_FACTORIAL computes the factorial of N.
-
R8_FACTORIAL2 computes the double factorial function N!!
-
R8_FLOOR rounds an R8 "down" (towards -oo) to the next integer.
-
R8_FRACTION returns the fraction part of an R8.
-
R8_HUGE returns a very large R8.
-
R8_IN_01 is TRUE if an R8 is in the range [0,1].
-
R8_IS_INT determines if an R8 represents an integer value.
-
R8_LOG_2 returns the logarithm base 2 of an R8.
-
R8_LOG_10 returns the logarithm base 10 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_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 returns a scaled pseudonormal R8.
-
R8_NORMAL_01 returns a unit pseudonormal R8.
-
R8_PI returns the value of pi as an R8.
-
R8_POWER computes the P-th power of an R8.
-
R8_POWER_FAST computes an integer power of an R8.
-
R8_PYTHAG computes sqrt ( A**2 + B**2 ), avoiding overflow and underflow.
-
R8_ROUND2 rounds an R8 to a specified number of binary digits.
-
R8_ROUNDB rounds an R8 to a given number of digits in a given base.
-
R8_ROUNDX rounds an R8.
-
R8_SIGN returns the sign of an R8.
-
R8_SWAP swaps two R8's.
-
R8_SWAP3 swaps three R8's.
-
R8_TINY returns a very small but positive R8.
-
R8_TO_R8_DISCRETE maps R to RD in [RMIN, RMAX] with NR possible values.
-
R8_TO_DHMS converts decimal days into days, hours, minutes, seconds.
-
R8_TO_I4 maps X in [XMIN, XMAX] to integer IX in [IXMIN, IXMAX].
-
R8_UNIFORM returns a scaled pseudorandom R8.
-
R8_UNIFORM_01 returns a unit pseudorandom R8.
-
R8_UNSWAP3 unswaps three R8's.
-
R8_WALSH_1D evaluates the Walsh function.
-
R82_CHEBY sets up the Chebyshev abscissas in an R8 interval.
-
R82_DIST_L2 returns the L2 distance between a pair of R82's.
-
R82_EQ == ( A1 == A2 ) for two R82's.
-
R82_GE == ( A1 >= A2 ) for two R82's.
-
R82_GT == ( A1 > A2 ) for two R82's.
-
R82_LE == ( A1 <= A2 ) for two R82's.
-
R82_LT == ( A1 < A2 ) for two R82's.
-
R82_NE == ( A1 /= A2 ) for two R82's.
-
R82_PRINT prints an R82.
-
R82_SWAP swaps two R82 values.
-
R82_UNIFORM returns a random R82 value in a given range.
-
R82_UNIT_EUCLIDEAN_2D Euclidean normalizes an R82.
-
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.
-
R82VEC_MAX returns the maximum value in an R82VEC.
-
R82VEC_MIN returns the minimum value in an R82VEC.
-
R82VEC_ORDER_TYPE finds the order type of an R82VEC.
-
R82VEC_PART_QUICK_A reorders an R82VEC as part of a quick sort.
-
R82VEC_PERMUTE permutes an R82VEC in place.
-
R82VEC_PRINT prints an R82VEC.
-
R82VEC_SORT_HEAP_INDEX_A ascending index heaps an R82VEC.
-
R82VEC_SORT_QUICK_A ascending sorts an R82VEC using quick sort.
-
R83_CROSS computes the cross product of two R83's.
-
R83_PRINT prints an R83.
-
R83_STRIPLE computes the scalar triple product of three R83's.
-
R83_SWAP swaps two R83's.
-
R83_UNIT_EUCLIDEAN Euclidean normalizes an R83.
-
R83_VTRIPLE computes the vector triple product of three R83's.
-
R83VEC_UNIT_L2 makes each R83 in R83VEC have unit L2 norm.
-
R84_UNIT_EUCLIDEAN_4D Euclidean normalizes an R84.
-
R8BLOCK_EXPAND_LINEAR linearly interpolates new data into an R8BLOCK.
-
R8BLOCK_PRINT prints an R8BLOCK.
-
R8COL_COMPARE compares columns in an R8COL.
-
R8COL_FIND seeks a column value in an R8COL.
-
R8COL_FIRST_INDEX indexes the first occurrence of values in an R8COL.
-
R8COL_INSERT inserts a column into an R8COL.
-
R8COL_MAX returns the maximums in an R8COL.
-
R8COL_MAX_INDEX returns the indices of column maximums in an R8COL.
-
R8COL_MEAN returns the column means of an R8COL.
-
R8COL_MIN returns the column minimums of an R8COL.
-
R8COL_MIN_INDEX returns the indices of column minimums in an R8COL.
-
R8COL_PART_QUICK_A reorders the columns of an R8COL.
-
R8COL_PERMUTE permutes an R8COL in place.
-
R8COL_SORT_HEAP_A ascending heapsorts an R8COL.
-
R8COL_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R8COL.
-
R8COL_SORT_QUICK_A ascending quick sorts an R8COL.
-
R8COL_SORTED_UNDEX returns unique sorted indexes for a sorted R8COL.
-
R8COL_SORTED_UNIQUE keeps unique elements in a sorted R8COL.
-
R8COL_SORTED_UNIQUE_COUNT counts unique elements in a sorted R8COL.
-
R8COL_SORTR_A ascending sorts one column of an R8COL, adjusting all columns.
-
R8COL_SUM sums the columns of an R8COL.
-
R8COL_SWAP swaps columns I and J of an R8COL.
-
R8COL_TO_R8VEC converts an R8COL to an R8VEC.
-
R8COL_UNDEX returns unique sorted indexes for an R8COL.
-
R8COL_UNIQUE_COUNT counts the unique columns in an unsorted R8COL.
-
R8COL_UNIQUE_INDEX indexes the unique occurrence of values in an R8COL.
-
R8COL_VARIANCE returns the variances of an R8COL.
-
R8R8_COMPARE compares two R8R8's.
-
R8R8_PRINT prints an R8R8.
-
R8R8R8_COMPARE compares two R8R8R8's.
-
R8R8R8VEC_INDEX_INSERT_UNIQUE inserts unique R8R8R in an indexed sorted list.
-
R8R8R8VEC_INDEX_SEARCH searches for R8R8R8 value in an indexed sorted list.
-
R8R8VEC_INDEX_INSERT_UNIQUE inserts a unique R8R8 in an indexed sorted list.
-
R8R8VEC_INDEX_SEARCH searches for an R8R8 in an indexed sorted list.
-
R8INT_TO_R8INT maps one R8INT to another.
-
R8INT_TO_I4INT maps an R8INT to an integer interval.
-
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 matrix.
-
R8MAT_CHOLESKY_SOLVE solves a Cholesky factored linear system A * x = b.
-
R8MAT_CHORESKY_FACTOR computes the "Choresky" factor of a symmetric matrix.
-
R8MAT_COPY copies an R8MAT.
-
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_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_EXPAND_LINEAR linearly interpolates new data into an R8MAT.
-
R8MAT_EXPAND_LINEAR2 expands an R8MAT by linear interpolation.
-
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_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 stores the identity matrix in an R8MAT.
-
R8MAT_IN_01 is TRUE if the entries of an R8MAT are in the range [0,1].
-
R8MAT_INDICATOR sets up an "indicator" R8MAT.
-
R8MAT_INVERSE_2D inverts a 2 by 2 R8MAT using Cramer's rule.
-
R8MAT_INVERSE_3D inverts a 3 by 3 R8MAT using Cramer's rule.
-
R8MAT_INVERSE_4D inverts a 4 by 4 R8MAT using Cramer's rule.
-
R8MAT_JAC estimates a dense jacobian matrix of the function FX.
-
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 R8MAT.
-
R8MAT_MAXROW_MINCOL gets the maximum row minimum column of an M by N R8MAT.
-
R8MAT_MIN returns the minimum entry of an M by N 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 R8MAT.
-
R8MAT_MINROW_MAXCOL gets the minimum row maximum column of an M by N R8MAT.
-
R8MAT_MM multiplies two R8MAT's.
-
R8MAT_MTV multiplies a transposed matrix times a vector
-
R8MAT_MV multiplies a matrix times a vector.
-
R8MAT_NINT rounds the entries of an R8MAT.
-
R8MAT_NORM_EIS returns the EISPACK norm of an R8MAT.
-
R8MAT_NORM_FRO returns the Frobenius norm of an R8MAT.
-
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_NULLSPACE computes the nullspace of a matrix.
-
R8MAT_NULLSPACE_SIZE computes the size of the nullspace of a matrix.
-
R8MAT_ORTH_UNIFORM returns a random orthogonal R8MAT.
-
R8MAT_PLOT "plots" an R8MAT, with an optional title.
-
R8MAT_PLOT_SYMBOL returns a symbol for an element 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 an R8MAT.
-
R8MAT_PRINT prints an R8MAT.
-
R8MAT_PRINT_SOME prints some of an R8MAT.
-
R8MAT_PRINT2 prints an R8MAT.
-
R8MAT_REF computes the row echelon form of a matrix.
-
R8MAT_RREF computes the reduced row echelon form of a matrix.
-
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_SYMM_EIGEN returns a symmetric matrix with given eigensystem.
-
R8MAT_SYMM_JACOBI applies Jacobi eigenvalue iteration to a symmetric matrix.
-
R8MAT_TO_R8PLU factors a general R8MAT.
-
R8MAT_TRANSPOSE_IN_PLACE transposes a square matrix in place.
-
R8MAT_TRACE computes the trace 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_U1_INVERSE inverts a unit upper triangular R8MAT.
-
R8MAT_UNIFORM fills an R8MAT with scaled pseudorandom numbers.
-
R8MAT_UNIFORM_01 fills an R8MAT with unit pseudorandom numbers.
-
R8MAT_VAND2 returns the N by N row Vandermonde matrix A.
-
R8PLU_DET computes the determinant of an R8PLU matrix.
-
R8PLU_INVERSE computes the inverse of an R8PLU 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_VAL_HORNER evaluates a polynomial using Horner's method.
-
R8POLY2_EX finds the extremal point of a parabola determined by three points.
-
R8POLY2_EX2 finds extremal point of a parabola determined by three points.
-
R8POLY2_ROOT returns the two roots of a quadratic polynomial.
-
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 interpolant through tabular data.
-
R8POLY3_ROOT returns the three roots of a cubic polynomial.
-
R8POLY4_ROOT returns the four roots of a quartic polynomial.
-
R8ROW_MAX returns the maximums of an R8ROW.
-
R8ROW_MEAN returns the means of an R8ROW.
-
R8ROW_MIN returns the minimums of an R8ROW.
-
R8ROW_SORTED_UNIQUE_COUNT counts unique elements in 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_VARIANCE returns the variances of an R8ROW.
-
R8SLMAT_PRINT prints a strict lower triangular R8MAT.
-
R8VEC_01_TO_AB shifts and rescales an R8VEC to lie within given bounds.
-
R8VEC_AB_TO_01 shifts and rescales an R8VEC to lie within [0,1].
-
R8VEC_AB_TO_CD shifts and rescales an R8VEC from one interval to another.
-
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_ASCENDS determines if an R8VEC is (weakly) ascending.
-
R8VEC_ASCENDS_STRICTLY determines if an R8VEC is strictly ascending.
-
R8VEC_BLEND prforms weighted interpolation of two R8VEC's.
-
R8VEC_BRACKET searches a sorted R8VEC for successive brackets of a value.
-
R8VEC_BRACKET2 searches a sorted R8VEC for successive brackets of a value.
-
R8VEC_BRACKET3 finds the interval containing or nearest a given value.
-
R8VEC_BRACKET4 finds the nearest interval to each of a vector of values.
-
R8VEC_CEILING rounds "up" (towards +oo) entries of an R8VEC.
-
R8VEC_CIRCULAR_VARIANCE returns the circular variance of an R8VEC.
-
R8VEC_COMPARE compares two R8VEC's.
-
R8VEC_CONVOLVE_CIRC returns the discrete circular convolution of two R8VEC's.
-
R8VEC_COPY copies an R8VEC.
-
R8VEC_CROSS_3D computes the cross product of two R8VEC's in 3D.
-
R8VEC_CUM computes the cumulutive sum of the entries of an R8VEC.
-
R8VEC_DIF computes coefficients for estimating the N-th derivative.
-
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_DOT_PRODUCT finds the dot product of a pair of R8VEC's.
-
R8VEC_EQ is true if two R8VECs are equal.
-
R8VEC_EVEN returns an R8VEC of evenly spaced values.
-
R8VEC_EVEN_SELECT returns the I-th of N evenly spaced values in [ XLO, XHI ].
-
R8VEC_EVEN2 linearly interpolates new numbers into an R8VEC.
-
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_FLOOR rounds "down" (towards -oo) entries of 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 R8VEC's.
-
R8VEC_HEAP_A reorders an R8VEC into an ascending heap.
-
R8VEC_HEAP_D reorders an R8VEC into an descending heap.
-
R8VEC_HISTOGRAM histograms an R8VEC.
-
R8VEC_HOUSE_COLUMN defines a Householder premultiplier that "packs" a column.
-
R8VEC_I4VEC_DOT_PRODUCT finds 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_INDEX_DELETE_ALL deletes a value from an indexed sorted R8VEC.
-
R8VEC_INDEX_DELETE_DUPES deletes duplicates from an indexed sorted R8VEC.
-
R8VEC_INDEX_DELETE_ONE deletes one copy of a value from indexed sorted R8VEC.
-
R8VEC_INDEX_INSERT inserts a value in an indexed sorted R8VEC.
-
R8VEC_INDEX_INSERT_UNIQUE inserts a unique value in an indexed sorted R8VEC.
-
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 sorted unique index for an R8VEC.
-
R8VEC_INDICATOR sets an R8VEC to the indicator vector.
-
R8VEC_INSERT inserts a value into an R8VEC.
-
R8VEC_IS_INT is TRUE if the entries of an R8VEC are integers.
-
R8VEC_LENGTH returns the Euclidean length of an R8VEC.
-
R8VEC_LT == ( A1 < A2 ) for R8VEC's.
-
R8VEC_MASK_PRINT prints a masked R8VEC.
-
R8VEC_MAX returns the maximum 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_MEDIAN returns the median of an unsorted R8VEC.
-
R8VEC_MIN returns the minimum value of 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_NINT rounds entries 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_ORDER_TYPE determines if R8VEC is (non)strictly ascending/descending.
-
R8VEC_PART_QUICK_A reorders an R8VEC as part of a quick sort.
-
R8VEC_PERMUTE permutes an R8VEC in place.
-
R8VEC_PERMUTE_UNIFORM randomly permutes an R8VEC.
-
R8VEC_POLARIZE decomposes an R8VEC into normal and parallel components.
-
R8VEC_PRINT prints an R8VEC.
-
R8VEC_PRINT_SOME prints "some" of an R8VEC.
-
R8VEC_PRINT2 prints out 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 array.
-
R8VEC_REVERSE reverses the elements of an R8VEC.
-
R8VEC_ROTATE "rotates" the entries of an R8VEC in place.
-
R8VEC_SEARCH_BINARY_A searches an ascending sorted 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_D does an 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_INSERT_INDEX_D descending 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_SORT2_A ascending sorts an R8VEC and adjusts an associated R8VEC.
-
R8VEC_SORTED_MERGE_A merges two ascending sorted R8VEC's.
-
R8VEC_SORTED_NEAREST returns the nearest element in a sorted R8VEC.
-
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 keeps the unique elements in a sorted R8VEC.
-
R8VEC_SORTED_UNIQUE_COUNT counts the unique elements in a sorted R8VEC.
-
R8VEC_SORTED_UNIQUE_HIST histograms the 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_SUM returns the sum of the entries of an R8VEC.
-
R8VEC_SWAP swaps the entries of two R8VECs.
-
R8VEC_UNDEX returns unique sorted indexes for an R8VEC.
-
R8VEC_UNIFORM returns a scaled pseudorandom R8VEC
-
R8VEC_UNIFORM_01 returns a unit pseudorandom R8VEC.
-
R8VEC_UNIQUE_COUNT counts the unique elements in an unsorted R8VEC.
-
R8VEC_UNIQUE_INDEX indexes the unique occurrence of values in an R8VEC.
-
R8VEC_UNIT_EUCLIDEAN normalizes an R8VEC in the Euclidean norm.
-
R8VEC_UNIT_SUM normalizes an R8VEC to have unit sum.
-
R8VEC_VARIANCE returns the variance of an R8VEC.
-
R8VEC_WRITE writes an R8VEC to a file.
-
R8VEC_ZERO zeroes out an R8VEC.
-
R8VEC2_COMPARE compares two entries in 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 unique elements in a sorted 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 an R8VEC3.
-
RADIANS_TO_DEGREES converts an angle measure from radians to degrees.
-
RANDOM_INITIALIZE initializes the FORTRAN90 random number seed.
-
RAT_FACTOR factors a rational value into a product of prime factors.
-
RICKEY evaluates Branch Rickey's baseball index.
-
ROOTS_TO_I4POLY converts polynomial roots to polynomial coefficients.
-
ROOTS_TO_R8POLY converts polynomial roots to polynomial coefficients.
-
SORT_HEAP_EXTERNAL externally sorts a list of items into ascending order.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
-
TUPLE_NEXT2 computes the next element of an integer tuple space.
-
TVEC_EVEN computes evenly spaced angles between 0 and 2*PI.
-
TVEC_EVEN2 computes evenly spaced angles between 0 and 2*PI.
-
TVEC_EVEN3 computes evenly spaced angles between 0 and 2*PI.
-
TVEC_EVEN_BRACKET computes evenly spaced angles between THETA1 and THETA2.
-
TVEC_EVEN_BRACKET2 computes evenly spaced angles from THETA1 to THETA2.
-
TVEC_EVEN_BRACKET3 computes evenly spaced angles from THETA1 to THETA2.
-
UPC_CHECK_DIGIT returns the check digit of a UPC.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 08 November 2009.