{"id":1031,"date":"2021-03-09T19:18:25","date_gmt":"2021-03-09T18:18:25","guid":{"rendered":"https:\/\/intsight.com\/?p=1031"},"modified":"2023-05-26T14:12:23","modified_gmt":"2023-05-26T12:12:23","slug":"cnot","status":"publish","type":"post","link":"https:\/\/intsight.com\/index.php\/2021\/03\/09\/cnot\/","title":{"rendered":"CNOT"},"content":{"rendered":"<p><span style=\"font-variant:small-caps; font-size: 105%;\">Como no he<\/span> encontrado una imagen interesante para ilustrar una compuerta CNOT, he puesto el yelmo de Knut, que suena parecido. S\u00ed, a veces las neuronas me patinan.<\/p>\n<h4>Compuertas condicionales<\/h4>\n<p>El siguiente circuito, extremadamente simple, muestra una compuerta CNOT aplicada al primer y segundo qubit del circuito:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/circuit03.png?resize=300%2C149&#038;ssl=1\" alt=\"\" width=\"300\" height=\"149\" class=\"aligncenter size-medium wp-image-1036\" srcset=\"https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/circuit03.png?resize=300%2C149&amp;ssl=1 300w, https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/circuit03.png?w=356&amp;ssl=1 356w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>CNOT significa \u00abconditional NOT\u00bb, una negaci\u00f3n condicional, y el parentesco con la negaci\u00f3n a secas se evidencia en la simbolog\u00eda asociada: la parte inferior del s\u00edmbolo es la cruz dentro del c\u00edrculo que se suele usar para la negaci\u00f3n. Se trata de una compuerta que trabaja siempre con dos qubits. Todas las transformaciones que hemos visto hasta ahora sobre dos qubits se creaban componiendo transformaciones sobre un qubit. Con esta compuerta, ya saltamos a transformaciones m\u00e1s complejas.<\/p>\n<p>El papel de una compuerta CNOT consiste en invertir el estado de un qubit de acuerdo con el estado de otro qubit de control. Si el qubit de control vale $0$, el otro bit no se modifica. Si el bit de control es $1$, el otro bit se invierte. En el circuito que acabamos de mostrar, el qubit de control es el menos significativo, y esta es la acci\u00f3n de la compuerta sobre la base del estado:<br \/>\n$$\\eqalign{<br \/>\n\\operatorname{CNOT}\\vert00\\rangle&amp;\\rightarrow\\vert00\\rangle\\cr<br \/>\n\\operatorname{CNOT}\\vert01\\rangle&amp;\\rightarrow\\vert11\\rangle\\cr<br \/>\n\\operatorname{CNOT}\\vert10\\rangle&amp;\\rightarrow\\vert10\\rangle\\cr<br \/>\n\\operatorname{CNOT}\\vert11\\rangle&amp;\\rightarrow\\vert01\\rangle<br \/>\n}$$\u00bfRecuerda nuestro <a href=\"https:\/\/intsight.com\/index.php\/2021\/03\/08\/cuatro-gatos\/#ninja-trick\">truco ninja<\/a> en la entrada anterior, para calcular r\u00e1pidamente la acci\u00f3n de una matriz sobre vectores de la base? Cuando una matriz act\u00faa sobre un vector de la base, el resultado se obtiene seleccionando una columna. Eso significa que la primera columna de la matriz tiene que ser el resultado de aplicarla al primer vector de la base, y la \u00faltima, es el resultado sobre el \u00faltimo vector de la base. Pero yo acabo de enumerar lo que ocurre cuando se aplica CNOT a cada uno de los vectores de la base. Podemos entonces dar ya la representaci\u00f3n de CNOT como matriz:<\/p>\n<p>$$\\operatorname{CNOT_{LS}} = \\pmatrix{1&amp;0&amp;0&amp;0\\cr 0&amp;0&amp;0&amp;1\\cr 0&amp;0&amp;1&amp;0\\cr 0&amp;1&amp;0&amp;0<br \/>\n}$$Para evitar confusiones, he usado el sufijo $ls$ para indicar que esta es la matriz cuando el qubit de control es el menos significativo. Si hacemos que el control lo ejerza el bit m\u00e1s significativo, el de la izquierda, la matriz correspondiente ser\u00eda:<br \/>\n$$\\operatorname{CNOT_{MS}} = \\pmatrix{1&amp;0&amp;0&amp;0\\cr 0&amp;1&amp;0&amp;0\\cr 0&amp;0&amp;0&amp;1\\cr 0&amp;0&amp;1&amp;0<br \/>\n}$$\u00a1Compru\u00e9belo!<\/p>\n<p>En general, si tenemos una compuerta de un qubit y queremos aplicarla condicionalmente sobre el qubit menos significativo, usando el m\u00e1s significativo como control, la matriz que necesitamos sigue este patr\u00f3n:<\/p>\n<p>$$\\operatorname{CondA} = \\pmatrix{I &amp; 0 \\cr 0 &amp; A<br \/>\n}$$No hay nada m\u00e1gico en la f\u00f3rmula anterior. Si se aplica $\\operatorname{CondA}$ a los vectores $\\vert00\\rangle$ o $\\vert01\\rangle$, obtenemos el vector original, sin cambios, porque el qubit m\u00e1s significativo de estos dos vectores es $0$. Las dos columnas en las que la matriz original $A$ pinta algo son la tercera y la cuarta, que son los estados de la base con el qubit m\u00e1s significativo a $1$.<\/p>\n<h4>The twilight zone<\/h4>\n<p>Confieso que me preocupa un poco que en la mayor\u00eda de los ejemplos estemos usando matrices con ceros y unos en sus celdas. Puede dar la impresi\u00f3n de que estamos usando valores l\u00f3gicos, y no es as\u00ed ni remotamente. Donde estamos viendo un cero, podr\u00edamos tener un n\u00famero complejo arbitrario.<\/p>\n<p>Para compensar esta tendencia, vamos a movernos ahora a la zona \u00abcrepuscular\u00bb. Todos comprendemos sin problemas lo que ocurre cuando el qubit de control es cero o uno: nuestra mente est\u00e1 habituada a trabajar en blanco y negro, \u00bfno? Pero, \u00bfqu\u00e9 ocurre si el qubit de control es un gato de Schr\u00f6dinger? Vamos a dise\u00f1ar un circuito en el que aplicaremos una transformaci\u00f3n de Hadamard precisamente a ese qubit:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/circuit04.png?resize=300%2C171&#038;ssl=1\" alt=\"\" width=\"300\" height=\"171\" class=\"aligncenter size-medium wp-image-1076\" srcset=\"https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/circuit04.png?resize=300%2C171&amp;ssl=1 300w, https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/circuit04.png?w=352&amp;ssl=1 352w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>En notaci\u00f3n algebraica, este circuito se puede escribir as\u00ed:<\/p>\n<p>$$\\operatorname{CNOT_{LS}} \\times (I \\otimes H)$$\u00a1Mucha atenci\u00f3n al orden, que es muy importante! En primer lugar, he puesto la matriz de la condicional a la izquierda de la expresi\u00f3n, aunque es la segunda que se aplica en el circuito. \u00bfPor qu\u00e9? Pues porque cuando yo escribo $ABx$ estoy pidiendo que <em>primero<\/em> se aplique la matriz $B$ al vector $x$, y luego al resultado se le aplique la matriz $A$. Es decir, en $ABx$, la matriz de m\u00e1s a la izquierda es la segunda que se aplica, no la primera.<\/p>\n<p>Por otra parte, escribo $I \\otimes H$ porque la matriz de la izquierda es la que corresponde al qubit m\u00e1s significativo, como vimos en la entrada anterior. Hadamard se le aplica s\u00f3lo al qubit menos significativo, y para completar el circuito, aplicamos la matriz identidad al qubit m\u00e1s significativo.<\/p>\n<p>Ahora calculemos la matriz por partes. Primero, la combinaci\u00f3n tensorial de la identidad con Hadamard:<\/p>\n<p>$$I\\otimes H = \\pmatrix{H&amp;0\\cr 0&amp;H} = \\frac{1}{\\sqrt2}\\pmatrix{1&amp;1&amp;0&amp;0\\cr1&amp;-1&amp;0&amp;0\\cr0&amp;0&amp;1&amp;1\\cr0&amp;0&amp;1&amp;-1<br \/>\n}$$La matriz $\\operatorname{CNOT}$ que utiliza el qubit menos significativo como control ya la hemos presentado antes. S\u00f3lo nos queda multiplicar dos matrices:<\/p>\n<p>$$\\frac{1}{\\sqrt2}\\pmatrix{1&amp;0&amp;0&amp;0\\cr 0&amp;0&amp;0&amp;1\\cr 0&amp;0&amp;1&amp;0\\cr 0&amp;1&amp;0&amp;0} \\times \\pmatrix{1&amp;1&amp;0&amp;0\\cr1&amp;-1&amp;0&amp;0\\cr0&amp;0&amp;1&amp;1\\cr0&amp;0&amp;1&amp;-1}<br \/>\n$$\u00bfSabe lo que har\u00eda un ninja del \u00e1lgebra ahora? S\u00f3lo calcular\u00eda la primera columna del resultado, porque es la que nos importa dado el estado cu\u00e1ntico inicial. Pero como soy buena persona, aqu\u00ed le dejo la matriz completa del circuito (pero no se f\u00ede de m\u00ed, y haga el c\u00e1lculo por su cuenta):<\/p>\n<p>$$\\frac{1}{\\sqrt2}\\pmatrix{1&amp;1&amp;0&amp;0\\cr 0&amp;0&amp;1&amp;-1\\cr 0&amp;0&amp;1&amp;1\\cr 1&amp;-1&amp;0&amp;0}<br \/>\n$$Como ya hemos dicho, esta matriz tiene que transformar un estado cu\u00e1ntico inicial que es el $\\vert00\\rangle$, o $\\pmatrix{1&amp;0&amp;0&amp;0}^T$ en notaci\u00f3n matricial (la $T$ significa que hay que transponer para obtener un vector de columna). El resultado es la primera columna de la matriz de transformaci\u00f3n:<\/p>\n<p>$$\\frac{1}{\\sqrt2}\\pmatrix{1\\cr0\\cr0\\cr1}<br \/>\n$$Y este, amigos m\u00edos, a pesar de su apariencia inocente, es un estado entrelazado. En concreto, es uno de los <a href=\"https:\/\/intsight.com\/index.php\/2021\/02\/20\/entrelazamiento\/#bell-states\">estados de Bell<\/a>, el estado $\\vert\\Phi^{+}\\rangle$. Como dicen en ingl\u00e9s, <em>we&#8217;ve got a crazy cookie<\/em>.<\/p>\n<h4>Einstein-Podolski-Rosen<\/h4>\n<p>\u00bfQu\u00e9 ocurre cuando se realiza una medici\u00f3n sobre este estado? Si aplicamos la <a href=\"https:\/\/intsight.com\/index.php\/2021\/01\/10\/mediciones\/\">regla de Born<\/a>, vemos que podemos obtener solamente uno de dos resultados, $00$ o $11$, de los cuatro resultados posibles. Si obtenemos un $1$ en el bit menos significativo, no tenemos que mirar el m\u00e1s significativo para saber que obligatoriamente es otro $1$.<\/p>\n<p>Si en el dise\u00f1ador de circuitos de Qiskit creamos este circuito y miramos el panel \u00abMeasurement probabilities\u00bb veremos este gr\u00e1fico:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/hist00.png?resize=300%2C259&#038;ssl=1\" alt=\"\" width=\"300\" height=\"259\" class=\"aligncenter size-medium wp-image-1095\" srcset=\"https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/hist00.png?resize=300%2C259&amp;ssl=1 300w, https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/hist00.png?w=511&amp;ssl=1 511w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>Efectivamente, nos advierte que hay dos posibles lecturas, las antes mencionadas, y que cada una se obtiene en un 50% de los casos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como no he encontrado una imagen interesante para ilustrar una compuerta CNOT, he puesto el yelmo de Knut, que suena parecido. S\u00ed, a veces las neuronas me patinan. Compuertas condicionales El siguiente circuito, extremadamente simple, muestra una compuerta CNOT aplicada al primer y segundo qubit del circuito: CNOT significa \u00abconditional NOT\u00bb, una negaci\u00f3n condicional, y [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1032,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[33],"tags":[55,51,34],"class_list":["post-1031","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-quantum","tag-cnot","tag-gates","tag-quantum"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2021\/03\/helm.jpg?fit=406%2C350&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/posts\/1031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/comments?post=1031"}],"version-history":[{"count":65,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/posts\/1031\/revisions"}],"predecessor-version":[{"id":1164,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/posts\/1031\/revisions\/1164"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/media\/1032"}],"wp:attachment":[{"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/media?parent=1031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/categories?post=1031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/tags?post=1031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}