两个函数的原型为:
np.identity(n, dtype=None)
np.eye(N, M=None, k=0, dtype=<type ‘float’>);
np.identity只能创建方形矩阵
np.eye可以创建矩形矩阵,且k值可以调节,为1的对角线的位置偏离度,0居中,1向上偏离1,2偏离2,以此类推,-1向下偏离。值绝对值过大就偏离出去了,整个矩阵就全是0了。
两者在创建单位矩阵上,并无区别,两者的区别主要在接口上;
np.identity(n, dtype=None):只能获取方阵,也即标准意义的单位阵;
np.eye(N, M=None, k=0, dtype=<type ‘float’>);
N : int,Number of rows in the output.(行数,必选)
M : int, optional,Number of columns in the output. If None, defaults to N.()
k : int, optional,Index of the diagonal: 0 (the default) refers to the main diagonal,
a positive value refers to an upper diagonal,
and a negative value to a lower diagonal.