Я пытаюсь построить BlockMatrix,
+---+---+---+---+
|7.0|6.0|3.0|0.0|
|3.0|2.0|5.0|1.0|
|9.0|4.0|0.0|3.0|
+---+---+---+---+
из трех подматриц.
+---+---+
|7.0|6.0|
|3.0|2.0|
+---+---+
+---+---+
|9.0|4.0|
+---+---+
+---+---+
|3.0|0.0|
|5.0|1.0|
|0.0|3.0|
+---+---+
Вот мой код.
from pyspark.mllib.linalg import Matrices
from pyspark.mllib.linalg.distributed import BlockMatrix
blocks = sc.parallelize([(0, 0, Matrices.dense(2, 2, [7,3,6,2])),
(2, 0, Matrices.dense(1, 2, [9,4])),
(0, 2, Matrices.dense(3, 2, [3.0, 5.0, 0.0, 0.0, 1.0, 3.0]))
])
blockM = BlockMatrix(blocks, 2, 2)
Однако я получил ошибку «Ошибка типа: невозможно преобразовать тип в кортеж субматричного блока». Есть идеи, где я не прав? Как понять этот тип blockMatrix? Спасибо!