Sort complex numbers into complex conjugate pairs ordered by increasing real
part.
Usage
cplxpair(z, tol = 100 * .Machine$double.eps, MARGIN = 2)
Value
Vector, matrix or array containing ordered complex conjugate pairs by
increasing real parts.
Arguments
z
Vector, matrix, or array of complex numbers.
tol
Weighting factor 0 < tol < 1, which determines the
tolerance of matching. Default: 100 * .Machine$double.eps. (This
definition differs from the 'Octave' usage).
MARGIN
Vector giving the subscripts which the function will be applied
over. E.g., for a matrix 1 indicates rows, 2 indicates columns, c(1, 2)
indicates rows and columns. Where X has named dimnames, it can be a
character vector selecting dimension names. Default: 2 (columns).
The negative imaginary complex numbers are placed first within each pair. All
real numbers (those with abs(Im (z) / z) < tol) are placed after the
complex pairs.
An error is signaled if some complex numbers could not be paired and if all
complex numbers are not exact conjugates (to within tol).