Articulo de referencia

Hadamard transforma

El producto de una función booleana y una matriz de Hadamard es su espectro de Walsh : [ 1 ] (1, 0, 1, 0, 0, 1, 1, 0) × H(8) = (4, 2, 0, −2, 0, 2, 0, 2) Transformada rápida de W...

El producto de una función booleana y una matriz de Hadamard es su espectro de Walsh : [ 1 ] (1, 0, 1, 0, 0, 1, 1, 0) × H(8) = (4, 2, 0, −2, 0, 2, 0, 2)
Transformada rápida de Walsh-Hadamard , una forma más rápida de calcular el espectro de Walsh de (1, 0, 1, 0, 0, 1, 1, 0).
La función original puede expresarse mediante su espectro de Walsh como un polinomio aritmético.

La transformada de Hadamard (también conocida como transformada de Walsh-Hadamard , transformada de Hadamard-Rademacher-Walsh , transformada de Walsh o transformada de Walsh-Fourier ) es un ejemplo de una clase generalizada de transformadas de Fourier . Realiza una operación lineal , involutiva , simétrica y ortogonal sobre una tupla de 2 m números .

La transformada de Hadamard puede considerarse construida a partir de transformadas discretas de Fourier (DFT) de tamaño 2, y de hecho es equivalente a una DFT multidimensional de tamaño 2 × 2 × ⋯ × 2 × 2 . [ 2 ] Descompone un vector de entrada arbitrario en una superposición de funciones de Walsh .

La transformación recibe su nombre del matemático francés Jacques Hadamard ( en francés: [ adamaʁ ] ), del matemático germano-estadounidense Hans Rademacher y del matemático estadounidense Joseph L. Walsh .

Definición

La transformada de Hadamard H m es una matriz de 2 m  ×  2 m , la matriz de Hadamard (escalada por un factor de normalización), que transforma 2 m números reales x n en 2 m números reales X k . La transformada de Hadamard se puede definir de dos maneras: recursivamente o utilizando la representación binaria ( base -2) de los índices n y k .

De forma recursiva, definimos la transformada de Hadamard de 1  × 1 H 0 mediante la identidad H 0 = 1, y luego definimos H m para m > 0 mediante:    Hmetro=12metro/2(Hmetro1Hmetro1Hmetro1Hmetro1){\displaystyle H_{m}={\frac {1}{2^{m/2}}}{\begin{pmatrix}H_{m-1}&H_{m-1}\\H_{m-1}&-H_{m-1}\end{pmatrix}}} donde la división por 2 m/2 es una normalización que a veces se omite.

Para m  >  1, también podemos definir H m de la siguiente manera: Hmetro=H1Hmetro1{\displaystyle H_{m}=H_{1}\otimes H_{m-1}} dónde{\displaystyle \otimes }representa el producto de Kronecker . Por lo tanto, aparte de este factor de normalización, las matrices de Hadamard están compuestas enteramente por 1 y −1.

De forma equivalente, podemos definir la matriz de Hadamard mediante su entrada ( k , n ) escribiendo  k=i=0metro1ki2i=kmetro12metro1+kmetro22metro2++k12+k0norte=i=0metro1nortei2i=nortemetro12metro1+nortemetro22metro2++norte12+norte0{\displaystyle {\begin{aligned}k&=\sum _{i=0}^{m-1}{k_{i}2^{i}}=k_{m-1}2^{m-1}+k_{m-2}2^{m-2}+\dots +k_{1}2+k_{0}\\n&=\sum _{i=0}^{m-1}{n_{i}2^{i}}=n_{m-1}2^{m-1}+n_{m-2}2^{m-2}+\dots +n_{1}2+n_{0}\end{aligned}}}

donde k j y n j son los elementos de bits (0 o 1) de k y n , respectivamente. Nótese que para el elemento en la esquina superior izquierda, definimos:k=norte=0{\displaystyle k=n=0}En este caso, tenemos: (Hmetro)k,norte=12metro/2(1)jkjnortej{\displaystyle (H_{m})_{k,n}={\frac {1}{2^{m/2}}}(-1)^{\sum _{j}k_{j}n_{j}}}

Esto es exactamente lo multidimensional2×2××2×2{\textstyle 2\times 2\times \cdots \times 2\times 2}DFT, normalizada para ser unitaria , si las entradas y salidas se consideran matrices multidimensionales indexadas por n j y k j , respectivamente.

