當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pyspark BlockMatrix.multiply用法及代碼示例

本文簡要介紹 pyspark.mllib.linalg.distributed.BlockMatrix.multiply 的用法。

用法:

multiply(other)

Left 將此 BlockMatrix 乘以另一個 BlockMatrix other。該矩陣的 colsPerBlock 必須等於 otherrowsPerBlock 。如果other包含任何SparseMatrix塊,則必須將它們轉換為DenseMatrix塊。輸出BlockMatrix將僅包含DenseMatrix塊。在添加對兩個稀疏矩陣相乘的支持之前,這可能會導致一些性能問題。

例子

>>> dm1 = Matrices.dense(2, 3, [1, 2, 3, 4, 5, 6])
>>> dm2 = Matrices.dense(2, 3, [7, 8, 9, 10, 11, 12])
>>> dm3 = Matrices.dense(3, 2, [1, 2, 3, 4, 5, 6])
>>> dm4 = Matrices.dense(3, 2, [7, 8, 9, 10, 11, 12])
>>> sm = Matrices.sparse(3, 2, [0, 1, 3], [0, 1, 2], [7, 11, 12])
>>> blocks1 = sc.parallelize([((0, 0), dm1), ((0, 1), dm2)])
>>> blocks2 = sc.parallelize([((0, 0), dm3), ((1, 0), dm4)])
>>> blocks3 = sc.parallelize([((0, 0), sm), ((1, 0), dm4)])
>>> mat1 = BlockMatrix(blocks1, 2, 3)
>>> mat2 = BlockMatrix(blocks2, 3, 2)
>>> mat3 = BlockMatrix(blocks3, 3, 2)
>>> mat1.multiply(mat2).toLocalMatrix()
DenseMatrix(2, 2, [242.0, 272.0, 350.0, 398.0], 0)
>>> mat1.multiply(mat3).toLocalMatrix()
DenseMatrix(2, 2, [227.0, 258.0, 394.0, 450.0], 0)

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.mllib.linalg.distributed.BlockMatrix.multiply。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。