scikit-learn/sklearn/utils/tests/test_graph.py

25 lines
946 B
Python
Raw Normal View History

# Author: Gael Varoquaux <gael.varoquaux@normalesup.org>
# License: BSD 3 clause
import numpy as np
from scipy import sparse
from sklearn.utils.graph import graph_laplacian
2011-11-29 06:39:46 +08:00
def test_graph_laplacian():
2011-11-29 06:39:46 +08:00
for mat in (np.arange(10) * np.arange(10)[:, np.newaxis],
np.ones((7, 7)),
np.eye(19),
2012-12-22 20:02:50 +08:00
np.vander(np.arange(4)) + np.vander(np.arange(4)).T,):
sp_mat = sparse.csr_matrix(mat)
for normed in (True, False):
laplacian = graph_laplacian(mat, normed=normed)
n_nodes = mat.shape[0]
if not normed:
np.testing.assert_array_almost_equal(laplacian.sum(axis=0),
2012-12-22 20:02:50 +08:00
np.zeros(n_nodes))
np.testing.assert_array_almost_equal(laplacian.T, laplacian)
np.testing.assert_array_almost_equal(
laplacian, graph_laplacian(sp_mat, normed=normed).toarray())