A continuación se presentan algunos ejemplos de matrices de Hadamard. H0=+(1)H1=12(1111)H2=12(1111111111111111)H3=123/2(1111111111111111111111111111111111111111111111111111111111111111)(Hnorte)i,j=12norte/2(1)ij{\displaystyle {\begin{aligned}H_{0}&=+{\begin{pmatrix}1\end{pmatrix}}\\[5pt]H_{1}&={\frac {1}{\sqrt {2}}}\left({\begin{array}{rr}1&1\\1&-1\end{array}}\right)\\[5pt]H_{2}&={\frac {1}{2}}\left({\begin{array}{rrrr}1&1&1&1\\1&-1&1&-1\\1&1&-1&-1\\1&-1&-1&1\end{array}}\right)\\[5pt]H_{3}&={\frac {1}{2^{3/2}}}\left({\begin{array}{rrrrrrrr}1&1&1&1&1&1&1&1\\1&-1&1&-1&1&-1&1&-1\\1&1&-1&-1&1&1&-1&-1\\1&-1&-1&1&1&-1&-1&1\\1&1&1&1&-1&-1&-1&-1\\1&-1&1&-1&-1&1&-1&1\\1&1&-1&-1&-1&-1&1&1\\1&-1&-1&1&-1&1&1&-1\end{array}}\right)\\[5pt](H_{n})_{i,j}&={\frac {1}{2^{n/2}}}(-1)^{i\cdot j}\end{aligned}}} dóndeij{\displaystyle i\cdot j}es el producto escalar bit a bit de las representaciones binarias de los números i y j. Por ejemplo, sinorte2{\textstyle n\;\geq \;2}, entonces(Hnorte)3,2=(1)32=(1)(1,1)(1,0)=(1)1+0=(1)1=1{\displaystyle (H_{n})_{3,2}\;=\;(-1)^{3\cdot 2}\;=\;(-1)^{(1,1)\cdot (1,0)}\;=\;(-1)^{1+0}\;=\;(-1)^{1}\;=\;-1}, de acuerdo con lo anterior (ignorando la constante global). Nótese que el primer elemento de la primera fila y la primera columna de la matriz se denota por(Hnorte)0,0{\textstyle (H_{n})_{0,0}}.

H 1 es precisamente la DFT de tamaño 2. También puede considerarse como la transformada de Fourier en el grupo aditivo de dos elementos de Z /(2).

Las filas de las matrices de Hadamard son las funciones de Walsh .

Relación con la transformada de Fourier

La transformada de Hadamard es equivalente a una DFT multidimensional de tamaño 2 × 2 × ⋯ × 2 × 2 . [ 2 ]

Formalmente, la transformada de Hadamard es una transformada de Fourier en el grupo booleano.(Z/2Z)norte{\displaystyle (\mathbb {Z} /2\mathbb {Z} )^{n}}. [ 3 ] [ 4 ] Usando la transformada de Fourier en grupos finitos (abelianos) , la transformada de Fourier de una funciónF:(Z/2Z)nortedo{\displaystyle f\colon (\mathbb {Z} /2\mathbb {Z} )^{n}\to \mathbb {C} }es la funciónF^{\displaystyle {\widehat {f}}}definido por F^(χ)=a(Z/2Z)norteF(a)χ¯(a){\displaystyle {\widehat {f}}(\chi )=\sum _{a\in (\mathbb {Z} /2\mathbb {Z} )^{n}}f(a){\bar {\chi }}(a)} dóndeχ{\displaystyle \chi }es un personaje de(Z/2Z)norte{\displaystyle (\mathbb {Z} /2\mathbb {Z} )^{n}}Cada personaje tiene la formaχr(a)=(1)ar{\displaystyle \chi _{r}(a)=(-1)^{a\cdot r}}para algunosr(Z/2Z)norte{\displaystyle r\in (\mathbb {Z} /2\mathbb {Z} )^{n}}donde la multiplicación es el producto escalar booleano en cadenas de bits, por lo que podemos identificar la entrada aF^{\displaystyle {\widehat {f}}}conr(Z/2Z)norte{\displaystyle r\in (\mathbb {Z} /2\mathbb {Z} )^{n}}( dualidad de Pontryagin ) y definirF^:(Z/2Z)nortedo{\displaystyle {\widehat {f}}\colon (\mathbb {Z} /2\mathbb {Z} )^{n}\to \mathbb {C} }por F^(r)=a(Z/2Z)norteF(a)(1)ra{\displaystyle {\widehat {f}}(r)=\sum _{a\in (\mathbb {Z} /2\mathbb {Z} )^{n}}f(a)(-1)^{r\cdot a}}

