Skip to content

the generalized eigenvalue problem over RDF/CDF #29243

@mwageringel

Description

@mwageringel

This ticket adds support for solving the generalized eigenvalue problem A v = λ B v for two matrices A,B over RDF or CDF.

Example:

sage: A = matrix.identity(RDF, 2)
sage: B = matrix(RDF, [[3, 5], [6, 10]])
sage: D, V = A.eigenmatrix_right(B); D   # tol 1e-14
[0.07692307692307694                 0.0]
[                0.0           +infinity]

sage: λ = D[0, 0]
sage: v = V[:, 0]
sage: (A * v  - B * v * λ).norm() < 1e-14
True

This is implemented using scipy.linalg.eig.

The changes include:

  • an optional argument other is added to eigenmatrix_right/left in matrix2.pyx as well as related functions in matrix_double_dense.pyx
  • an optional keyword homogeneous is added to obtain the generalized eigenvalues in terms of homogeneous coordinates
  • improvements to the documentation

Component: linear algebra

Keywords: scipy

Author: Markus Wageringel

Branch/Commit: 254c6e9

Reviewer: Sébastien Labbé

Issue created by migration from https://trac.sagemath.org/ticket/29243

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions