Ask Your Question

Revision history [back]

Two methods that return different eigenspaces

I don't understand why eigenspaces() and adjacency_matrix().eigenspaces_right() return different results (see the example below). If I understand the reference manual correctly, that shouldn't be the case.

> J = graphs.JohnsonGraph(5,2)
> J.eigenspaces()

[
(6, Vector space of degree 10 and dimension 1 over Rational Field
User basis matrix:
[1 1 1 1 1 1 1 1 1 1]),
(1, Vector space of degree 10 and dimension 4 over Rational Field
User basis matrix:
[   1    0    0    0  1/2  1/2    0 -1/2 -1/2   -1]
[   0    1    0    0 -3/2 -1/2    1 -1/2 -1/2    1]
[   0    0    1    0   -1   -1    1   -1    0    1]
[   0    0    0    1  1/2 -1/2   -1  1/2 -1/2    0]),
(-2, Vector space of degree 10 and dimension 5 over Rational Field
User basis matrix:
[ 1  0  0  0 -1  0 -1  0  1  0]
[ 0  1  0  0  0  0 -1 -1  1  0]
[ 0  0  1  0 -1  0  0  1  0 -1]
[ 0  0  0  1 -1  0  0  0  1 -1]
[ 0  0  0  0  0  1 -1 -1  0  1])
]

and

> J = graphs.JohnsonGraph(5,2)
> J.adjacency_matrix().eigenspaces_right()

[
(6, Vector space of degree 10 and dimension 1 over Rational Field
User basis matrix:
[1 1 1 1 1 1 1 1 1 1]),
(1, Vector space of degree 10 and dimension 4 over Rational Field
User basis matrix:
[   1    0    0    0   -1 -1/2  1/2  1/2    0 -1/2]
[   0    1    0    0    0  1/2 -1/2  1/2   -1 -1/2]
[   0    0    1    0    1 -1/2 -1/2 -3/2    1 -1/2]
[   0    0    0    1    1   -1   -1   -1    1    0]),
(-2, Vector space of degree 10 and dimension 5 over Rational Field
User basis matrix:
[ 1  0  0  0  0  0  0 -1 -1  1]
[ 0  1  0  0  0 -1  1 -1 -1  1]
[ 0  0  1  0  0 -1  0  0 -1  1]
[ 0  0  0  1  0  0  1 -1 -1  0]
[ 0  0  0  0  1 -1  1  0 -1  0])
]