使用eigen库:

求行列式:

#include <iostream>
#include <Eigen/Dense>
using namespace std;
using namespace Eigen;
int main()
{
Matrix2d c;
c << , ,
, ;
//转置、伴随
std::cout<<c<<std::endl<<std::endl;
std::cout<<"转置\n"<<c.transpose()<<std::endl<<std::endl;
std::cout<<"伴随\n"<<c.adjoint()<<std::endl<<std::endl;
//逆矩阵、行列式
std::cout << "行列式: " << c.determinant() << std::endl;
std::cout << "逆矩阵\n" << c.inverse() << std::endl;
}

【其他】

用C语言解决:求任意阶(n阶)矩阵的行列式https://baike.1688.com/doc/view-d3171824.html

/* 用C语言解决:求任意阶(n阶)矩阵的行列式值 */
#include <stdio.h>
#include <math.h> void getarray(int n);
void showarray(int n);
double getresult(int n);
double array[][];/*设矩阵不超过10阶,可更改*/ int main()
{
int n;
double result;
printf("
Please input the Array size n:");
scanf("%d",&n);
getarray(n);
showarray(n);
result=getresult(n);
printf("
Result=%f
",result);
system("pause");
return ;
} void getarray(int n)
{
int row,col;
for(row=;row<n;row++)
{
printf("
Please input line %d:",row+1);
for(col=;col<n;col++)
scanf("%lf",&array[row][col]);
}
} void showarray(int n)
{
int row,col;
printf("
A=");
for(row=;row<n;row++)
{
for(col=;col<n;col++)
printf(" %f",array[row][col]);
printf("
");
}
} double getresult(int n)
{
double temp,result=1.0;
int switchtime=,flag=;
int row,nextrow,col,stemp;
for(row=;row<n-;row++)
{
nextrow=row+;
if(array[row][row]==)/* 开始处理第一列,如果行列式第一行第一个数为零,要交换行 */
{ while(array[nextrow][row]==)
{
nextrow++; /* 如果行列式第二行第一个数为零,行增加继续寻找非零数值的行 */
if(nextrow==n)/* 如果遍历完行列式行列式第一列元素都为零,退出while循环 */
{ flag=;
break;
}
}
if(flag==) /* 退出while循环后回到for(row=0;row<n-1;row++)行加1?*/
continue; /* 从array[row][row]==0知列也相应加1,开始处理第二列 */
switchtime++; /* 每交换一次行,行列式符号变化1次,统计变化次数 */
for(col=;col<n;col++) /* 交换非零行到行列式顶部 */
{
stemp=array[row][col];
array[row][col]=array[nextrow][col];
array[nextrow][col]=stemp;
}
}
for(nextrow=row+;nextrow<n;nextrow++)
{ /* 类似高斯消去法,消第一行下各行第一列数值到零*/
temp=array[nextrow][row]/array[row][row];
for(col=;col<n;col++)
array[nextrow][col]+=-temp*array[row][col];/* 化行列式为上三角行列式形式 */
}
}
showarray(n);
for(row=;row<n;row++)
result*=array[row][row];
if(switchtime%)
return -result;
else
return result;
}

C++中计算矩阵的行列式的更多相关文章

  1. SPOJ - Find The Determinant III 计算矩阵的行列式答案 + 辗转相除法思想

    SPOJ -Find The Determinant III 参考:https://blog.csdn.net/zhoufenqin/article/details/7779707 参考中还有几个关于 ...

  2. 【原创】开源Math.NET基础数学类库使用(16)C#计算矩阵秩

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 上个月 ...

  3. 【原创】开源Math.NET基础数学类库使用(17)C#计算矩阵条件数

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 上个月 ...

  4. 开源Math.NET基础数学类库使用(17)C#计算矩阵条件数

    原文:[原创]开源Math.NET基础数学类库使用(17)C#计算矩阵条件数                本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p ...

  5. 开源Math.NET基础数学类库使用(16)C#计算矩阵秩

    原文:[原创]开源Math.NET基础数学类库使用(16)C#计算矩阵秩                本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4 ...

  6. MathType输入矩阵和行列式的技巧

    高等代数里,经常要使用到矩阵和行列式,尤其是在写论文时,如何编辑矩阵和行列式呢?比较好的方法就是使用专业的公式编辑器MathType进行编辑,下面就一起来学习具体的编辑技巧. 具体步骤如下: 步骤一 ...

  7. 【原创】开源Math.NET基础数学类库使用(15)C#计算矩阵行列式

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 上个月 ...

  8. 开源Math.NET基础数学类库使用(15)C#计算矩阵行列式

    原文:[原创]开源Math.NET基础数学类库使用(15)C#计算矩阵行列式                本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p ...

  9. python中numpy计算数组的行列式numpy.linalg.det()

    numpy.linalg.det numpy.linalg.det(a)[source] 计算任何一个数组a的行列式,但是这里要求数组的最后两个维度必须是方阵. 参数: a : (..., M, M) ...

随机推荐

  1. SQLSERVER调用DLL程序

    在SQL Server中调用dll分为两个步骤 1.创建一个dll文件(dll文件分成3种类型,讲其中一种) 2.把dll文件放进SQL Server的程序集中.然后定义一个Function,就可以通 ...

  2. DICOM中几个判断图像方向的tag

    在DICOM标准里,有三个TAG与成像的方向相关. 参考来源:Kitware关于DICOM方向的说明 http://public.kitware.com/IGSTKWIKI/index.php/DIC ...

  3. apache poi合并单元格设置边框

    HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); //创建一个样式 HSSFCellStyle sty ...

  4. Calendar抽象类返回自己和Integer.TYPE和int.class

    public class Calend { public static void main(String[] args) { Calendar cal=Calendar.getInstance();/ ...

  5. 使用Python实现生产者消费者问题

    之前用C++写过一篇生产者消费者的实现. 生产者和消费者主要是处理互斥和同步的问题: 队列作为缓冲区,需要互斥操作 队列中没有产品,消费者需要等待,直到生产者放入产品并通知它.队列慢的情况类似. 这里 ...

  6. react-native-scrollable-tab-view 实现 TabBar

    1.创建组件 src/components/CustomTabBar/index.js /** * 自定义选项卡 */ import React, {Component} from 'react'; ...

  7. 设置客户端连接PostgreSQL不需要密码

    平常工作中,有时需要远端连接 PostgreSQL 数据库做些维护,例如远端备份等:如果备份脚本写在远端机器,备份的时候会弹出密码输入提示,那么脚本就不能后台执行,这里总结了几种不弹出密码输入提示的方 ...

  8. 常见的开发语言(或IT技术)一览

    Java. Android. iOS. Web前端. Python. .NET. PHP. C/C++. Linux 数据库技术

  9. 【English】口头禅

    1. Absolutely! 毫无疑问! 2. Adorable! 可爱极了! 3. Amazing! 太神奇了! 4. Anytime! 随时吩咐! 5. Almost! 差不多了! 6. Awfu ...

  10. 在Gridview中输入小数时报对于int32 太大或太小

    使用Datagridview绑定Access数据库,对于数字类型的数据输入小数后报以下错误: 根据错误判断应该是自动检测该栏位应该输入int32类型的数值.我在数据库中定义了保留4位小数,为什么还被转 ...