行列式
来源:互联网 发布:淘宝网衣服货到付款 编辑:程序博客网 时间:2024/04/28 15:52
行列式在数学中,是由解线性方程组产生的一种算式,是取自不同行不同列的n个元素的乘积的代数和。
介绍两个概念:
主对角线:左上方与右下方组成的对角线。
次对角线:另一条对角线。(右上到左下)
介绍两个最重要的性质:
1、上三角行列式(下三角行列式)的值等于其主对角线上n个元素的乘积。
2、互换行列式的两行(列),行列式变号(正、负)。
1.二阶行列式
定义:由四个数排成两行两列的数表。
计算:二阶行列式的值就是主对角线相乘减去次对角线相乘得到的数值。
2.三阶行列式
基本同上。
但计算不同:
标准计算方法是在已给行列式的右边添加已给行列式的第一列、第二列。这时,三阶行列式的值等于主对角线的三个数乘积与 和主对角线平行的另外两个对角线上的数的积的和减去次对角线的三个数的乘积与和次对角线平行的对角线上三个数的积的和的差。
即上式= a1·b2·c3+b1·c2·a3+c1·a2·b3-a3·b2·c1-b3·c2·a1-c3·a2·b1。
n阶行列式
长的样子类比上面……
计算:
根据性质1,用‘化为三角形行列式法’计算。
怎么化呢?就是通过 行与行(列与列)之间的加减 或是 交换行行(列列)位置(变号)来使之成为这个样子:
即左下方全为0。以上图为例,其值即为:(-1)×1×2 ×(-1)×(-1)×(-6)=12。
依据以上计算方式,贴出求 n阶行列式的代码:
//行列式的性质://1、上三角行列式(下三角行列式)的值等于其主对角线上n个元素的乘积。//2、互换行列式的两行(列),行列式变号。#include <iostream>using namespace std;int main(){ int i,j,m,n,s,t,k=1,N; double a[2000][2000],f=1,c,x,sn; cin>>N; for (i=0;i<N;i++) { for (j=0;j<N;j++) { cin>>a[i][j]; } } for (i=0,j=0;i<N&&j<N;i++,j++) { if (a[i][j]==0) //运用性质1时行列式的第一行第一列不能为零 { for (m=i;a[m][j]==0;m++); if (m==N) { sn=0; cout<<"detA="<<sn<<endl; return 0; } else { for (n=j;n<N;n++) //交换行列式的行,保证行列式的第一行第一列不为零 { c=a[i][n]; a[i][n]=a[m][n]; a[m][n]=c; } k*=(-1); //性质2 } } for (s=N-1;s>i;s--) //性质1 { x=a[s][j]; for (t=j;t<N;t++) { a[s][t]-=a[i][t]*(x/a[i][j]); } } } for (i=0;i<N;i++) { f*=a[i][i]; } sn=k*f; cout<<"detA="<<sn<<endl; return 0;}
0 0
- 行列式
- 行列式
- 行列式....
- 行列式
- 行列式
- 行列式
- 行列式
- 行列式
- 行列式
- 解行列式
- 求行列式
- 行列式求值
- 高斯消元解行列式
- 行列式_part1
- 行列式_part2
- 行列式求值
- 行列式求值
- 行列式模板
- Java Map 常用操作
- [安卓基础]学习第四天
- 嵌入式设备开发测试过程中与Linux开发编译服务器的双向文件传输
- 嵌入Web资源的方法
- opengl es 几个函数
- 行列式
- vue 实例
- Java开源爬虫框架WebCollector爬取CSDN博客
- 从零开始学习SLAM
- 判断字符串是否为回文
- Space Elevator POJ 2392 01背包/多重背包+二进制
- URL重写 UrlRewrite
- 求子集问题算法分析与实现(递归、非递归)
- POJ 2739 · Sum of Consecutive Prime Numbers【尺取法】【筛法】