Questions tagged «matrix»

矩阵是元素(eq数字,符号或表达式)的矩形阵列,排列成列和行。

17
是否有适用于Python的高质量非线性编程求解器?
我要解决几个具有挑战性的非凸全局优化问题。目前,我使用了MATLAB的Optimization Toolbox(特别是fmincon()使用algorithm = 'sqp'),它非常有效。但是,我的大部分代码是在Python中进行的,我也想在Python中进行优化。是否存在可以与Python绑定竞争的NLP求解器fmincon()?它必须 能够处理非线性等式和不等式约束 不需要用户提供雅可比行列式。 如果不保证全局最优(fmincon()没有),也可以。我正在寻找一种即使在遇到挑战性问题时也可以收敛到局部最优的东西,即使它比慢一些fmincon()。 我尝试了OpenOpt提供的几种求解器,发现它们不如MATLAB的fmincon/sqp。 只是为了强调,我已经有了一个易于处理的公式和一个好的求解器。我的目标仅仅是更改语言,以使工作流程更加简化。 Geoff指出问题的某些特征可能是相关的。他们是: 10-400个决策变量 4-100个多项式相等约束(多项式范围从1到大约8) 有理不等式约束的数量大约等于决策变量数量的两倍 目标函数是决策变量之一 等式约束的雅可比行列是密集的,不等式约束的雅可比行列是密集的。

6
用于Matrix表达式的符号软件包?
我们知道是对称且正定的。我们知道是正交的:乙一种A\mathbf A乙B\mathbf B 问题:对称且正定的吗?答:可以。乙 ⋅甲 ⋅乙⊤B⋅A⋅B⊤\mathbf B \cdot\mathbf A \cdot\mathbf B^\top 问题:电脑可以告诉我们吗?答:可能吧。 是否存在处理和传播有关矩阵的已知事实的符号代数系统(例如Mathematica)? 编辑:明确地说,我问这个问题关于抽象定义的矩阵。即我没有和显式条目,我只知道它们都是矩阵,并且具有特殊的属性,例如对称,正定等。乙一种AA乙BB

4
处理正定对称(协方差)矩阵的逆矩阵?
在统计数据及其各种应用中,我们经常计算协方差矩阵,该方差矩阵是正定的(在考虑的情况下)并且是对称的,用于各种用途。有时,我们需要此矩阵的逆进行各种计算(例如,以该逆为(仅)中心矩阵的二次形式)。考虑到该矩阵的质量和预期用途,我想知道: 就数值稳定性而言,逆运算的最佳计算或使用方法(一般来说是二次形式或矩阵矢量乘法)是什么?可以派上用场的一些分解?



3