Esta es la transformación de Hadamard deF{\displaystyle f}, considerando la entrada aF{\displaystyle f}yF^{\displaystyle {\widehat {f}}}como cadenas booleanas.

En términos de la formulación anterior, donde la transformada de Hadamard multiplica un vector de2norte{\displaystyle 2^{n}}números complejosv{\displaystyle v}a la izquierda por la matriz de HadamardHnorte{\displaystyle H_{n}}La equivalencia se observa tomandoF{\displaystyle f}tomar como entrada la cadena de bits correspondiente al índice de un elemento dev{\displaystyle v}y tenerF{\displaystyle f}generar el elemento correspondiente dev{\displaystyle v}.

La transformada discreta de Fourier habitual , aplicada a un vectorv{\displaystyle v}de2norte{\displaystyle 2^{n}}Los números complejos, en cambio, utilizan caracteres del grupo cíclico.Z/2norteZ{\displaystyle \mathbb {Z} /2^{n}\mathbb {Z} }En consecuencia, la DFT requiere una aritmética sustancialmente más compleja que la transformada de Hadamard. A diferencia de la DFT, la transformada de Hadamard es puramente real y, de hecho, no requiere multiplicación, solo cambios de signo .

Complejidad computacional

En el dominio clásico, la transformada de Hadamard se puede calcular ennorteregistronorte{\displaystyle n\log n}operaciones (norte=2metro{\displaystyle n=2^{m}}), utilizando el algoritmo de transformación rápida de Hadamard .

En el dominio cuántico, la transformada de Hadamard se puede calcular enO(1){\displaystyle O(1)}tiempo, ya que es una puerta lógica cuántica que puede paralelizarse .

Aplicaciones de la computación cuántica

La transformada de Hadamard se utiliza ampliamente en la computación cuántica . La transformada de Hadamard de 2  ×  2H1{\displaystyle H_{1}}es la puerta lógica cuántica conocida como puerta de Hadamard, y la aplicación de una puerta de Hadamard a cada cúbit de unnorte{\displaystyle n}El registro de qubits en paralelo es equivalente a la transformada de Hadamard.Hnorte{\displaystyle H_{n}}.

Puerta de Hadamard

En computación cuántica, la puerta de Hadamard es una rotación de un cúbit , que mapea los estados base del cúbit.|0{\displaystyle |0\rangle }y|1{\displaystyle |1\rangle }a dos estados de superposición con igual peso de los estados de la base computacional|0{\displaystyle |0\rangle }y|1{\displaystyle |1\rangle }. Normalmente las fases se eligen de manera que H=|0+|120|+|0|121|{\displaystyle H={\frac {|0\rangle +|1\rangle }{\sqrt {2}}}\langle 0|+{\frac {|0\rangle -|1\rangle }{\sqrt {2}}}\langle 1|}

en notación de Dirac . Esto corresponde a la matriz de transformación.H1=12(1111){\displaystyle H_{1}={\frac {1}{\sqrt {2}}}{\begin{pmatrix}1&1\\1&-1\end{pmatrix}}} en el|0,|1{\displaystyle |0\rangle ,|1\rangle }base, también conocida como base computacional . Los estados|0+|12{\textstyle {\frac {\left|0\right\rangle +\left|1\right\rangle }{\sqrt {2}}}}y|0|12{\textstyle {\frac {\left|0\right\rangle -\left|1\right\rangle }{\sqrt {2}}}}son conocidos como|+{\displaystyle \left|{\boldsymbol {+}}\right\rangle }y|{\displaystyle \left|{\boldsymbol {-}}\right\rangle }respectivamente, y juntos constituyen la base polar en la computación cuántica .

Operaciones de la puerta de Hadamard

