Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数组值函数的Numpy矢量化_Python_Arrays_Numpy_Memory_Vectorization - Fatal编程技术网

Python 数组值函数的Numpy矢量化

Python 数组值函数的Numpy矢量化,python,arrays,numpy,memory,vectorization,Python,Arrays,Numpy,Memory,Vectorization,我有一个矩阵值函数(即$M(t):R\to R^2$),我想做一个numpy数组(即[t1,M(t1)],[t2,M(t2)],…])。我的解决方案很明显也很笨拙: bigM = np.zeros(100, 10, 10) tArray = np.linspace(1, 101, 100) for i in range(100): bigM[i,:,:] = smallM(tArray[i]) 但它的速度非常慢,而且在某些情况下会出现内存问题(事实上,10和100远远超过10和100:

我有一个矩阵值函数(即$M(t):R\to R^2$),我想做一个numpy数组(即[t1,M(t1)],[t2,M(t2)],…])。我的解决方案很明显也很笨拙:

bigM = np.zeros(100, 10, 10)
tArray = np.linspace(1, 101, 100)
for i in range(100):
    bigM[i,:,:] = smallM(tArray[i])
但它的速度非常慢,而且在某些情况下会出现内存问题(事实上,10和100远远超过10和100:)。因此,有两个问题:

  • 是否有一些矢量化程序可以更快地处理它

  • 我能在不给我的半导体朋友增加RAM的情况下解决内存问题吗

  • UPD:有时我不得不在不引入bigM矩阵的情况下处理相同的问题。即:

    tArray = np.linspace(1, 101, 100)
    someArray = np.zeros(len(tArray))
    for i in range(100):
        M = smallM(tArray[i])
        ...
        someArray[i] = someFunction(M)
        ...
    
    然而,同样的两个问题还是出现了


    UPD2:smallM是来自第三方库的矩阵值函数

    smallM
    在做什么?需要花费时间的主要事情是调用
    smallM
    100次。迭代机制有很多变化,但它们在时间上没有多大差别。只要它是一个“黑匣子”,我们就帮不了你。之前的许多问题中有一个是这样的
    smallM
    在做什么?最重要的是要花时间打100次电话给
    smallM
    。迭代机制有很多变化,但它们在时间上没有多大差别。只要它是一个“黑匣子”,我们就帮不了你。这是之前许多类似问题中的一个