给MTL库添加求行列式值
在使用MTL库的时候,发现mtl库没有求行列式的值的函数,google了一把,找到下面的网页
How to Find Determinant of nxn matrix?
参考里面的说明,给mtl加上了,求行列式值的功能。
新建一个C++的头文件,名称随便取,在里面输入下面的代码:
#include <mtl/matrix.h> #include <mtl/mtl.h> #include <mtl/dense1D.h> #include <mtl/utils.h> #include <mtl/lu.h> namespace mtl { /*!This function calculates the determinant of a matrix */ template<class MatrixType> double lu_det(const MatrixType& _Matrix) { int size = _Matrix.nrows(); MatrixType LU(size,size); dense1D<int> pvector(size); copy(_Matrix, LU); lu_factor(LU, pvector); // For every permutation of rows the product of diagonal elements has to be multyplied by -1 int sign = 1; for (int i = 0 ; i < size ; ++i){ if ( pvector[i] != i+1 ) sign *= -1; } typename MatrixType::iterator iter; iter = LU.begin(); double det = 1.0; unsigned ind = 0; for ( iter = LU.begin(); iter != LU.end(); ++iter ){ ind = iter.index(); det *= LU(ind, ind); } det *= sign; return det; } }
然后在自己的程序中,定义一个mtl的矩阵,就可以直接使用lu_det来计算了,需要注意的是,输入的矩阵行列必须相等。
给MTL库添加求行列式值相关推荐
- 矩阵库eigen的用法(三)————求行列式值和三角分解求线性方程组的解
在经过前面2篇对 eigen库的基础知识了解之后,下面就可以用eigen库进行一些实际的操作了. 1.计算矩阵行列式的值 在Eigen里你不能混合两种不同类型的矩阵,像这样是错的 v_3d <& ...
- MATLAB常见矩阵运算函数,矩阵的转置transpose()、求行列式值det()、求矩阵的秩rank()、求矩阵的特征值eig()、求逆矩阵inv()
MATLAB常见矩阵运算函数 1.转置 如矩阵A 转置后 2.求行列式的值det(A) 使用此函数必须保证A为方阵 3.求矩阵的秩 4.求方阵的特征值 5.求方阵的逆矩阵
- C++高斯消去法求行列式值
</pre><p><pre name="code" class="cpp">////Created By Kevin Fen ...
- c语言,通过计算行最简的方式来求行列式的值
之前写过一个通过定义求行列式值的程序.但是新手写的,懂得都懂.昨天又看了看,我都不知道我咋写出来的了.颇有公司换人接前辈代码的感觉(虽然差了好几个量级).顺带着为了能以后考一考后辈,所以我又用行最简的 ...
- opencv求矩阵的逆_OpenCV 矩阵操作 加减乘除 求逆 行列式值 | 学步园
GEMM 通用矩阵乘法 void cvGEMM( const CvArr* src1, const CvArr* src2, double alpha, const CvArr* src3, doub ...
- #c拉普拉斯展开求行列式的值
#c拉普拉斯展开求行列式的值 #include <stdio.h> int det(int n, int(*p)[n]); int main(){ int n; scanf ...
- c语言编写程序计算行列式值,求行列式的值,用C语言怎么写啊? 如何求行列式的值...
导航:网站首页 > 求行列式的值,用C语言怎么写啊? 如何求行列式的值 求行列式的值,用C语言怎么写啊? 如何求行列式的值 相关问题: 匿名网友: 行列式计算公式知道吧,给你个源码参考,大一时写 ...
- 四阶代数余子式怎么求_老笔记整理五:C实现10阶内通过展开代数余子式求行列式的值...
这个分为两部分,先是写出了C实现计算三阶行列式,然后过了一段时间突然有了思路才写下了10阶内这段代码.真怀念那段写代码的日子. 一:C实现计算三阶行列式 最近高数课在上线性代数,二阶的还能口算,三阶的 ...
- 6*6行列式相加的c语言,求行列式的值,用C语言怎么写啊?
优质回答 回答者:徐州小可爱 行列式计算公式知道吧,给你个源码参考,大一时写的. #include #include #define MAX 9 /*定义最大为9阶行列式*/ int Fun(int ...
最新文章
- 三星自动驾驶汽车路测获批,进军无人驾驶领域
- A. Powered Addition【贪心】
- kswapd0 挖矿_bioset linux_linux bioset 进程 腾讯云
- 初识Buildroot
- 荷兰籍空乘服务中国春运:对春节有着别样的感受
- Android用ImageView显示本地和网上的图片
- 【零基础学Java】—Calendar类(三十四)
- Java Excel文件下载
- 【Kotlin -- 知识点】学习资料
- 数学建模之图论最短路径问题
- 出现Illegal invocation的报错
- 计算机操作与应用60,60个技巧使您成为计算机高手!
- 超市销售数据分析python、求某一个人的营业额总和_Python+pandas使用交叉表分析超市营业额数据!这超市怕是!...
- 推土距离, Wasserstein distance
- (二) DIM-SUM系统环境搭建之编译与调试环境
- Java RPC 分布式框架性能大比拼,Dubbo排老几?
- 什么是粗粒度和细粒度权限
- 百度webgis-api-加载卫星影像图
- iOS_屏幕截图功能
- Windows操作系统优化
热门文章
- access性别字段_12、ACCESS数据表的筛选(ACCESS图解操作系列)
- 计算机考试老师批卷么,【揭秘】高考答卷扫描到电脑上是啥模样?阅卷老师喜欢啥样的答卷?...
- C语言之数据类型,C语言之数据类型
- python有关迭代器和生成器的面试题_python面试题之生成器迭代器
- 洛谷——P1319 压缩技术
- div和span标签(HTML)
- Vue 报错Error: No PostCSS Config found解决办法
- ES6---new Promise()使用方法
- 爬取猫眼电影相关信息
- 201509-2-日期计算