我正在使用 GNU GSL 进行一些矩阵计算。我正在尝试将矩阵 B 与矩阵 A 的逆矩阵相乘。
现在我注意到 GSL 的 BLAS 部分有一个函数可以做到这一点,但前提是 A 是三角形。这有什么具体原因吗?另外,进行此计算的最快方法是什么?我应该使用 LU 分解来反转 A,还是有更好的方法?
FWIW,A 的形式为 P' G P,其中 P 是正规矩阵,P' 是其逆矩阵,G 是对角矩阵。
非常感谢:)
我的主窗口具有以下绘图功能:
void MainWindow::paintEvent(QPaintEvent*)
{
QImage sign(50, 50, QImage::Format_ARGB32_Premultiplied);
QPainter p(&sign);
p.setRenderHint(QPainter::Antialiasing, true);
p.fillRect(sign.rect(), QColor(255, 255, 255, 0));
p.setBrush(Qt::blue);
p.setPen(Qt::NoPen);
p.drawEllipse(0, 0, sign.width(), sign.height());
p.end();
QPainter painter(this);
painter.drawImage(rect(), sign, sign.rect());
}
Run Code Online (Sandbox Code Playgroud)
所以基本上,它会在 QImage 上绘制一个蓝色填充圆圈,然后将该 QImage 绘制到小部件上。然而,当我调整窗口大小时,我得到了奇怪的人工制品(在左上角)。它看起来是这样的:
原来的:

更改窗口大小后:

有谁知道这是为什么?
(我正在 Ubuntu 10.04 下工作,如果你感兴趣的话)