H(|0)=12|0+12|1=:|+H(|1)=12|012|1=:|H(|+)=H(12|0+12|1)=12(|0+|1)+12(|0|1)=|0H(|)=H(12|012|1)=12(|0+|1)12(|0|1)=|1{\displaystyle {\begin{aligned}H(|0\rangle )&={\frac {1}{\sqrt {2}}}|0\rangle +{\frac {1}{\sqrt {2}}}|1\rangle =:|+\rangle \\H(|1\rangle )&={\frac {1}{\sqrt {2}}}|0\rangle -{\frac {1}{\sqrt {2}}}|1\rangle =:|-\rangle \\H(|+\rangle )&=H\left({\frac {1}{\sqrt {2}}}|0\rangle +{\frac {1}{\sqrt {2}}}|1\rangle \right)={\frac {1}{2}}{\Big (}|0\rangle +|1\rangle {\Big )}+{\frac {1}{2}}{\Big (}|0\rangle -|1\rangle {\Big )}=|0\rangle \\H(|-\rangle )&=H\left({\frac {1}{\sqrt {2}}}|0\rangle -{\frac {1}{\sqrt {2}}}|1\rangle \right)={\frac {1}{2}}{\Big (}|0\rangle +|1\rangle {\Big )}-{\frac {1}{2}}{\Big (}|0\rangle -|1\rangle {\Big )}=|1\rangle \end{aligned}}}

Una aplicación de la puerta Hadamard a un cúbit 0 o 1 produce un estado cuántico que, al observarse, será 0 o 1 con igual probabilidad (como se ve en las dos primeras operaciones). Esto es exactamente como lanzar una moneda justa en el modelo probabilístico estándar de computación . Sin embargo, si la puerta Hadamard se aplica dos veces consecutivas (como se hace en las dos últimas operaciones), el estado final siempre es el mismo que el estado inicial.

Transformada de Hadamard en algoritmos cuánticos

El cálculo de la transformada de Hadamard cuántica es simplemente la aplicación de una puerta de Hadamard a cada cúbit individualmente debido a la estructura de producto tensorial de la transformada de Hadamard. Este sencillo resultado significa que la transformada de Hadamard cuántica requiereregistro2norte{\displaystyle \log _{2}N}operaciones, en comparación con el caso clásico denorteregistro2norte{\displaystyle N\log _{2}N}operaciones.

Para unnorte{\displaystyle n}Sistema de -qubits, puertas de Hadamard que actúan sobre cada uno de losnorte{\displaystyle n}cúbits (cada uno inicializado al|0{\displaystyle |0\rangle }) se puede utilizar para preparar estados de superposición cuántica uniformes cuandonorte{\displaystyle N}es de la formanorte=2norte{\displaystyle N=2^{n}}. En este caso connorte{\displaystyle n}cúbits, la puerta de Hadamard combinadaHnorte{\displaystyle H_{n}}se expresa como el producto tensorial denorte{\displaystyle n}Puertas de Hadamard: Hnorte=HHHnorte veces{\displaystyle H_{n}=\underbrace {H\otimes H\otimes \ldots \otimes H} _{n{\text{ times}}}}

El estado de superposición cuántica uniforme resultante es entonces: Hnorte|0norte=12nortej=02norte1|j{\displaystyle H_{n}|0\rangle ^{\otimes n}={\frac {1}{\sqrt {2^{n}}}}\sum _{j=0}^{2^{n}-1}|j\rangle } Esto generaliza la preparación de estados cuánticos uniformes utilizando puertas de Hadamard para cualquiernorte=2norte{\displaystyle N=2^{n}}. [ 5 ]

La medición de este estado cuántico uniforme da como resultado un estado aleatorio entre|0{\displaystyle |0\rangle }y|norte1{\displaystyle |N-1\rangle }.

Muchos algoritmos cuánticos utilizan la transformada de Hadamard como paso inicial, ya que, como se explicó anteriormente, mapea n qubits inicializados con|0{\displaystyle |0\rangle }a una superposición de todos los 2 n estados ortogonales en el|0,|1{\displaystyle |0\rangle ,|1\rangle }base con igual peso. Por ejemplo, esto se utiliza en el algoritmo de Deutsch-Jozsa , el algoritmo de Simon , el algoritmo de Bernstein-Vazirani y en el algoritmo de Grover . Nótese que el algoritmo de Shor utiliza tanto una transformada de Hadamard inicial como la transformada de Fourier cuántica , que son ambos tipos de transformadas de Fourier en grupos finitos ; la primera en(Z/2Z)norte{\displaystyle (\mathbb {Z} /2\mathbb {Z} )^{n}}y el segundo enZ/2norteZ{\displaystyle \mathbb {Z} /2^{n}\mathbb {Z} }.

