C8LIB\
A Double Precision Complex Arithmetic Utility Library {#c8lib-a-double-precision-complex-arithmetic-utility-library align=”center”}
=====================================================
C8LIB is a C++ library which is a utility library for “C8” or
“double precision complex” arithmetic.
Licensing: {#licensing align=”center”}
The computer code and data files described and made available on this
web page are distributed under the GNU LGPL
license.
Languages: {#languages align=”center”}
C8LIB is available in a C version
and a C++ version and a FORTRAN77
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;
C8_COMPLEX_LIB, a
C++ library which defines a class called “c8_complex” for complex
numbers with double precision components.
COMPLEX_NUMBERS,
a C++ program which demonstrates some simple features involved in the
use of complex numbers in C programming.
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.
R8LIB, a C++ library which contains
many utility routines, using “R8” or “double precision real” arithmetic.
Source Code: {#source-code align=”center”}
Examples and Tests: {#examples-and-tests align=”center”}
List of Routines: {#list-of-routines align=”center”}
- C8_ABS returns the absolute value of a C8.
- C8_ACOS evaluates the inverse cosine of a C8.
- C8_ACOSH evaluates the inverse hyperbolic cosine of a C8.
- C8_ADD adds two C8’s.
- C8_ARG returns the argument of a C8.
- C8_ASIN evaluates the inverse sine of a C8.
- C8_ASINH evaluates the inverse hyperbolic sine of a C8.
- C8_ATAN evaluates the inverse tangent of a C8.
- C8_ATANH evaluates the inverse hyperbolic tangent of a C8.
- C8_CONJ conjugates a C8.
- C8_COPY copies a C8.
- C8_COS evaluates the cosine of a C8.
- C8_COSH evaluates the hyperbolic cosine of a C8.
- C8_CUBE_ROOT returns the principal cube root of a C8.
- C8_DIV divides two C8’s.
- C8_DIV_R8 divides a C8 by an R8.
- C8_EXP exponentiates a C8.
- C8_I returns the value of the imaginary unit, i as a C8.
- C8_IMAG returns the imaginary part of a C8.
- C8_INV inverts a C8.
- C8_LE_L1 := X <= Y for C8 values, and the L1 norm.
- C8_LE_L2 := X <= Y for C8 values, and the L2 norm.
- C8_LE_LI := X <= Y for C8 values, and the L-oo norm.
- C8_LOG evaluates the logarithm of a C8.
- C8_MAG returns the magnitude of a C8.
- C8_MUL multiplies two C8’s.
- C8_NEG negates a C8.
- C8_NINT returns the nearest complex integer of a C8.
- C8_NORM_L1 evaluates the L1 norm of a C8.
- C8_NORM_L2 evaluates the L2 norm of a C8.
- C8_NORM_LI evaluates the L-oo norm of a C8.
- C8_NORMAL_01 returns a unit pseudonormal C8.
- C8_ONE returns the value of complex 1.
- C8_PRINT prints a C8.
- C8_REAL returns the real part of a C8.
- C8_SIN evaluates the sine of a C8.
- C8_SINH evaluates the hyperbolic sine of a C8.
- C8_SQRT returns the principal square root of a C8.
- C8_SUB subtracts two C8’s.
- C8_SWAP swaps two C8’s.
- C8_TAN evaluates the tangent of a C8.
- C8_TANH evaluates the hyperbolic tangent of a C8.
- C8_TO_CARTESIAN converts a C8 to Cartesian form.
- C8_TO_POLAR converts a C8 to polar form.
- C8_UNIFORM_01 returns a unit pseudorandom C8.
- C8_ZERO returns the value of 0 as a C8.
- C8MAT_ADD combines two C8MAT’s using complex scalar factors.
- C8MAT_ADD_R8 combines two C8MAT’s using real scalar factors.
- C8MAT_COPY copies one C8MAT to another.
- C8MAT_COPY_NEW copies one C8MAT to a “new” C8MAT.
- C8MAT_FSS factors and solves a system with multiple right hand
sides.
- C8MAT_FSS_NEW factors and solves a system with multiple right
hand sides.
- C8MAT_IDENTITY_NEW sets a C8MAT to the identity.
- C8MAT_INDICATOR_NEW returns the C8MAT indicator matrix.
- C8MAT_MINVM returns inverse(A) * B for C8MAT’s.
- C8MAT_MINVM_NEW returns inverse(A) * B for C8MAT’s.
- C8MAT_MM multiplies two matrices.
- C8MAT_MM_NEW multiplies two matrices.
- C8MAT_NINT rounds the entries of a C8MAT.
- C8MAT_NORM_FRO returns the Frobenius norm of a C8MAT.
- C8MAT_NORM_L1 returns the matrix L1 norm of a C8MAT.
- C8MAT_NORM_LI returns the matrix L-oo norm of a C8MAT.
- C8MAT_PRINT prints a C8MAT.
- C8MAT_PRINT_SOME prints some of a C8MAT.
- C8MAT_SCALE scales a C8MAT by a complex scalar factor.
- C8MAT_SCALE_R8 scales a C8MAT by a real scalar factor.
- C8MAT_UNIFORM_01 returns a unit pseudorandom C8MAT.
- C8MAT_UNIFORM_01_NEW returns a unit pseudorandom C8MAT.
- C8MAT_ZERO_NEW returns a new zeroed C8MAT.
- C8VEC_COPY copies a C8VEC.
- C8VEC_COPY_NEW copies a C8VEC to a “new” C8VEC.
- C8VEC_INDICATOR_NEW sets a C8VEC to the indicator vector.
- C8VEC_NINT rounds the entries of a C8VEC.
- C8VEC_NORM_L1 returns the L1 norm of a C8VEC.
- C8VEC_NORM_L2 returns the L2 norm of a C8VEC.
- C8VEC_NORM_LI returns the Loo norm of a C8VEC.
- C8VEC_PRINT prints a C8VEC.
- C8VEC_PRINT_PART prints “part” of a C8VEC.
- C8VEC_PRINT_SOME prints some of a C8VEC.
- C8VEC_SORT_A_L1 ascending sorts a C8VEC by L1 norm.
- C8VEC_SORT_A_L2 ascending sorts a C8VEC by L2 norm.
- C8VEC_SORT_A_LI ascending sorts a C8VEC by Loo norm.
- C8VEC_SPIRAL_NEW returns N points on a spiral between C1 and
C2.
- C8VEC_UNIFORM_01_NEW returns a unit pseudorandom C8VEC.
- C8VEC_UNITY returns the N roots of unity in a C8VEC.
- CARTESIAN_TO_C8 converts a Cartesian form to a C8.
- POLAR_TO_C8 converts a polar form to a C8.
- R8_ABS returns the absolute value of an R8.
- R8_ATAN computes the inverse tangent of the ratio Y / X.
- R8_CSQRT returns the complex square root of an R8.
- R8_FLOOR rounds an R8 down to the nearest integral R8.
- R8_MAX returns the maximum of two R8’s.
- R8_SIGN returns the sign of an R8.
- R8_UNIFORM_01 returns a unit pseudorandom R8.
- R8POLY2_ROOT returns the two roots of a quadratic polynomial.
- R8POLY3_ROOT returns the three roots of a cubic polynomial.
- R8POLY4_ROOT returns the four roots of a quartic polynomial.
- 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 09 February 2015.