相关疑难解决方法(0)

稀疏约束线性最小二乘求解器

这个伟大的SO答案指向一个好的稀疏求解器Ax=b,但是我已经有了约束,x因此每个元素x都是>=0一个<=N.

此外,A巨大的(约2e6x2e6),但<=4每行元素非常稀疏.

有什么想法/建议吗?我正在寻找像MATLAB这样的东西,lsqlin但是有很大的稀疏矩阵.

我基本上试图解决稀疏矩阵上的大规模有界变量最小二乘问题:

替代文字

编辑:CVX中:

cvx_begin
    variable x(n)
    minimize( norm(A*x-b) );
    subject to 
        x <= N;
        x >= 0;
cvx_end
Run Code Online (Sandbox Code Playgroud)

c++ math linear-algebra linear-programming sparse-matrix

9
推荐指数
1
解决办法
6469
查看次数

优化三对角系数矩阵的 A*x = B 解

我有一个形式为的方程组,A*x = B其中[A]是三对角系数矩阵。使用 Numpy 求解器,numpy.linalg.solve我可以求解 x 的方程组。

请参阅下面的示例,了解我如何开发三对角[A]矩阵。向量{B},并求解x

# Solve system of equations with a tridiagonal coefficient matrix
# uses numpy.linalg.solve

# use Python 3 print function
from __future__ import print_function
from __future__ import division

# modules
import numpy as np
import time

ti = time.clock()

#---- Build [A] array and {B} column vector

m = 1000   # size of array, make this 8000 to see time benefits …
Run Code Online (Sandbox Code Playgroud)

python performance numpy matrix scipy

5
推荐指数
1
解决办法
1万
查看次数

UMFPACK和BOOST的uBLAS稀疏矩阵

我在数字代码中使用Boost的uBLAS,并且有一个"重"解算器:

http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?LU_Matrix_Inversion

代码工作得很好,然而,它很慢.经过一些研究,我找到了UMFPACK,它是一个稀疏矩阵求解器(除此之外).我的代码生成大型稀疏矩阵,我需要非常频繁地反转(更正确地解决,逆矩阵的值是无关紧要的),因此UMFPACk和BOOST的Sparse_Matrix类似乎是一个幸福的婚姻.

UMFPACK请求由三个向量指定的稀疏矩阵:条目计数,行索引和条目.(见例).

我的问题归结为,我可以从BOOST的Sparse Matrix类中有效地获得这三个向量吗?

c++ boost numerical linear-algebra umfpack

4
推荐指数
1
解决办法
3883
查看次数