Preparación de estados de superposición cuántica uniformes en el caso general, cuandonorte{\displaystyle N}2norte{\displaystyle 2^{n}}no es trivial y requiere más trabajo. Un enfoque eficiente y determinista para preparar el estado de superposición |Ψ=1nortej=0norte1|j{\displaystyle |\Psi \rangle ={\frac {1}{\sqrt {N}}}\sum _{j=0}^{N-1}|j\rangle } con una complejidad de puerta y profundidad de circuito de soloO(registro2norte){\displaystyle O(\log _{2}N)}a pesar denorte{\displaystyle N}fue presentado recientemente. [ 6 ] Este enfoque requiere solo norte=registro2norte{\displaystyle n=\lceil \log _{2}N\rceil } cúbits. Es importante destacar que en este enfoque no se necesitan ni cúbits auxiliares ni puertas cuánticas con múltiples controles para crear el estado de superposición uniforme. |Ψ{\displaystyle |\Psi \rangle }.

Redes neuronales convolucionales

La transformada de Hadamard ha encontrado aplicaciones en el aprendizaje automático cuántico , particularmente en redes neuronales híbridas cuántico-clásicas. La convolución diádica entre dos vectores es equivalente a la multiplicación elemento a elemento de sus representaciones de la transformada de Hadamard; por lo tanto, las capas convolucionales se pueden realizar de manera eficiente tomando la transformada de Hadamard, multiplicándola y luego invirtiéndola. Mientras que el cálculo clásico de la transformada de Hadamard requiere O( n log n ) operaciones utilizando el algoritmo rápido de la transformada de Hadamard, la implementación cuántica puede calcular la transformada en tiempo O(1) aplicando puertas de Hadamard a todos los cúbits simultáneamente. [ 7 ]

Aplicación en biología evolutiva

La transformada de Hadamard se puede utilizar para estimar árboles filogenéticos a partir de datos moleculares. [ 8 ] [ 9 ] [ 10 ] En principio, la transformada de Hadamard se puede aplicar a muchos modelos diferentes de evolución de secuencias , pero el caso de mayor interés utiliza datos de ácidos nucleicos (AN). [ 8 ] [ 11 ]

Formalmente, consideremos las cuatro posibles nucleobases de la cadena como elementos del grupo V de Klein de 4 componentes que actúan sobre sí mismos. Un eje C2 corresponde a las transiciones y el otro a las transversiones . Las secuencias de ácidos nucleicos (AN) de longitud k son elementos de Vk , y un índice dado dentro de estas secuencias de longitud k se denomina sitio. Un árbol filogenético T es un árbol, enraizado en algún r , en el que cada punto se ha identificado con una secuencia de AN. [ 12 ]

En aplicaciones biológicas, se desea especificar las tasas de mutación para cada arista de T y luego calcular la probabilidad resultante de observar T. Idealmente, este proceso debería ser fácilmente reversible, de modo que un algoritmo de optimización pueda encontrar un par (árbol, tasa de mutación) que produzca las secuencias de ADN observadas con máxima verosimilitud . De hecho, esto se puede hacer con la transformada de Hadamard, como se muestra a continuación. [ 12 ] [ 13 ]

Sea I el conjunto potencia de T \{ r } , y consideremos el siguiente vector x indexado por I 2 . Cada sitio j determina un σ 1 I , el conjunto de puntos con una transición relativa a r en el sitio j . De igual manera, las transversiones determinan otro σ 2 I para cada sitio. Entonces x ( σ 1 , σ 2 ) es la proporción (de {1,..., k } ) de sitios que determinan ( σ 1 , σ 2 ) . [ 12 ]

El operador lineal H :ℝ I 2I 2 con coeficiente ( σ , τ ) -ésimo ( 1) | σ 1 τ 1 |+| σ 2 τ 2 | es una matriz de Hadamard ; de hecho, define una transformada de Hadamard cuando I se enumera en un cierto orden. [ 9 ] Sea

γ = H 1 log Yo 2 ( Hx )

donde I 2 indica que el logaritmo actúa sobre cada componente del vector. Entonces γ es casi las tasas de mutación m necesarias para producir la distribución de probabilidad observada x , como sigue. [ 12 ] [ 14 ]

