如果有相应的OJ题目,欢迎同学们提供相应的链接

相关链接

简单的测试

INPUT:
3
2 1 0
1 2 1
1 1 1 OUTPUT:
0.5 -0.5 0.5
0 1 -1
-0.5 -0.5 1.5

代码模板

inline vector<double> operator *(vector<double> a,double b){
int N=a.size();
vector<double> res(N,0);
for(int i=0;i<N;i++)
res[i]=a[i]*b;
return res;
}
inline vector<double> operator -(vector<double> a,vector<double> b){
int N=a.size();
vector<double> res(N,0);
for(int i=0;i<N;i++)
res[i]=a[i]-b[i];
return res;
} /*
* AB=BA=I,B is the inverse of matrix A.
* SO,AB=I,A->I,I->C,thus IB=C,IB=B=C.
*
* TIME COMPLEXITY:O(n^3)
* PARAMS:
* A Raw matrix.
* C Inverse of raw matrix.
* N order.
*/
inline void inverse_matrix(vector<double> A[],vector<double> C[],int N){
for(int i=0;i<N;i++)
C[i]=vector<double>(N,0);
for(int i=0;i<N;i++)
C[i][i]=1;
for(int i=0;i<N;i++){
for(int j=i;j<N;j++)
if(fabs(A[i][j])>0){
swap(A[i],A[j]);
swap(C[i],C[j]);
break;
}
C[i]=C[i]*(1/A[i][i]);
A[i]=A[i]*(1/A[i][i]);
for(int j=0;j<N;j++)
if(j!=i && fabs(A[j][i])>0){
C[j]=C[j]-C[i]*A[j][i];
A[j]=A[j]-A[i]*A[j][i];
}
}
}

模板-->求逆矩阵(利用初等变换求解)的更多相关文章

  1. YTU 2642: 填空题:类模板---求数组的最大值

    2642: 填空题:类模板---求数组的最大值 时间限制: 1 Sec  内存限制: 128 MB 提交: 646  解决: 446 题目描述   类模板---求数组的最大值    找出一个数组中的元 ...

  2. 利用python求解物理学中的双弹簧质能系统详解

    利用python求解物理学中的双弹簧质能系统详解 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的 ...

  3. (模板)求逆矩阵luoguP4783

    题目链接:https://www.luogu.org/problem/P4783 题意:求矩阵的逆. 思路:高斯消元法求矩阵的逆,n为400,卡常,我是开了O2优化才AC的.. AC代码: #incl ...

  4. matlab中求逆矩阵的高斯消元法实现的代码

    function qiuni =INV_GET(a)N=length(a);M=eye(N);%得到上三角矩?for i=1:N max=a(i,i); A=i; for j=i+1:N if(abs ...

  5. 4-EM算法原理及利用EM求解GMM参数过程

    1.极大似然估计 原理:假设在一个罐子中放着许多白球和黑球,并假定已经知道两种球的数目之比为1:3但是不知道那种颜色的球多.如果用放回抽样方法从罐中取5个球,观察结果为:黑.白.黑.黑.黑,估计取到黑 ...

  6. 二分求幂,快速求解a的b次幂

    一个引子 如何求得a的b次幂呢,那还不简单,一个for循环就可以实现! void main(void) { int a, b; ; cin >> a >> b; ; i < ...

  7. 在Python中利用CVXOPT求解二次规划问题

    工作中需要用到cvxopt,cvxopt安装有坑,大家注意下.1.首先一定要卸载numpy,无论是直接安装的,还是anaconda安装的,主要是必须用whl安装numpy才不会有包的冲突2.二次规划包 ...

  8. python利用kruskal求解最短路径的问题

    python利用kruskal算法求解最短路径的问题,修改参数后可以直接使用 def kruskal(): """ kruskal 算法 ""&quo ...

  9. AtCoder Beginner Contest 142【D题】【判断素数的模板+求一个数的因子的模板】

    D - Disjoint Set of Common Divisors Problem Statement Given are positive integers AA and BB. Let us ...

随机推荐

  1. linux下搭建svn服务器

    安装步骤如下: 1.yum install subversion   2.输入rpm -ql subversion查看安装位置,如下图:   我们知道svn在bin目录下生成了几个二进制文件. 输入 ...

  2. HDU 5166(缺失数查找输出)

    HDU 5166 Time Limit:1000MS  Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Description T ...

  3. Servlet常用类

    javax.servlet.ServletConfig;javax.servlet.ServletException;javax.servlet.http.HttpServlet;javax.serv ...

  4. oracle timestamp的转换

    select to_char(stime,'yyyy-mm-dd HH24:MI:ss.ff3') from e_bmp_log_operation t where t.sdetail like '% ...

  5. 【Java】理解 UDDI

    跟上规范的不断发展 统一描述.发现和集成(Universal Description, Discovery, and Integration,UDDI)项目继续丰富企业用于在 UDDI 业务注册中心表 ...

  6. hdu 5147 Sequence II

    http://acm.hdu.edu.cn/showproblem.php?pid=5147 题意:问有多少个这样的四元组(a,b,c,d),满足条件是 1<=a<b<c<d; ...

  7. Java中的移位操作符

    记住所有的移动位数,针对的都是补码来讲的,所以要先将十进制整数转换成补码后,然后再来进行移位操作 移位操作 还要注意类型的约束条件,例如int,移动范围是0-31位,所以看补码只能看最后五位,这才是有 ...

  8. 【HDOJ】2451 Simple Addition Expression

    递推,但是要注意细节.题目的意思,就是求s(x) = i+(i+1)+(i+2),i<n.该表达中计算过程中CA恒为0(包括中间值)的情况.根据所求可推得.1-10: 31-100: 3*41- ...

  9. 修改MySQL的递增的起始值

    在mysql中,有时候需要把递增的值初始化为1(你也可以修改成其它起始值): alter table table_name auto_increment=; 不要设置为0......

  10. 使用vs2010编译 Python \ SIP \ PyQt4

    (1)先使用vs2010编译 Python http://www.cnblogs.com/fortwo/archive/2013/04/16/3023871.html 注意,若编译的为debug版的P ...