SciPy - 基本功能

  • 简述

    默认情况下,所有 NumPy 函数都可以通过 SciPy 命名空间使用。导入 SciPy 时,无需显式导入 NumPy 函数。NumPy 的主要对象是齐次多维数组。它是一个元素表(通常是数字),所有类型都相同,由正整数元组索引。在 NumPy 中,维度被称为轴。的数量axes被称为rank.
    现在,让我们修改 NumPy 中向量和矩阵的基本功能。由于 SciPy 建立在 NumPy 数组之上,因此有必要了解 NumPy 基础知识。由于线性代数的大多数部分仅处理矩阵。
  • NumPy 向量

    可以通过多种方式创建向量。其中一些描述如下。

    将 Python 类数组对象转换为 NumPy

    让我们考虑下面的例子。
    
    import numpy as np
    list = [1,2,3,4]
    arr = np.array(list)
    print arr
    
    上述程序的输出将如下所示。
    
    [1 2 3 4]
    
  • 内在的 NumPy 数组创建

    NumPy 具有用于从头开始创建数组的内置函数。下面解释其中的一些功能。

    使用 zeros()

    zeros(shape) 函数将创建一个以指定形状填充 0 值的数组。默认数据类型为 float64。让我们考虑下面的例子。
    
    import numpy as np
    print np.zeros((2, 3))
    
    上述程序的输出将如下所示。
    
    array([[ 0., 0., 0.],
    [ 0., 0., 0.]])
    

    使用 one()

    one(shape) 函数将创建一个填充有 1 个值的数组。它在所有其他方面都与零相同。让我们考虑下面的例子。
    
    import numpy as np
    print np.ones((2, 3))
    
    上述程序的输出将如下所示。
    
    array([[ 1., 1., 1.],
    [ 1., 1., 1.]])
    

    使用 arange()

    arange() 函数将创建具有规则递增值的数组。让我们考虑下面的例子。
    
    import numpy as np
    print np.arange(7)
    
    上述程序将生成以下输出。
    
    array([0, 1, 2, 3, 4, 5, 6])
    

    定义值的数据类型

    让我们考虑下面的例子。
    
    import numpy as np
    arr = np.arange(2, 10, dtype = np.float)
    print arr
    print "Array Data Type :",arr.dtype
    
    上述程序将生成以下输出。
    
    [ 2. 3. 4. 5. 6. 7. 8. 9.]
    Array Data Type : float64
    

    使用 linspace()

    linspace() 函数将创建具有指定数量元素的数组,这些元素将在指定的开始值和结束值之间等距分布。让我们考虑下面的例子。
    
    import numpy as np
    print np.linspace(1., 4., 6)
    
    上述程序将生成以下输出。
    
    array([ 1. , 1.6, 2.2, 2.8, 3.4, 4. ])
    
  • 矩阵

    矩阵是一种特殊的二维数组,它通过运算保持其二维性质。它具有某些特殊的运算符,例如*(矩阵乘法)和**(矩阵幂)。让我们考虑下面的例子。
    
    import numpy as np
    print np.matrix('1 2; 3 4')
    
    上述程序将生成以下输出。
    
    matrix([[1, 2],
    [3, 4]])
    

    矩阵的共轭转置

    此功能返回的(复杂)共轭转置self. 让我们考虑下面的例子。
    
    import numpy as np
    mat = np.matrix('1 2; 3 4')
    print mat.H
    
    上述程序将生成以下输出。
    
    matrix([[1, 3],
            [2, 4]])
    

    矩阵的转置

    此功能返回 self 的转置。让我们考虑下面的例子。
    
    import numpy as np
    mat = np.matrix('1 2; 3 4')
    mat.T
    
    上述程序将生成以下输出。
    
    matrix([[1, 3],
            [2, 4]])
    
    当我们转置一个矩阵时,我们创建了一个新矩阵,其行是原始矩阵的列。另一方面,共轭转置交换每个矩阵元素的行和列索引。矩阵的逆矩阵是一个矩阵,如果与原始矩阵相乘,则得到一个单位矩阵。