Para el modelo completo de Kimura , con los 4 ácidos nucleicos distinguidos, hay tres parámetros libres para cada arista. Convertir estos valores a la entrada correspondiente en γ requiere la conjugación de otro logaritmo con una matriz de 3 × 3. [ 12 ]

Si las secuencias están codificadas en RY , entonces la relación es mucho más simple. En ese caso, x y γ están indexados por I (en lugar de I 2 ), al igual que m : para σ I de tamaño par , sea E ( σ )= σ ; para σ I de tamaño impar , sea E ( σ )= σ {r} ; y sea m σ la tasa de mutación en el borde que desconecta σ del resto de T . ( m no es exactamente una cantidad medida, ya que incluye la probabilidad de mutaciones revertidas. Está relacionada con la probabilidad observada de cambio de carácter a través de

m σ = 1 / 2 log(1-2 p σ )

donde p es la probabilidad observada.) Entonces γ = m . [ 9 ]

Esta técnica también puede generalizarse al caso en que diferentes sitios mutan a diferentes velocidades. [ 15 ]

En todos los casos, la complejidad temporal de determinar el árbol está dominada por la transformada de Hadamard, que requiere O(| T |2 | T | ) pasos. [ 16 ] Sin embargo, los algoritmos pueden reconstruir el árbol uniendo árboles más pequeños construidos a partir de un subconjunto de T. [ 17 ]

Otras aplicaciones

La transformada de Hadamard también se utiliza en el cifrado de datos , así como en numerosos algoritmos de procesamiento de señales y compresión de datos , como JPEG XR y MPEG-4 AVC . En aplicaciones de compresión de vídeo , se suele emplear como suma de diferencias transformadas absolutas . Además, constituye una parte fundamental de un número significativo de algoritmos en computación cuántica. La transformada de Hadamard también se aplica en técnicas experimentales como la RMN , la espectrometría de masas y la cristalografía . Asimismo, se utiliza en algunas versiones de funciones hash sensibles a la localidad para obtener rotaciones de matrices pseudoaleatorias.

Véase también

  • Ritter, Terry (agosto de 1996). "Transformaciones Walsh-Hadamard: una revisión de la literatura" .
  • Akansu, Ali N. ; Poluri, R. (julio de 2007). "Códigos ortogonales de fase no lineales tipo Walsh para comunicaciones CDMA de secuencia directa" (PDF) . IEEE Transactions on Signal Processing . 55 (7): 3800– 6. Bibcode : 2007ITSP...55.3800A . doi : 10.1109/TSP.2007.894229 . S2CID 6830633 . 
  • Pan, Jeng-shyang Método de cifrado de datos mediante transformación discreta fraccionaria de Hadamard (28 de mayo de 2009)
  • Lachowicz, Dr. Pawel. Transformación de Walsh-Hadamard y pruebas de aleatoriedad de series de rendimientos financieros (7 de abril de 2015)
  • Beddard, Godfrey; Yorke, Briony A. (enero de 2011). "Espectroscopia de bombeo-sonda utilizando transformadas de Hadamard" (PDF) . Archivado del original (PDF) el 18 de octubre de 2014. Recuperado el 28 de abril de 2012 .
  • Yorke, Briony A.; Beddard, Godfrey; Owen, Robin L.; Pearson, Arwen R. (septiembre de 2014). "Cristalografía resuelta en el tiempo mediante la transformada de Hadamard" . Nature Methods . 11 (11): 1131– 1134. doi : 10.1038/nmeth.3139 . PMC 4216935. PMID 25282611 .  

