Sort numbers into into complex-conjugate-valued and real-valued elements.
Usage
cplxreal(z, tol = 100 * .Machine$double.eps, MARGIN = 2)
Value
A list containing two variables:
zc
Vector, matrix or array containing ordered complex conjugate
pairs by increasing real parts. Only the positive imaginary complex numbers
of each complex conjugate pair are returned.
zr
Vector, matrix or array containing ordered real numbers.
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.
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).
An error is signaled if some complex numbers could not be paired and if all
complex numbers are not exact conjugates (to within tol). Note that here is
no defined order for pairs with identical real parts but differing imaginary
parts.