繁体   English   中英

在C ++中计算矩阵的行列式而不创建子矩阵

[英]Calculating determinant of Matrix in C++ without creating submatrices

有没有一种方法可以在C ++中仅使用一个变量(第一个加载的矩阵)来确定给定矩阵的行列式,而在下一个递归函数中仅使用该矩阵的引用来确定矩阵的行列式?

如何仅使用第一个矩阵中的元素及其坐标,如何使用矩阵中元素的坐标来确定给定矩阵的子矩阵的行列式而不将其创建为矩阵? 可以使用递归来完成,还是不应该使用递归?

如果您要使用Cramer规则为大于3x3的任何大小的矩阵计算行列式,那么您肯定做错了。 性能会很糟糕。

您可能认为最简单的方法是使用行减少将其变成上三角矩阵。 找到上三角矩阵的行列式很容易-只需将对角线相乘即可。 至于其余的,只需乘以您使用的常数,并记住每次交换都是-1。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM