• 线性代数与simplex


    线性方程组:

    (i:1-n)
    (j:1-m)
    ({egin{cases}a_{11}x_1+a_{12}x_2+a_{13}x_3+cdots+a_{1n}x_n=b_1\a_{21}x_1+a_{22}x_2+a_{23}x_3+cdots+a_{2n}x_n=b_2\~~~~vdots~~~~~~~~~~~~vdots~~~~~~~~~~~~vdots~~~~~~~~~~vdots~~~~~~~~~~vdots~~~~~~~~~vdots\a_{m1}x_1+a_{m2}x_2+a_{m3}x_3+cdots+a_{mn}x_n=b_mend{cases}})
    系数矩阵:方程组各项系数((a_{ij}))按顺序组成的矩阵(A)
    未知数矩阵:未知数(x_i)组成的列向量(X)
    常数项矩阵:等式右侧常数((b_j))组成的矩阵(B)
    增广矩阵:系数矩阵最右侧补充一个常数项矩阵。
    线性方程组与矩阵的一个关系:
    设两个线性变换:
    ({egin{cases}y_1=a_{11}x_1+a_{12}x_2+a_{13}x_3\y_2=a_{21}x_1+a_{22}x_2+a_{23}x_3end{cases}})
    ({egin{cases}x_1=b_{11}t_1+b_{12}t_2\x_2=b_{21}t_1+b_{22}t_2\x_3=b_{31}t_1+b_{32}t_2end{cases}})
    那么(y,t)之间的关系的系数矩阵是
    (left(egin{matrix}a_{11}&a_{12}&a_{13}\a_{21}&a_{22}&a_{23}end{matrix} ight) imesleft(egin{matrix}b_{11}&b_{12}\b_{21}&b_{22}\b_{31}&b_{32}end{matrix} ight)=cdots)

    simplex:

    (1.)建立系数矩阵,辅助松弛变量略过。
    (2.)寻找(b_l<0)随机取,若无则(return),寻找(a_{l,e}<0)随机取,若无则无解,(pivot(l,e)),重复。
    (3.)(max(c_e)),小于0则结束,否则找(min(b_l/a_{l,e})),等于(INF)则解为(INF),然后(pivot(l,e))
    注意:
    (1.ans+=c_e imes b_l)(c_e)为变动前,(b_l)为变动后。
    (2.a_{l,e})变为倒数,(e)列其他为其相反数(/a_{l,e})(原)。
    (3.)其余相当于把(a_{l,e})变成(1)(e)列其他变为(0)所做的高斯消元操作。
    如何输出解:
    (1.i=1-n,id[i]=i)
    (2.pivot(l,e))(swap(id[l+n],id[e]))(不断记当前列和省略列是哪个变量)。
    (3.x_{id_{n+i}}=b_i)所有的基变量的取值就是(b),非基变量的取值是(0)

    克拉默法则与线性方程组求解:

    (AX=B),得(X=A^{-1}B)

  • 相关阅读:
    ios 一个正则表达式测试(只可输入中文、字母和数字)
    IOS7 8中tableview分割线缺少15像素
    Java中使用OpenSSL生成的RSA公私钥进行数据加解密
    java与IOS之间的RSA加解密
    ios下使用rsa算法与php进行加解密通讯
    C# 32位md5
    [原]命令模式在MVC框架中的应用
    [原]【推荐】程序员必读的三十本经典巨作
    [原]容器学习(二):动手模拟AOP
    [原]容器学习(一):动手模拟spring的IoC
  • 原文地址:https://www.cnblogs.com/Smeow/p/10582559.html
Copyright © 2020-2023  润新知