Вы сказали, что A
является диагональной матрицей из случайного вектора:
A = np.diagflat(np.random.randint(10, size=100))
И B
является лапласиан матрицы, ассоциированной с графиком:
R = nx.grid_graph(dim=[10,10])
B = nx.laplacian_matrix(R)
Матрица B
является разреженной матрицей , и ее необходимо преобразовать в массив numpy, если вы хотите видеть как таковой, например, для отладки, но если ваш код нужно масштабировать, вы должны держать его как разреженный.
Тогда продукт np.dot
:
product = A.dot(B.toarray())
Вы также можете пойти с нотой B.A
Я, хотя это была путаница в этой ситуации:
product = A.dot(B.A)
С product
:
array([[16, -8, 0, ..., 0, 0, 0],
[-3, 9, -3, ..., 0, 0, 0],
[ 0, -1, 3, ..., 0, 0, 0],
...,
[ 0, 0, 0, ..., 27, -9, 0],
[ 0, 0, 0, ..., 0, 0, 0],
[ 0, 0, 0, ..., 0, -4, 8]], dtype=int64)
Похоже, что цель вашей функции была скопирована неправильно. Поскольку код не будет работать, как показано выше. Кажется, это ошибка копирования и вставки.
Чтобы исправить проблему, вам нужно сохранить результат, возвращенный функцией:
def earthConverter(latitude, longitude, height):
...
return x, y, z
x,y,z = earthConverter(123.0256, 56.45648, 21322.4545)
print('x is %f' % x)