c8lib
c8lib,
an Octave code which
implements certain
elementary functions for "C8" or
complex 64 bit variables.
The symbol "C8" is used to suggest a complex 64 bit
variable. Here the 8 indicates that the underlying pair of
real numbers each use 8 bytes = 64 bits 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 MIT license
Languages:
c8lib is available in
a C version and
a C++ version and
a Fortran90 version and
a MATLAB version and
an Octave version and
a Python version.
Related Programs:
c8lib_test
i4lib,
an Octave code which
contains many utility routines, using "I4" or "single precision integer"
arithmetic.
quaternions,
an Octave code which
carries out some simple arithmetic operations for quaternions.
r8lib,
an Octave code which
contains many utility routines, using "R8" or
"double precision real" arithmetic.
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_add.m,
adds two C8's.
-
c8_arg.m,
returns the argument of a C8;
-
c8_asin.m,
returns the inverse sine of a C8;
-
c8_asinh.m,
returns the inverse hyperbolic sine of a C8;
-
c8_atan.m,
returns the inverse tangent of a C8;
-
c8_atanh.m,
returns the inverse hyperbolic tangent of a C8;
-
c8_conj.m,
returns the complex conjugate of a C8;
-
c8_cos.m,
returns the cosine of a C8;
-
c8_cosh.m,
returns the hyperbolic cosine of a C8;
-
c8_cube_root.m,
returns the cube root of a C8;
-
c8_div.m,
divides one C8 by another.
-
c8_div_r8.m,
divides a C8 by an R8.
-
c8_exp.m,
computes the exponential 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_log.m,
returns the logarithm of a C8;
-
c8_mag.m,
returns the magnitude of a C8;
-
c8_mul.m,
returns the product of two C8's.
-
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_one.m,
returns the value of 1 as a C8.
-
c8_print.m,
prints a C8.
-
c8_real.m,
returns the real part of a C8;
-
c8_sin.m
returns the sine of a C8.
-
c8_sinh.m
returns the hyperbolic sine of a C8.
-
c8_sqrt.m,
returns the square root of a C8;
-
c8_sub.m,
subtracts one C8 from another.
-
c8_tan.m,
returns the tangent of a C8.
-
c8_tanh.m,
returns the hyperbolic tangent of a C8.
-
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_add.m,
combines two C8MAT's with scalar factors.
-
c8mat_copy.m,
copies a C8MAT.
-
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_fro.m,
returns the Frobenius norm of a C8MAT.
-
c8mat_norm_l1.m,
returns the L1 norm of a C8MAT.
-
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_l1.m,
returns the L1 norm of a C8VEC.
-
c8vec_norm_l2.m,
returns the L2 norm of a C8VEC.
-
c8vec_norm_li.m,
returns the Loo 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_a_l1.m,
ascending sorts a C8VEC by the L1 norm.
-
c8vec_sort_a_l2.m,
ascending sorts a C8VEC by the L2 norm.
-
c8vec_sort_a_li.m,
ascending sorts a C8VEC by the L-oo norm.
-
c8vec_spiral.m,
returns N points on a spiral between C1 and C2.
-
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_sign.m,
returns the sign 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,
externally sorts a list of values into ascending order;
Last revised on 05 June 2023.