置换矩阵A和B是正方形的,并且每行只包含一个1。所有行都是唯一的。我已经添加了我的第一次尝试作为答案。我希望有人有一个更快的解决方案。 def permmult(a, b):
"""Multiply two permutation matrices.
a,b: lists of positive integers and zero."""
c = []
for row in a:
c.append(b[-row])
return c
我试图在存储为火花RowMatrix (使用Python )的矩阵上运行一些基本的线性代数操作(特别是转置、点积和逆)。按照docs中的示例(就我的情况而言,我将在矩阵中有更多的行,因此需要火花),假设我有如下所示:
from pyspark.mllib.linalg.distributed import RowMatrix
# Create an RDD of vectors.
rows = sc.parallelize([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
# Create a RowMatrix from an RDD of v
我有一个张量,包含五个2x2矩阵-形状(1,5,2,2),张量包含5个元素-形状(5)。我想把每个2x2矩阵(前一个张量)乘以相应的值(在后一个张量中)。结果张量应为形状(1,5,2,2)。怎么做?
在运行此代码时获取以下错误
a = torch.rand(1,5,2,2)
print(a.shape)
b = torch.rand(5)
print(b.shape)
mul = a*b
RuntimeError: The size of tensor a (2) must match the size of tensor b (5) at non-singleton dimension 3
我是一名从事地球物理反演的研究员。它需要求解线性系统:Au = rhs。这里A通常是稀疏矩阵,但rhs和u可以是稠密矩阵,也可以是向量。为了进行基于梯度的反演,需要进行灵敏度计算,需要大量的矩阵矩阵和矩阵向量乘法。最近,我在矩阵(稀疏)-矩阵(稠密)乘法中发现了一种奇怪的行为,下面是一个例子:
import numpy as np
import scipy.sparse as sp
n = int(1e6)
m = int(100)
e = np.ones(n)
A = sp.spdiags(np.vstack((e, e, e)), np.array([-1, 0, 1]), n, n)
A
我需要张量模n乘积。tenosr模式n乘积的定义可以在这里看到。https://www.alexejgossmann.com/tensor_decomposition_tucker/ 我找到了python代码。我想把这个代码转换成julia。 def mode_n_product(x, m, mode):
x = np.asarray(x)
m = np.asarray(m)
if mode <= 0 or mode % 1 != 0:
raise ValueError('`mode` must be a positive interger
我已经编写了一个python程序,它从文本文件中获取数字并生成两个矩阵。这些矩阵的大小非常大。
例如,矩阵1是5*X,矩阵2是X*5,其中X是0到160之间的随机数
我尝试了以下方法来对矩阵进行乘法,并使用较小的数字来验证乘法:
result = np.dot(matrix1,matrix2)
result = matrix1.dot(matrix2)
result = np.multiply(matrix1, matrix2[:, None])
当两个矩阵的维数相等时,这三种方法确实有效。因此,一个5*5矩阵乘以一个5*5矩阵就可以了。我的代码在尝试将维数不相等的矩阵相乘时抛出错误。例如,一
我正在将SVD应用于Python中的一个大型稀疏矩阵。我正在使用来自scipy.sparse.linalg包的svd。奇异值从升序中排序,因此奇异向量被排列成对应于升序奇异值的奇异向量。我想知道是否有一个选项,输出奇异值的降序,这样奇异向量也安排了相应的下降奇异值?下面只是一个示例代码:
from scipy.sparse.linalg import svds
from scipy import sparse
X = numpy.random.uniform(size = [40, 20])
X = scipy.sparse.csc_matrix(X)
u, s, vt = svds(X, 1
在python中有两个稀疏矩阵(a和b),它们具有以下维度:
a = <240760x2177930 sparse matrix of type '<class 'numpy.float64'>'
with 1127853 stored elements in Compressed Sparse Row format>
和
b = <240760x2177930 sparse matrix of type '<class 'numpy.float64'>'
with 439