pyyeti.ode.delconj

pyyeti.ode.delconj(lam, ur, ur_inv, dups)[source]

Delete one eigenvalue/eigenvector from of each pair of complex conjugates.

Parameters:
  • lam (1d ndarray) – The vector of complex eigenvalues

  • ur (2d ndarray) – Normalized complex right eigenvectors

  • ur_inv (2d ndarray) – Inverse of right eigenvectors

  • dups (1d array_like) – Index partition vector for repeated roots; it will be empty (np.array([])) if there are no repeated roots. For example, if only the second and third roots are duplicates of each other, dups will be np.array([1, 2]).

Returns:

  • lam1 (1d ndarray; complex) – Trimmed vector of complex eigenvalues

  • ur1 (2d ndarray; complex) – Trimmed normalized complex right eigenvectors; columns may be trimmed

  • ur_inv1 (2d ndarray; complex) – Trimmed inverse of right eigenvectors; rows may be trimmed

  • dups1 (1d ndarray) – Version of input dups for the trimmed variables.

Notes

This function is typically called via eigss(). If there are any values in lam that are not part of a complex-conjugate pair, this routine does nothing.

delconj() can safely be called even if modes were already deleted. In this case, outputs will be the same as the inputs.