心寄笔端 附庸风雅

甘草的技术博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1. 伴随矩阵

1.1 二阶矩阵的伴随矩阵

主对角线换位,副对角线编号,例如

[[1, 2]

 [3, 4]]*

==>

[[4, -2]

 [-3  1]]

1.2 N阶矩阵的伴随矩阵

代数余子式方法

1.3 Numpy的做法 (Numpy之前版本可能直接支持)

linala.det(A) * linalg.inv(A)

A-1 = 1 / |A| * A*

2. 逆矩阵(方阵)

2.1 Numpy的做法

linalg.inv(A)

2.2 对于方阵的互逆

AA-1=A-1A=E,如果A有逆矩阵为A-1

 

3. 行列式的值

3.1 算法

from numpy import * 
mat = [[1, 2, 3], [4, 5, 9], [4, 2, 2]]

m = len(mat)

print m
print linalg.det(mat)

s = 0
t = 0
while t < m:
    p = 1
    q = 1
    i = 0
    while i < m:
        j = (i + t) % m;
        k = (m + t - i) % m;
        p *= mat[i][j]
        q *= mat[i][k]
        i += 1
    t += 1
    s += (p - q)
print s

3.2 Numpy的做法

linalg.det(a)

3.3 判断是否为奇异矩阵的依据

A为奇异矩阵,那么AX=0有无穷多的解,或者无解。

A不为奇异矩阵,那么AX=0有唯一0解,AX=b有唯一解。

 

4 矩阵的转置

4.1 Numpy的做法

numpy.transpose(a)

4.2 Python的做法

mat = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
print map(list, zip(*mat))

5. 矩阵的稚

linalg.matrix_rank(m)

 

posted on 2014-11-13 18:31  甘草  阅读(703)  评论(0编辑  收藏  举报
Baidu
Google
心寄笔端
TEST
以后我会加上Power By的,先别介意