Referencias

  1. Compárese la Figura 1 en Townsend, WJ; Thornton, MA (2001). "Cálculos del espectro de Walsh mediante grafos de Cayley". Actas del 44.º Simposio IEEE 2001 del Medio Oeste sobre Circuitos y Sistemas (MWSCAS 2001) . MWSCAS-01. Vol. 1. IEEE. págs. 110–113 . doi : 10.1109/mwscas.2001.986127 . ISBN   0-7803-7150-X.
  2. 1 2 Kunz, HO (1979). "Sobre la equivalencia entre las transformadas discretas unidimensionales de Walsh-Hadamard y las transformadas discretas multidimensionales de Fourier". IEEE Transactions on Computers . 28 (3): 267– 8. doi : 10.1109/TC.1979.1675334 . S2CID 206621901 . 
  3. Análisis de Fourier de mapas booleanos: un tutorial, págs. 12-13
  4. Lección 5: Algoritmos cuánticos básicos, Rajat Mittal, págs. 4–5
  5. Nielsen, Michael A.; Chuang , Isaac (2010). Computación cuántica e información cuántica . Cambridge: Cambridge University Press . ISBN 978-1-10700-217-3OCLC 43641333 
  6. Alok Shukla y Prakash Vedula (2024). "Un algoritmo cuántico eficiente para la preparación de estados de superposición cuántica uniformes". Procesamiento de información cuántica . 23:38 (1): 38. arXiv : 2306.11747 . Bibcode : 2024QuIP...23...38S . doi : 10.1007/s11128-024-04258-4 .
  7. Hongyi Pan; Xin Zhu; Salih Furkan Atici; Ahmet Enis Cetin (2023). Un enfoque híbrido cuántico-clásico basado en la transformada de Hadamard para la capa convolucional . Conferencia internacional sobre aprendizaje automático. Vol. 202. PMLR. pp. 26891– 26903. arXiv : 2305.17510 .  
  8. 1 2 Székely , LA; Steel, MA; Erdős , PL "Cálculo de Fourier en árboles evolutivos". Avances en Matemáticas Aplicadas . 14 : 212–215 .{{cite journal}}: CS1 maint: nombres múltiples: lista de autores ( enlace ) CS1 maint: nombres numéricos: lista de autores ( enlace )
  9. 1 2 3 Hendy, Michael D.; Penny, David (enero de 1993). "Análisis espectral de datos filogenéticos" . Journal of Classification . 10 (1): 5– 24. doi : 10.1007/BF02638451 . ISSN 0176-4268 . S2CID 122466038 .  
  10. McBee, Cayla D. (13 de mayo de 2010). Algunos temas en filogenética combinatoria (tesis doctoral).
  11. Farach, Martin; Kannan, Sampath (julio de 1999). "Algoritmos eficientes para la inversión de la evolución". Journal of the ACM . 46 (4): 437– 449. doi : 10.1145/320211.320212 .
  12. 1 2 3 4 5 Steel, MA; Hendy, MD; Székely , LA; Erdős , Pal L. (1992) [Junio ​​de 1992]. "Análisis espectral y método del árbol más cercano para secuencias genéticas". Applied Math Letters . 5 (6). Gran Bretaña: Pergamon: 63–67 .{{cite journal}}: CS1 maint: nombres múltiples: lista de autores ( enlace ) CS1 maint: nombres numéricos: lista de autores ( enlace )
  13. Hendy, MD; Penny, D.; Steel, MA (1994-04-12). "Un análisis discreto de Fourier para árboles evolutivos" . Actas de la Academia Nacional de Ciencias . 91 (8): 3339– 3343. Bibcode : 1994PNAS...91.3339H . doi : 10.1073/pnas.91.8.3339 . ISSN 0027-8424 . PMC 43572. PMID 8159749 .   
  14. Bryant, David (2009) [11 de diciembre de 2007]. "Métodos filogenéticos de Hadamard y el proceso de n taxones". Boletín de Biología Matemática . 71. Springer: 339–351 . doi : 10.1007/s11538-008-9364-8 .
  15. Waddell, Peter J.; Penny, David; Moore, Terry (1997). "Conjugaciones de Hadamard y modelado de la evolución de secuencias con tasas desiguales entre sitios". Filogenética molecular y evolución . 8 (1 (agosto)): 33– 50. FY970405.
  16. Hendy, Michael D.; Charleston, Michael A. ( 1993). "Conjugación de Hadamard: una herramienta versátil para modelar la evolución de secuencias de nucleótidos" . New Zealand Journal of Botany . 31. Royal Society of New Zealand : 236–237 . doi : 10.1080/0028825X.1993.10419500 .
  17. Székely , LA; Erdős , PL; Steel, MA "La combinatoria de la reconstrucción de árboles evolutivos". § Conclusión . {{cite journal}}: Cite journal requiere |journal=( ayuda ) CS1 maint: nombres múltiples: lista de autores ( enlace ) CS1 maint: nombres numéricos: lista de autores ( enlace )