C8LIB
A Double Precision Complex Arithmetic Utility Library
C8LIB
is a FORTRAN90 library which
implements certain
elementary functions for "C8" or
double precision complex variables.
The symbol "C8" is used to suggest a double precision complex
variable. Here the 8 indicates that the underlying pair of
real numbers each use 8 bytes of storage.
C8LIB contains routines that operate on scalars, vectors or
doubly dimensioned arrays of C8's. A vector of C8's is denoted
a C8VEC, and a doubly dimensioned array is a C8MAT.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
C8LIB is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Programs:
I4LIB,
a MATLAB library which
contains many utility routines, using "I4" or "single precision integer"
arithmetic.
R8LIB,
a MATLAB library which
contains many utility routines, using "R8" or
"double precision real" arithmetic.
SUBPAK,
a MATLAB library which
contains many utility routines;
Source Code:
-
c8_abs.m,
returns the absolute value of a C8;
-
c8_acos.m,
returns the inverse cosine of a C8;
-
c8_acosh.m,
returns the inverse hyperbolic cosine of a C8;
-
c8_arg.m,
returns the argument of a C8;
-
c8_cube_root.m,
returns the cube root of a C8;
-
c8_i.m,
returns the value of the imaginary unit, i as a C8.
-
c8_imag.m,
returns the imaginary part of a C8.
-
c8_inv.m,
returns the inverse of a C8.
-
c8_le_l1.m,
( X <= Y ) for C8's, and the L1 norm.
-
c8_le_l2.m,
( X <= Y ) for C8's, and the L2 norm.
-
c8_le_li.m,
( X <= Y ) for C8's, and the L-oo norm.
-
c8_mag.m,
returns the magnitude of a C8;
-
c8_nint.m,
rounds a C8 to the nearest complex integer.
-
c8_norm_l1.m,
computes the L1 norm of a C8.
-
c8_norm_l2.m,
computes the L2 norm of a C8.
-
c8_norm_li.m,
computes the L-oo norm of a C8.
-
c8_normal_01.m,
returns a unit pseudonormal C8.
-
c8_print.m,
prints a C8.
-
c8_real.m,
returns the real part of a C8;
-
c8_sqrt.m,
returns the square root of a C8;
-
c8_swap.m,
swaps two C8's.
-
c8_to_cartesian.m,
converts a C8 to Cartesian form.
-
c8_to_polar.m,
converts a C8 to polar form.
-
c8_uniform_01.m,
returns a unit pseudorandom C8.
-
c8_zero.m,
returns the value of zero as a C8.
-
c8mat_adds.m,
combines two C8MAT's with scalar factors.
-
c8mat_fss.m,
factors and solves a system with multiple right hand sides.
-
c8mat_identity.m,
returns the C8MAT identity matrix.
-
c8mat_indicator.m,
returns the C8MAT indicator matrix.
-
c8mat_minvm.m,
computes inverse(A) * B for C8MAT's.
-
c8mat_nint.m,
rounds the entries of a C8MAT to the nearest complex integer.
-
c8mat_norm_li.m,
returns the L-infinity norm of a C8MAT.
-
c8mat_print.m,
prints a C8MAT.
-
c8mat_print_some.m,
prints some of a C8MAT.
-
c8mat_scale.m,
scales a C8MAT by a scalar factor.
-
c8mat_uniform_01.m,
returns a unit pseudorandom C8MAT.
-
c8mat_zero.m,
returns the C8MAT zero matrix.
-
c8vec_indicator.m,
sets a C8VEC to the indicator vector.
-
c8vec_nint.m,
rounds the entries of a C8VEC.
-
c8vec_norm_l2.m,
returns the L2 norm of a C8VEC.
-
c8vec_print.m,
prints a C8VEC.
-
c8vec_print_part.m,
prints part of a C8VEC.
-
c8vec_print_some.m,
prints some of a C8VEC.
-
c8vec_sort_a1.m,
ascending sorts a C8VEC by the L1 norm.
-
c8vec_sort_a2.m,
ascending sorts a C8VEC by the L2 norm.
-
c8vec_sort_ainf.m,
ascending sorts a C8VEC by the L-oo norm.
-
c8vec_uniform_01.m,
returns a unit pseudorandom C8VEC.
-
c8vec_unity.m,
returns the N roots of unity.
-
cartesian_to_c8.m,
converts a Cartesian complex number to C8 format.
-
polar_to_c8.m,
converts a polar form complex number to C8 format.
-
r8_csqrt.m,
returns the complex square root of an R8;
-
r8_floor.m,
rounds an R8 down towards minus infinity;
-
r8_log_2.m,
returns the logarithm, base 2, of an R8;
-
r8_uniform_01.m,
returns a unit pseudorandom R8;
-
r8poly2_root.m,
returns the two roots of a quadratic polynomial.
-
r8poly3_root.m,
returns the three roots of a cubic polynomial.
-
r8poly4_root.m,
returns the four roots of a quartic polynomial.
-
sort_heap_external.m,
external sorts a list of values into ascending order;
-
timestamp.m,
prints the current YMDHMS date as a timestamp;
Examples and Tests:
-
c8lib_test.m,
runs all the tests;
-
c8lib_test_output.txt,
the output file;
-
c8lib_test05.m,
tests C8_ARG;
-
c8lib_test13.m,
tests C8_CUBE_ROOT;
-
c8lib_test18.m,
tests C8_MAG;
-
c8lib_test19.m,
tests C8_MUL;
-
c8lib_test20.m,
tests C8_NORMAL_01;
-
c8lib_test23.m,
tests C8_SQUARE_ROOT;
-
c8lib_test29.m,
tests C8MAT_UNIFORM_01;
-
c8lib_test30.m,
tests C8VEC_INDICATOR;
You can go up one level to
the MATLAB source codes.
Last revised on 02 March 2013.