c++ - 线性方程组,带约束的最小二乘法

标签 c++ c equation least-squares equation-solving

我试着先描述前提条件

我有许 multimap 像/矩阵,可以想象它们是图像处理程序中的层。这些层将被添加以形成最终输出。每层都有一个从0到1的因子

x_1 * M_1 + x_2 * M_2 + ... = S

M_i 矩阵是固定不变的。 目标是确定最接近给定 S 的 x_i 个因子(不一定是最好的)

矩阵的二维性与解决问题无关。它们可以重新排列形成矩阵形式的线性方程组。

每个矩阵M_i是M的一列,它们一起构成一个方程

M · x = S

M 可以非常大(几 10.000 行和 100 列)

您对最好基于库来解决这个问题的方法有什么建议吗?我知道有很多库可以解决最小二乘问题,但我找不到支持约束的库。首先满足 >= 0 条件对我来说就可以了

预先感谢您的帮助

最佳答案

mlpack似乎有拉格朗日乘数,参见 the docs . 这些允许您求解具有约束的方程。

关于c++ - 线性方程组,带约束的最小二乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21673781/

相关文章:

python - 求解隐式方程 Python

java - 将方程绘制到笛卡尔平面

c++ - boost qi::phrase_parse 只读取第一个元素

C++ 列表实现

c - 我可以取消引用整数指针的地址吗?

c++ - 如何检查指令是否为 LLVM IR 中的 PHI 指令

c++ - 高斯-塞德尔法求解非线性方程

c++ - 访问 map 元素会增加其分配的内存大小

c++ - Stackoverflow 和函数指针

c - 使用 libgraphviz/dot 进行树可视化