矩阵行列式计算

矩阵行列式计算矩阵行列式计算要求矩阵行列式 需要通过初等变换使得矩阵变为三角矩阵 然后对角线元素之积就是矩阵行列式的值 但是一般的初等变换可能导致浮点数的产生从而影响精度 因此这里使用辗转相除法进行初等变换 本算法是将其转化为上三角矩阵 因此从第一行开始 处理第 ii 行时 要将第 i 1 i 1 行到第 nn 行的第 ii 列的元素转化为 00 这样处理完成后就是上三角矩阵了 对于第 ii 行 处理第

矩阵行列式计算

要求矩阵行列式,需要通过初等变换使得矩阵变为三角矩阵,然后对角线元素之积就是矩阵行列式的值。但是一般的初等变换可能导致浮点数的产生从而影响精度。因此这里使用辗转相除法进行初等变换。

本算法是将其转化为上三角矩阵。因此从第一行开始,处理第 i 行 时,要将第

(i+1)
行到第 n 行的第

i
列的元素转化为 0 ,这样处理完成后就是上三角矩阵了。

对于第

i
行,处理第 j 行时,考虑两个元素

aii
aji ,我们需要将 aji 转化为 0 ,对于两个数进行辗转相除后我们可以将一个元素转化为零,另一个元素转化为非零。每一次辗转相除会导致矩阵的两行发生交换,根据矩阵行列式性质,每次操作结束后

ret=ret

http://blog.csdn.net/zhoufenqin/article/details/

本题多了个取模的部分。。。

#include 
    using namespace std; typedef long long ll; int n; ll mod; ll a[207][207]; ll getRet() { ll ret=1; for(int i=0;i 
  
    if(a[i][i]< 
   0) { ret=-ret; 
   for( 
   int k=i;k 
   
     for( 
    int j=i+ 
    1;j 
    
      for( 
     int k=i;k 
     
       while(a[j][i]) { 
      if(a[j][i]< 
      0) { ret=-ret; 
      for( 
      int k=i;k 
      
        for( 
       int k=i;k 
       
         for( 
        int k=i;k 
        
          if(a[i][i]== 
         0) 
         return 
         0; ret=ret*a[i][i]%mod; } 
         return (ret+mod)%mod; } 
         int main() { ios::sync_with_stdio( 
         false); 
         cin.tie( 
         0); 
         while( 
         cin>>n>>mod) { 
         for( 
         int i= 
         0;i 
         
           for( 
          int j= 
          0;j 
          
            cin>>a[i][j]; 
           cout< 
           
             return 
            0; } 
            
           
          
         
        
       
      
     
    
  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227484.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午9:12
下一篇 2026年3月16日 下午9:13


相关推荐

  • css opacity属性_CSS中的opacity属性[通俗易懂]

    css opacity属性_CSS中的opacity属性[通俗易懂]cssopacity属性CSS|不透明度属性(CSS|opacityProperty)Withthegrowingneedofmakingwebsites,theneedforstylingthemhasalsoincreased.Therefore,CSShasbecomeanindispensablepartofcreating…

    2022年5月26日
    38
  • 在阿里云申请商标注册步骤详细教程视频_阿里云商标注册不予处理

    在阿里云申请商标注册步骤详细教程视频_阿里云商标注册不予处理近年来国内商标注册申请量的迅猛增长,然而,并不是你申请商标就能下来,很多情况下,你申请的商标,很有可能会失败,而且申请的费用就打水漂了。说白了就是,你申请商标的钱,不会因为你申请商标的失败,还会再退给

    2022年8月6日
    9
  • python nonlocal 什么意思_python nonlocal的理解使用

    python nonlocal 什么意思_python nonlocal的理解使用nonlocal 可以将一个变量声明为非本地变量 在 python 的 lru cache 看到了使用 defdecorator func a 1defwrapper args kwargs nonlocalaa 1returnfunc returnwrappe 实例中 当 a 变量是不可变类型时 因为包装函数引用了 a 装饰器执行结束 在包装函数里改变 a 的值 需要

    2025年9月4日
    4
  • mac系统更新失败是怎么回事_苹果X注册Id出现验证失败

    mac系统更新失败是怎么回事_苹果X注册Id出现验证失败MacPorts在OSXMavericks上更新失败作者:CSDN阿锐运行更新命令:sudoport-vselfupdate时提示失败:localhost:previewmichael$sudoportselfupdate—>UpdatingMacPortsbasesourcesusingrsyncMacPortsbase

    2025年11月25日
    4
  • Java中读取properties配置文件的八种方式总结

    Java中读取properties配置文件的八种方式总结一 前言在做 Java 项目开发过程中 涉及到一些数据库服务连接配置 缓存服务器连接配置等 通常情况下我们会将这些不太变动的配置信息存储在以 properties 结尾的配置文件中 当对应的服务器地址或者账号密码信息有所变动时 我们只需要修改一下配置文件中的信息即可 同时为了让 Java 程序可以读取 properties 配置文件中的值 Java 的 JDK 中提供了 java util Properties 类可以实现读取配置文件 二 Properties 类 Properties 类位于 java util Pro

    2026年3月20日
    2
  • docker-jenkins安装node

    docker-jenkins安装node容器直接使用脚本安装报错执行如下命令即可解决gitconfig–global–unsethttp.proxygitconfig–global–unsethttps.proxy后续安装参考https://blog.csdn.net/qq_28686911/article/details/113114894

    2022年5月24日
    94

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号