首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >内存和运行时性能

内存和运行时性能
EN

Stack Overflow用户
提问于 2012-12-08 09:20:30
回答 1查看 1.8K关注 0票数 1

我需要解(在最小二乘意义上)一大组线性系统(5万)。每个这样的“系统”都是Ax=B,其中A是一个N-by-K矩阵,x是k-by-1向量,B(显然)是N-by-1向量。(在我的例子中,n是5万,K是10)。

numpy.linalg.lstsq似乎是一个显而易见的选择,但由于文档中没有包含实现细节,我想知道内存和运行时性能:

运行时性能和内存需求是什么?

  1. 它是计算A,A^T,乘以它们并取逆,还是直接计算A的伪逆?
  2. 是否有一种方法可以直接计算结果的每一个Xi,从而节省内存?它会用它吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-08 11:36:18

documentation将结果描述为包含奇异值和秩;强烈暗示它正在使用奇异值。

我的笔记本电脑上的一个快速测试显示,在分配数组A和B之后,内存根本没有增加(如系统监视器报告的那样)。

代码语言:javascript
运行
复制
In [7]: A = np.random.randn(100000, 10)

In [8]: B = np.random.randn(100000)

In [9]: np.linalg.lstsq(A, B)
Out[9]: 
(array([ 0.00240061,  0.0017896 ,  0.00619928,  0.00010278, -0.00411501,
         0.00028532,  0.0003893 , -0.00042893,  0.00178326, -0.00444068]),
 array([ 99695.18278372]),
 10,
 array([ 318.37776275,  318.16578799,  317.82872616,  317.21981114,
         316.80987468,  315.63798002,  315.46574698,  314.73120345,
         313.99948001,  313.61503118]))
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13776168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档