scipy.linalg.

hadamard#

scipy.linalg.hadamard(n, dtype=<class 'int'>)[源码]#

构造一个阿达马矩阵。

使用西尔维斯特构造法构造一个 n×n 阿达马矩阵。n 必须是 2 的幂。

参数:
nint

矩阵的阶数。n 必须是 2 的幂。

dtypedtype, optional

要构造的数组的数据类型。

返回:
H(n, n) ndarray

阿达马矩阵。

说明

版本 0.8.0 中新增。

示例

>>> from scipy.linalg import hadamard
>>> hadamard(2, dtype=complex)
array([[ 1.+0.j,  1.+0.j],
       [ 1.+0.j, -1.-0.j]])
>>> hadamard(4)
array([[ 1,  1,  1,  1],
       [ 1, -1,  1, -1],
       [ 1,  1, -1, -1],
       [ 1, -1, -1,  1]])