Next: ctrace() Up: Mathematical Macros Help File Previous: csolve()   Contents

csubscr()

Usage:
y <- csubscr(x,I), REAL matrix x containing complex matrix X in fully
  complex form, legal REAL or LOGICAL subscript or NULL I
y <- csubscr(x,I,J), legal REAL or LOGICAL subscripts or NULL, I and J



Keywords: complex matrices, matrices
                                  Usage
csubscr() simulates subscript extraction from a complex vector X or m by
n complex matrix X stored in REAL matrix x in fully complex form (real
parts in odd columns, imaginary parts in even columns).  The result y
contains a complex vector or matrix Y in fully complex form.

y <- csubscr(x,I) simulates Y <- X[I,] when I is a vector or Y <- X[I]
when I is a matrix with two columns.  When I is empty or NULL, it
simulates Y <- X[].

y <- csubscr(x,I,J) simulates Y <- X[I,J].  When I is empty or NULL it
simulates Y <- X[,J]; when J is empty or NULL it simulates Y <- X[I,].

y <- csubscr(x) is equivalent to cmplx(creal(x),cimag(y)).

                                 Caution
Unlike real subscripts you cannot assign to csubscr(x, I, J).

                                 Example
Example with 2 by 4 REAL a representing 2 by 2 complex A:
  Cmd> creal(a) # real part
  (1,1)        0.57       -0.33
  (2,1)       -0.24       -0.55

  Cmd> cimag(a) # imaginary part
  (1,1)        0.43       -0.16
  (2,1)       -0.08        0.26

  Cmd> csubscr(a,1,2) # simulates A[1,2]
  (1,1)       -0.33       -0.16

  Cmd> csubscr(a,hconcat(run(2),run(2))) # simulates cdiag(a)
  (1,1)        0.57        0.43
  (2,1)       -0.55        0.26

  Cmd> csubscr(a,,-1) # or csubscr(a,NULL,-1), simulates A[,-1]
  (1,1)       -0.33       -0.16
  (2,1)       -0.55        0.26

                            Cross references
See also cdiag(), 'complex', 'subscripts', creal(), cimag().


Gary Oehlert 2006-01-30