计算物理(七)线性代数
fengxiaot Lv4

矩阵生成、求解特征值与特征向量。

矩阵生成

数组

数组类

Numpy 提供数组类 ndarray ,其定义为

1
class numpy.ndarray

ndarray 对象包括以下重要属性

  • ndarray.ndim - 数组的维数,例如矩阵的 ndim 为 2 ;
  • ndarray.shape - 数组的维度/形状,以整数型元组给出。nnmm 列矩阵的 shape 为 (n,m)
  • ndarray.size - 数组的元素个数;
  • ndarray.dtype - 数组中元素的数据类型;

数组创建

  • numpy.array(array_like_obj, dtype = None) 将列表、元组或其他序列对象,转化并创建为 ndarray 对象;

  • numpy.zeros(shape, dtype = None) 接收数组维度 (shape tuple),并创建全 0 数组,例如 2×22\times 2 零矩阵 np.zeros((2,2))

  • numpy.eye(N, M = None, k = 0) 创建 NNMM 列 ( MM 默认等于 NN ) 单位对角矩阵,对角元上移 kk 个元素;

  • numpy.full(shape, fill_value, dtype = None) 接收数组维度创建数组,并将 fill_value 赋给数组的每个元素;

  • numpy.zeros_like(array_like_obj) 创建一个形状和数据类型与 array_like_obj 均相同的全零数组

  • numpy.arange(start, stop, step, dtype) 生成区间 [start, stop) ,步长为 step 的数组

  • numpy.linspace(start, stop, num = 50, endpoint = True) 生成 [start, stop],样本数量为 num,按照 endpoint 为 True/False 包含/不包含 stop point 的数组,参见以下示例


特征值与特征向量