我需要帮助调整代码来制定3x3矩阵并显示身份矩阵

I need help adapting a code to work out a 3x3 matrix and displaying the identity matrix?

本文关键字:3x3 身份 显示 帮助 调整 代码      更新时间:2023-10-16

嗨,我已经在C 上编程以求解一个3x3矩阵。但是,我还需要证明将矩阵乘以其逆,将给出单位矩阵。我找到了这样做的代码,但是非常复杂,对于5x5矩阵。我希望有人能适应它并为我解释,我是新手编码和挣扎的新手。使用此代码,您没有选项可以输入代码,并且不确定如何编辑它来执行此操作并将其用于3x3矩阵。任何帮助将不胜感激。

我从此链接中获得了代码,并在Microsoft Visual Studio上使用了代码。

https://www.sanfoundry.com/cpp-program-find-inverse-matrix/

(如果社区表明它不喜欢这个答案,我将缩回(。

在计算上,您不像学校所教导的那样计算矩阵的倒数;由于该算法对更高维度的性能非常出色。

这就是我计算矩阵的倒数的方式。我使用Boost的Blas分布。我将矩阵类包装在我自己的matrixT中,但这是演示增量简单的代码:

// Inversion operator
matrixT I() const
{
     matrixT A(*this);
     boost::numeric::ublas::permutation_matrix<std::size_t> pm(rows());
     if (boost::numeric::ublas::lu_factorize(A, pm)){
         throw "matrix is singular";
     }
     matrixT ret = identity_matrix(rows());
     boost::numeric::ublas::lu_substitute(A, pm, ret);
     return ret;
}