Deep-MI/LaPy

Orthonormal eigenvectors

sina-mansour opened this issue · 1 comments

Question/Support Request

Hi,

I'm using Lapy to generate Laplace Beltrami Operators of a surface mesh.

In my experience, the eigenvectors generated by lapy.solver.Solver(mesh).eigs are neither orthogonal, nor unit norm vectors. I wanted to check if this is expected behavior? Given that the mesh structure is a symmetric matrix, should the eigenvectors be orthonormal?

Screenshots

Here's a heatmap of the dot product of pairs of eigenvectors for the first 20 eigenvectors:

image

And here's what other tools (like numpy.linalg.eigs) would generate. Note that for orthonormal eigenvectors, the dot products on the diagonal are all one (because of the unit norm) and off-diagonal values are all zero (because of orthogonality). I think the Lapy eigenvectors should have ideally been orthonormal too:

image

Environment

  • LaPy Version: Latest (as of June 2023)
  • OS: Ubuntu

Hi,
this is a generalised eigenvalue problem A x=lambda B x (see https://en.wikipedia.org/wiki/Eigendecomposition_of_a_matrix#Generalized_eigenvalue_problem ) and the eigenvectors will be B-orthonormal: x1^t B x2 = 0 ...