为了账号安全,请及时绑定邮箱和手机立即绑定

在 Numpy Python 中矢量化 QR

在 Numpy Python 中矢量化 QR

aluckdog 2022-05-24 16:22:02
我正在尝试按照文档在此处的建议对 numpy 中的 QR 分解进行矢量化,但是我不断遇到尺寸问题。我对自己做错了什么感到困惑,因为我相信以下内容遵循文档。有谁知道这有什么问题:import numpy as npX = np.random.randn(100,50,50)vecQR = np.vectorize(np.linalg.qr)vecQR(X)
查看完整描述

2 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

来自文档:“默认情况下,假定 pyfunc 将标量作为输入和输出。”。所以你需要给它一个签名:

vecQR = np.vectorize(np.linalg.qr, signature='(m,n)->(m,p),(p,n)')


查看完整回答
反对 回复 2022-05-24
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

np.linalg.qr只映射到 arr 的第一个轴怎么样?:


In [35]: np.array(list(map(np.linalg.qr,  X)))

Out[35]: 

array([[[[-3.30595447e-01, -2.06613421e-02,  2.50135751e-01, ...,

           2.45828025e-02,  9.29150994e-02, -5.02663489e-02],

         [-1.04193390e-01, -1.95327811e-02,  1.54158438e-02, ...,

           2.62127499e-01, -2.21480958e-02,  1.94813279e-01],

         [ 1.62712767e-01, -1.28304663e-01, -1.50172509e-01, ...,

           1.73740906e-01,  1.31272690e-01, -2.47868876e-01]


查看完整回答
反对 回复 2022-05-24
  • 2 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信