返回一个 n×n 的阿达马 (Hadamard) 矩阵.
HadamardMatrix
返回一个 n×n 的阿达马 (Hadamard) 矩阵.
更多信息和选项
- 默认情况下,阿达马矩阵中的每一项 Hrs 的定义为
,其中
,
是整数
的二进制表示的第 
位,而
. - 大小
必须是 2 的幂. - HadamardMatrix 的行或列是 DiscreteHadamardTransform 的基序列.
- 阿达马矩阵是对称且正交的, 因此它的逆矩阵是自身. »
- 支持下列选项:
-
Method Automatic 指定序列排序方法 WorkingPrecision ∞ 创建元素时使用的精度 - Method 选项的设置指定了序列排序(阿达马基序列中的过零次数). 可能的设置包括:
-
"BitComplement" 
"GrayCode" 对 "BitComplement" 的格雷码重新排序 "Sequency" 顺序随行和列索引的增加而增加(默认) - 位补码排序也称为西尔维斯特(Sylvester)排序.
- 格雷码排序也称为二元排序(dyadic ordering)或帕利排序(Paley ordering).
- 序列排序也称为沃尔什(Walsh)排序.
- HadamardMatrix[…,TargetStructure…] 指定返回矩阵的结构. TargetStructure 的可能设置包括:
-
Automatic 自动选择返回的表示 "Dense" 以稠密矩阵的形式表示矩阵 "Hermitian" 以埃尔米特矩阵的形式表示矩阵 "Orthogonal" 以正交矩阵的形式表示矩阵 "Symmetric" 以对称矩阵的形式表示矩阵 "Unitary" 以酉矩阵的形式表示矩阵 - HadamardMatrix[…,TargetStructureAutomatic] 等价于 HadamardMatrix[…,TargetStructure"Dense"].
范例
打开所有单元 关闭所有单元范围 (1)
选项 (3)
Method (1)
Total[CrossingDetect[#, CornerNeighbors -> None]]& /@ HadamardMatrix[8, Method -> "BitComplement"]Total[CrossingDetect[#, CornerNeighbors -> None]]& /@ HadamardMatrix[8, Method -> "GrayCode"]Total[CrossingDetect[#, CornerNeighbors -> None]]& /@ HadamardMatrix[8, Method -> "Sequency"]TargetStructure (1)
属性和关系 (4)
向量的离散 Hadamard 变换等同于将向量乘以 Hadamard 矩阵:
data = RandomReal[1, 4];
data . HadamardMatrix[4] == DiscreteHadamardTransform[data]4 阶 Hadamard 矩阵的 Sylvester 构造:
n = 2;
H2 = (1/Sqrt[2])(| | |
| - | -- |
| 1 | 1 |
| 1 | -1 |);
Nest[KroneckerProduct[H2, #]&, (1), n]% === HadamardMatrix[2^n, Method -> "BitComplement"]hm = HadamardMatrix[4];
{SymmetricMatrixQ[hm], OrthogonalMatrixQ[hm]}hm.hm == IdentityMatrix[4]Subscript[𝓅, n_] := PermutationMatrix[IntegerReverse[Range[0, n - 1], 2, BitLength[n] - 1] + 1]Subscript[ℊ, n_] := PermutationMatrix[BitXor[Range[0, n - 1], Quotient[Range[0, n - 1], 2]] + 1]hs = HadamardMatrix[16, Method -> "Sequency"];
hd = HadamardMatrix[16, Method -> "GrayCode"];
hb = HadamardMatrix[16, Method -> "BitComplement"];具有格雷码排序的阿达马矩阵等同于将格雷码排列应用于具有位补码序列置换的阿达马矩阵:
Subscript[𝓅, 16].hb == hd具有序列排序的阿达马矩阵等同于对具有格雷码排序的阿达马矩阵进行位颠倒置换:
Subscript[ℊ, 16].hd == hs带序列排序的阿达马矩阵等价于对带位补码序列排序的阿达马矩阵连续应用位颠倒置换和格雷码置换:
Subscript[ℊ, 16].Subscript[𝓅, 16].hb == hs文本
Wolfram Research (2012),HadamardMatrix,Wolfram 语言函数,https://reference.wolfram.com/language/ref/HadamardMatrix.html (更新于 2024 年).
CMS
Wolfram 语言. 2012. "HadamardMatrix." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/HadamardMatrix.html.
APA
Wolfram 语言. (2012). HadamardMatrix. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/HadamardMatrix.html 年
BibTeX
@misc{reference.wolfram_2026_hadamardmatrix, author="Wolfram Research", title="{HadamardMatrix}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/HadamardMatrix.html}", note=[Accessed: 02-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_hadamardmatrix, organization={Wolfram Research}, title={HadamardMatrix}, year={2024}, url={https://reference.wolfram.com/language/ref/HadamardMatrix.html}, note=[Accessed: 02-November-2026]}