- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
import numpy as np
from numpy.linalg import solve,norm,cond,inv,pinv
import math
import matplotlib.pyplot as plt
from scipy.linalg import toeplitz
from numpy.random import rand
c = np.zeros(512)
c[0] = 2
c[1] = -1
a = c
A = toeplitz(c,a)
cond_A = cond(A,2)
# creating 10 random vectors 512 x 1
b = rand(10,512)
# making b into unit vector
for i in range (10):
b[i]= b[i]/norm(b[i],2)
# creating 10 random del_b vectors
del_b = [rand(10,512), rand(10,512), rand(10,512), rand(10,512), rand(10,512), rand(10,512), rand(10,512), rand(10,512), rand(10,512), rand(10,512)]
# del_b = 10 sets of 10 vectors (512x1) whose norm is 0.01,0.02 ~0.1
for i in range(10):
for j in range(10):
del_b[i][j] = del_b[i][j]/(norm(del_b[i][j],2)/((float(j+1)/100)))
x_in = [np.zeros(512), np.zeros(512), np.zeros(512), np.zeros(512), np.zeros(512), np.zeros(512), np.zeros(512), np.zeros(512), np.zeros(512), np.zeros(512)]
x2 = np.zeros((10,10,512))
for i in range(10):
x_in[i] = A.transpose()*b[i]
for i in range(10):
for j in range(10):
x2[i][j] = ((A.transpose()*(b[i]+del_b[i][j]))
最后一行给我错误。 (输出操作数需要归约,但未启用归约)我如何解决它?我是 python 的新手,如果有更简单的方法,请告诉我
谢谢
最佳答案
您看到的错误是因为您所创建内容的维度不匹配,但是您的代码在所有循环中的效率也很低,并且没有以最佳方式使用 Numpy 的自动广播。我已经重写了代码以执行您想要的操作:
import numpy as np
from numpy.linalg import solve,norm,cond,inv,pinv
import math
import matplotlib.pyplot as plt
from scipy.linalg import toeplitz
from numpy.random import rand
# These should probably get more sensible names
Nvec = 10 # number of vectors in b
Nlevels = 11 # number of perturbation norm levels
Nd = 512 # dimension of the vector space
c = np.zeros(Nd)
c[0] = 2
c[1] = -1
a = c
# NOTE: I'm assuming you want A to be a matrix
A = np.asmatrix(toeplitz(c, a))
cond_A = cond(A,2)
# create Nvec random vectors Nd x 1
# Note: packing the vectors in the columns makes the next step easier
b = rand(Nd, Nvec)
# normalise each column of b to be a unit vector
b /= norm(b, axis=0)
# create Nlevels of Nd x Nvec random del_b vectors
del_b = rand(Nd, Nvec, Nlevels)
# del_b = 10 sets of 10 vectors (512x1) whose norm is 0.01,0.02 ~0.1
targetnorms = np.linspace(0.01, 0.1, Nlevels)
# cause the norms in the Nlevels dimension to be equal to the target norms
del_b /= norm(del_b, axis=0)[None, :, :]/targetnorms[None, None, :]
# Straight linear transformation - make sure you actually want the transpose
x_in = A.T*b
# same linear transformation on perturbed versions of b
x2 = np.zeros((Nd, Nvec, Nlevels))
for i in range(Nlevels):
x2[:, :, i] = A.T*(b + del_b[:, :, i])
关于python - 输出操作数需要归约,但未启用归约 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14998530/
我有一个需要映射/缩减的文件,其中输出需要总和和日期的最大值。我有总和部分的工作,但是,我不确定如何将最大日期作为减少的输出的一部分。 输入数据如下所示: ID1, ID2, date,
我必须为 C 的一个子集构建一个编译器。显然,因为这是我第一次做这样的事情,所以进展得不是很好。然而。我目前正在尝试为所述子集构建词法分析器和解析器。 我决定逐步构建它,并在出现错误时进行修复。所以我
我听说过很多关于 Map/Reduce 的内容,尤其是在 Google 大规模并行计算系统的背景下。到底是什么? 最佳答案 来自 Google 的摘要 MapReduce研究发表页面: MapRedu
我正在使用 JavaScript 原生 reduce,但是我想稍微改变分组以获得我想要的结果。我有一个数组如下: const people = [ {name: "John", age: 23,
我试图让一个简单的 map reduce 在 MongoVUE 中工作,但它没有返回任何结果,我只是想让它输出每个 userID 的计数,这样我就可以有一个工作示例来构建。 function Map(
我可能错了,但我见过的所有(?)Apache Hadoop 示例都将存储在本地文件系统上的文件作为输入(例如 org.apache.hadoop.examples.Grep) 有没有办法在 Hadoo
如何在 Swift 4 中以更优雅的方式完成类似以下的事情,例如使用 map 和/或 reduce。 为了在此处发布,我简化了代码,但请注意它确实需要使用索引。 var numbers = [50,
我是一名优秀的程序员,十分优秀!