cplxreal: Sort complex conjugate pairs and real

View source: R/cplxreal.R

cplxrealR Documentation

Sort complex conjugate pairs and real

Description

Sort numbers into into complex-conjugate-valued and real-valued elements.

Usage

cplxreal(z, tol = 100 * .Machine$double.eps, MARGIN = 2)

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).

Details

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.

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.

Author(s)

Geert van Boxtel, G.J.M.vanBoxtel@gmail.com.

See Also

cplxpair

Examples

r <- cplxreal(c(1, 1 + 3i, 2 - 5i, 1-3i, 2 + 5i, 4, 3))


gjmvanboxtel/gsignal documentation built on Nov. 22, 2023, 8:19 p.m.