arrays - 对 numpy 数组的所有元素应用线性变换

标签 arrays numpy matrix-multiplication

我有一个像这样的 numpy 数组

============ arr_data
<type 'numpy.ndarray'>
[[ 269.05515748   24.71801578]
 [ 276.96505874   21.72957922]
 [ 198.32475308   19.26596641]
 ...
 [ 158.11078724  -49.91437661]
 [ 219.79342843  -62.06756014]
 [  69.92358315 -166.19385119]]
('arr_data ndim: ', 2)
('         size: ', 413410)
('        shape: ', (206705, 2))
('        dtype: ', dtype('float64'))

将其可视化为由 206705 个向量 (x, y) 组成的数组,如何对数组中的每个元素应用相同的线性变换?

我想这将是一个 2x2 对角矩阵的矩阵乘法,然后添加一个向量,即

   (x', y') = ([a, 0], [0, b])(x, y) + (c, d)

但我不知道如何正确编码。请问有人可以提供任何提示吗?

最佳答案

我猜你要找的是np.matmul() :

import numpy as np   
a_b = np.array([[a,0],[0,b]])
x_y_new = np.matmul(x_y,a_b) + c_d

确保所有变量都有正确的尺寸。

关于arrays - 对 numpy 数组的所有元素应用线性变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58713206/

相关文章:

python - 分箱后如何对数字列表的内容进行配对

performance - 级联矩阵乘法

neural-network - 二维卷积作为矩阵-矩阵乘法

arrays - MATLAB:如何向量乘两个矩阵数组?

python - 以矢量化方式连接给定开始、结束数字的范围数组 - NumPy

javascript - 如何将数字切成更小的数字以适合我的数组

arrays - Powershell array .contains 方法似乎没有像宣传的那样工作

python - 如何向量化 numpy 日期时间数组上的 bool 运算,其中 bool 运算比较日期时间对象属性?

javascript - 将具有相同属性的对象数组转换为具有数组值的一个对象

numpy - c 风格与 numpy dtypes 的联合?