矩阵

    矩阵是numpy.matrix类型的对象,该类继承自numpy.ndarray,任何针对多维数组的操作,对矩阵同样有效,但是作为子类矩阵又结合其自身的特点,做了必要的补充,比如:乘法计算、求逆等

    1、矩阵对象的创建

    1. #等价于:numpy.matrix(...,copy= False)
    2. #由该函数创建的矩阵对象与参数中的源容器一定共享数据,无法拥有独立的数据拷贝
    3. # numpy.mat(任何可被解释为矩阵的二位容器)
    4. #该函数可以接受字符串形式的矩阵描述
    5. #数据项通过空格分隔。例如:'1 2 3 ;4 5 6'
    6. #numpy.mat(拼块规则)
    1. # 创建matrix操作
    2. import numpy as np
    3. arr = np.arange(1,10).reshape(3,3)
    4. arr
    5. #第一种方式
    6. m = np.matrix(arr,copy=True)
    7. m
    8. m.shape
    9. type(m)
    10. #第二种方式:共享方式
    11. m2 = np.mat(arr)
    12. m2
    13. #第三种方式
    14. m3 = np.mat("1 2 3;4 5 6;7 8 9")
    15. m3
    1. matrix([[1, 2, 3],
    2. [4, 5, 6],
    3. [7, 8, 9]])

    2、矩阵的乘法运算

    1. #矩阵乘法
    2. import numpy as np
    3. arr = np.array([[1,2,3],[2,2,2],[3,3,3]])
    4. #数组相乘,各对应位置元素相乘
    5. arr
    6. # #矩阵相乘,第n行*m列之和,作为结果的 n,m个元素
    7. # #矩阵相乘,第一个矩阵列数必须等于第二个矩阵的行数
    8. # m = np.mat(arr)
    9. # m*m
    1. array([[1, 2, 3],
    2. [2, 2, 2],
    3. [3, 3, 3]])
    1. #矩阵乘法
    2. import numpy as np
    3. arr = np.array([[1,2,3],[2,2,2],[3,3,3]])
    4. #数组相乘,各对应位置元素相乘
    5. arr
    6. #矩阵相乘,第n行*m列之和,作为结果的 n,m个元素
    7. #矩阵相乘,第一个矩阵列数必须等于第二个矩阵的行数
    8. m = np.mat(arr)
    9. m*m
    1. matrix([[14, 15, 16],
    2. [12, 14, 16],
    3. [18, 21, 24]])

    3、矩阵的逆矩阵