2
为何不反转矩阵的实际示例
我知道将矩阵求逆来求解线性系统不是一个好主意,因为它不如直接求解该系统或使用LU,Cholesky或QR分解那样准确和有效。 但是,我无法通过一个实际的例子进行验证。我已经尝试过此代码(在MATLAB中) M = 500; A = rand(M,M); A = real(expm(1i*(A+A.'))); b = rand(M,1); x1 = A\b; x2 = inv(A)*b; disp(norm(b-A*x1)) disp(norm(b-A*x2)) 并且残差总是相同的阶数(10 ^ -13)。 有人可以提供一个实际的例子,其中inv(A)* b的准确度远小于A \ b吗? ------问题更新------ 谢谢您的回答。但是,假设我们必须求解次系统,其中始终是相同的矩阵。考虑一下A x = b AnnnAx=bAx=bAx = bAAA -已满,因此需要存储器存储比相同。AAAA−1A−1A^{-1}AAA 条件数较小,因此可以精确计算。AAAA−1A−1A^{-1} 在那种情况下,计算比使用LU分解会更有效吗?例如,我已经尝试过以下Matlab代码:A−1A−1A^{-1} %Set A and b: M = 1000; A = rand(M,M); …

4
矩阵的行主列与列主列布局
在对密集矩阵计算进行编程时,是否有任何理由要选择超过行的主布局的行主布局? 我知道,根据所选矩阵的布局,我们需要编写适当的代码以有效地将高速缓存用于速度目的。 以行为主的布局似乎更自然,更简单(至少对我而言)。但是用Fortran编写的LAPACK之类的主要库都使用列的主要布局,因此必须有一些选择的理由。
16 matrix  fortran 

4
为什么Householder反射不能对角化矩阵?
在实践中计算QR因式分解时,人们使用Householder反射将矩阵的下部归零。我知道,要计算对称矩阵的特征值,您对Householder反射所做的最大努力就是将其变为三对角形式。有什么明显的方法可以看出为什么不能以这种方式完全对角线化吗?我只想简单地解释一下,但无法给出清晰的介绍。

3
矩阵平方根逆的高效计算
统计中的一个常见问题是计算对称正定矩阵的平方根逆。什么是最有效的计算方式? 我碰上了一些文献(我还没有读),以及一些附带的R代码里面在这里,我将在这里重现为了方便 # function to compute the inverse square root of a matrix fnMatSqrtInverse = function(mA) { ei = eigen(mA) d = ei$values d = (d+abs(d))/2 d2 = 1/sqrt(d) d2[d == 0] = 0 return(ei$vectors %*% diag(d2) %*% t(ei$vectors)) } 我不能完全确定我了解这条线d = (d+abs(d))/2。有没有更有效的方法来计算矩阵平方根逆?R eigen函数调用LAPACK。

3
为什么矩阵向量乘法缩放没有缩放?
抱歉,很长的帖子,但我想一开始就包括我认为相关的所有内容。 我想要的是 我正在实现用于稠密矩阵的Krylov子空间方法的并行版本。主要是GMRES,QMR和CG。我(剖析后)意识到我的DGEMV例程是可悲的。因此,我决定通过隔离来集中精力解决这一问题。我尝试在12核计算机上运行它,但以下结果是4核Intel i3笔记本电脑的结果。趋势差异不大。 我的KMP_AFFINITY=VERBOSE输出在这里。 我写了一个小代码: size_N = 15000 A = randomly_generated_dense_matrix(size_N,size_N); %Condition Number is not bad b = randomly_generated_dense_vector(size_N); for it=1:n_times %n_times I kept at 50 x = Matrix_Vector_Multi(A,b); end 我相信这可以模拟CG进行50次迭代的行为。 我尝试过的 翻译 我最初是用Fortran编写代码的。我将其翻译为C,MATLAB和Python(Numpy)。不用说,MATLAB和Python太可怕了。令人惊讶的是,对于上述值,C比FORTRAN好一到两秒。一致。 剖析 我分析了要运行的代码,并且运行了46.075几秒钟。这是将MKL_DYNAMIC设置为FALSE并且使用了所有内核的时候。如果我将MKL_DYNAMIC设置为true,则在任何给定时间点仅使用(大约)一半数量的内核。以下是一些详细信息: Address Line Assembly CPU Time 0x5cb51c mulpd %xmm9, %xmm14 36.591s 最耗时的过程似乎是: Call Stack …


4
快速确定密集矩阵是否为低秩
在我正在从事的软件项目中,对于密集的低阶矩阵,某些计算非常容易。一些问题实例涉及密集的低秩矩阵,但是它们是完全提供给我的,而不是作为因素提供给我的,因此,如果我想利用低秩结构,就必须检查秩并分解矩阵。 所讨论的矩阵通常是完全或接近完全密集的,n的范围从一百到几千。如果矩阵的秩较低(例如小于5到10),则计算SVD并使用它形成低秩分解是值得的。但是,如果矩阵的排名不低,则将浪费精力。 因此,我想找到一种快速合理的方法来确定等级是否较低,然后再投入精力进行完整的SVD因数分解。如果在任何时候都可以确定等级高于临界值,则该过程可以立即停止。如果该过程在不正确的情况下错误地将矩阵声明为低秩,则这不是一个大问题,因为我仍然会执行完整的SVD来确认低秩并找到低秩分解。 我考虑过的选项包括显示LU或QR因式分解的等级,然后是完整的SVD作为检查对象。我还应该考虑其他方法吗?

2
计算一个非常大且非常稀疏的邻接矩阵的所有特征值
我有两个图,每个图都有近n〜100000个节点。在两个图中,每个节点正好连接到其他3个节点,因此邻接矩阵是对称的并且非常稀疏。 困难的部分是我需要邻接矩阵的所有特征值,而不是特征向量。准确地说,这将是我一生中唯一的一次(至少据我所知!),因此我想获取所有特征值,并且不介意等待几天来获取它们。 我尝试过scipy包装器ARPACK,但是花费的时间太长。我找到了多个库,但是它们最适合于获得最大/最小特征值的子集。是否有适用于对称稀疏矩阵并可能并行实现所有特征值的库?

2
矩阵求逆的“辅助因子技术”是否有实际意义?
标题就是问题。该技术涉及使用“辅因子矩阵”或“辅助矩阵”,并为方矩阵逆矩阵的成分提供了明确的公式。对于大于的矩阵,手工操作并不容易3×33×33\times 3。对于一个n×nn×nn\times n矩阵,它需要计算矩阵本身的行列式和计算n2n2n^2决定因素(n−1)×(n−1)(n−1)×(n−1)(n-1)\times(n-1)矩阵。因此,我猜测它对应用程序没有太大用处。但我想确认。 我并不是在问技术证明矩阵定理的理论意义。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.