Hola con [email protected] una vez más, en la publicación anterior abordamos los principios cuánticos que rigen los qubits y la potencia que ofrecen a comparación de los bits tradicionales. Nos planteamos, entonces, unas icógnitas finales al respecto que vamos a ir retomando en cada publicación de esta secuencia.

En esta segunda publicación tenía previsto introducir directamente el qubit, sin embargo lo pospondremos para una próxima publicación debido a que es imperativo introducir al lector en las matemáticas (álgebra lineal en su mayoría) que necesitaremos previas a ello. Estos conceptos son fundamentales puesto que es imposible explicar con lenguaje semántico el total de la complejidad del tema. Por consiguiente, haciendo uso de las matemáticas, podremos llegar a una descripción precisa.

La lista de temas que veremos a continuación son:

Si posees los conocimientos de los temas ya expuestos te recomiendo saltarte esta publicación ya que no aportará nada nuevo a tu conocimiento. Si deseas averiguar por tu cuenta te facilito al final del post unos enlaces de interés a cada uno de ellos.

Por otra parte, si deseas aprender o recordar estos temas, este post es para tí; sin antes mencionar que buscaremos explicar de una manera breve cada parte matemática que necesitamos sin entrar en análisis de cada operación y propiedad ni demostraciones de cada fórmula. Por lo tanto, abordaremos brevemente los conceptos necesarios antes de operar con un qubit. Empecemos!

Números Imaginarios

Para explicar como es que un número puede ser llamado “imaginario”, empezaremos tomando como ejemplo dos operaciones matemáticas que podemos llamar inversas: la potenciación y la radicación; es decir, la radicación es el inverso o contrario a la potenciación y viceversa:

7^2 = 49 \\
\sqrt{49} = \pm7

Aunque, ¿si te fijas que el resultado de la raíz cuadrada de 49 puede ser -7 o +7? Esto es debido a la ley de los signos inherente en cada potencia, es decir:

(+)(+) = + \text{ (más por más es igual a más)} \\
(-)(-) = + \text{ (menos por menos es igual a más)}

Una potencia al cuadrado puede tener una base positiva o negativa y el resultado será el mismo:

7^2 = 49 \\
(-7)^2 = 49

Entonces, nos hacemos las siguientes preguntas:
¿Existe un número tal que, elevado a una potencia cuadrática, dé como resultado un número negativo?
De modo inverso: ¿Existe un número negativo tal que exista y se pueda calcular su raíz cuadrática?

En números reales la respuesta es NO. Sin embargo, los matemáticos decidieron crear un número que cumpla dichas propiedades y lo denominaron "imaginario". Se lo representa con la letra i y está definido de la siguiente manera:

i = \sqrt{-1}

Sus potencias son definidas de la siguiente manera:

i^0 = 1 \\
i^1 = i \\
i^2 = -1 \\
i^3 = -i \\
i^4 = 1 \\

Y así sucesivamente, repitiendo en ciclos de 4 en 4.

Números Complejos

Una vez definido el número imaginario, los matemáticos decidieron crear un nuevo número (si otro más) a partir del imaginario, y a este lo llamarían complejo y que en resumen es la combinación de los dos tipos de números: real e imaginario. Suele representarse con la letra z. Ejemplos:

z = a + bi \\
z = 3 + 2i
\text{El conjunto de números reales se representa por } \mathbb{R} \\
\text{El conjunto de números complejos se representa por } \mathbb{C}

Los números complejos suelen ser representados como vectores de la siguiente manera:


Números Complejos

Gráfica de un número complejo

Y poseen las siguientes operaciones matemáticas:

Suma de números complejos

La suma de los números complejos está definido por la siguiente fórmula:

z_1 = a + bi \\ z_2 = c + di \\ z_1 + z_2 = a + b + (c + d)i

Ejemplo:

z_1 = 12 + 3i \\ z_2 = 5 - 4i \\
z_1 + z_2 = 12 + 5 + (3 - 4)i \\ 
z_1 + z_2 = 17 -i

Resta de números complejos

La resta de números complejos viene dado por la siguiente fórmula:

z_1 = a + bi \\ z_2 = c + di \\ z_1 - z_2 = a - b + (c - d)i

Ejemplo:

z_1 = 12 + 3i \\ z_2 = 5 - 4i \\
z_1 - z_2 = 12 - 5 + (3 - (-4))i \\
z_1 - z_2 = 7 + 7i

Multiplicación de números complejos

La multiplicación de números complejos viene dado por la siguiente fórmula:

z_1 = a + bi \\ z_2 = c + di \\ z_1 z_2 = (ac - bd) + (ad + bc)i

Ejemplo:

z_1 = 12 + 3i \\ z_2 = 5 - 4i \\
z_1 z_2 = [(12)(5) - (3)(-4)] + [(12)(-4) + (3)(5)]i \\
z_1 z_2 = (60 + 12) + (-48 + 15)i \\
z_1 z_2 = 72 - 33i

División de números complejos

La división de números complejos viene dado por la siguiente fórmula:

\frac{a + bi}{c + di} = \frac{ac + bd}{c^2 + d^2} + \frac{bc - ad}{c^2 + d^2}i 

Ejemplo:

\frac{5+ 3i}{2 + 2i} = \frac{(5)(2) + (3)(2)}{2^2 + 2^2} + 
\frac{(3)(2) - (5)(2)}{2^2 + 2^2} \\
 \frac{5+ 3i}{2 + 2i} =  \frac{10+6}{4+4} + \frac{6-10}{4+4}i \\
\frac{5+ 3i}{2 + 2i} =  \frac{16}{8} + \frac{-4}{8}i \\
\frac{5+ 3i}{2 + 2i} =  2 - \frac{1}{2}i 

Conjugado de un número complejo

El conjugado de un número complejo es igual al mismo número complejo pero con la parte imaginaria negada, es decir:

\text{Número Complejo: } \\
z = a + bi \\
\text{Conjudado: } \\
z^* = a - bi 

Además, el conjugado de un número complejo posee varias propiedades y representaciones.

Módulo de un número complejo

El módulo de un número complejo viene dado por:

\text{Número Complejo: } \\
z = a + bi \\
\text{Módulo: } \\
|z| = \sqrt{a^2 + b^2} 

Así mismo, el lector puede revisar la representación vectorial del módulo de un número complejo y sus propiedades en los enlaces facilitados al final del post.

Combinaciones lineales

Una combinación lineal es una superposición de objetos. Es decir es una combinación de objetos de manera lineal de la siguiente forma:

\text{Sean: }  x_1, x_2, x_3 , ... , x_n \text{ variables.}

Una combinación lineal de ellos, es una expresión de la forma:

c_1x_1 + c_2x_2 + c_3x_3 + ... + c_kx_n \\
\text{Donde } c_1, c_2, c_3, ..., c_k \\
\text{ son escalares (números reales o complejos)}

Se denominan combinaciones lineales debido a que responden a una funcion lineal n-dimensional. Ejemplo:
Supongamos el siguiente sistema de ecuaciones lineales:

x - y = 1 \\
2x + y = 5 

Lo podemos representar de la siguiente manera:

1x + (-1)y = 1 \\
2x + 1y = 5 

Ahora, lo escribimos de forma matricial:

\begin{pmatrix}
1x & (-1)y  \\
2x & 1y \\
\end{pmatrix}
= 
\begin{pmatrix}
1  \\
5 \\
\end{pmatrix}

Que se puede combinar de la siguiente manera:

\begin{pmatrix}
1x  \\
2x\\
\end{pmatrix}
+
\begin{pmatrix}
-1y  \\
1y\\
\end{pmatrix}
= 
\begin{pmatrix}
1  \\
5 \\
\end{pmatrix}

Finalmente, tenemos:

x
\begin{pmatrix}
1  \\
2  \\
\end{pmatrix}
+
y
\begin{pmatrix}
-1  \\
1\\
\end{pmatrix}
= 
\begin{pmatrix}
1  \\
5 \\
\end{pmatrix}

De esta manera queda expresada una combinación lineal.

Vectores

Se llama vector a un conjunto de tuplas de números reales. El número de tuplas de un vector definen el número de dimensiones a las que pertenece el mismo. Además, un vector posee magnitud, dirección y módulo.

Nomenclatura

Un vector se define de la siguiente manera:

\vec{v} = (a_1, a_2, a_3, ..., a_n) \text{ donde } \vec{v} \text{ pertenece a } \mathbb{R}^n 

Es decir, el vector pertenece a un espacio n-dimensional.
Ejemplo:
Un vector de dos dimensiones, está definido por:

\vec{V} = (V_x, V_y) \text{ donde } \vec{V} \text{ pertenece a } \mathbb{R}^2: 


Números Complejos

Gráfica de un vector de dos dimensiones

\text{Donde a } V_x, V_y \text{ se les denomina vectores unitarios. }

Representación Matricial de vectores

Un vector se puede representar de forma matricial de la siguiente manera:

\vec{v} = \begin{bmatrix}{V_x}\\{V_y}\\{V_z} \end{bmatrix}, \vec{v} = \begin{bmatrix}{V_x}&{V_y}&{V_z} \end{bmatrix}

Donde cada elemento es un vector unitario y podemos distinguir entre vector columna (izquierda) y vector fila (derecha).

Vector como una combinación lineal

Un vector también puede ser descrito como la combinación lineal de sus vectores unitarios i y j de la siguiente manera:

\vec{V} = \begin{bmatrix}{V_x}\\{V_y} \end{bmatrix}, \vec{V} = V_xi + V_yj

Los vectores unitarios i y j quedan descritos de la siguiente manera:

\vec{i} = \begin{bmatrix}{1}\\{0} \end{bmatrix}, 
\vec{j} = \begin{bmatrix}{0}\\{1} \end{bmatrix}

Y su combinación lineal se representa de la siguiente manera:

\vec{V} = \begin{bmatrix}{V_x}\\{V_y} \end{bmatrix} i +
\begin{bmatrix}{V_x}\\{V_y} \end{bmatrix} j 
\vec{V} = \begin{bmatrix}{V_x}\\{V_y} \end{bmatrix} \begin{bmatrix}{1}\\{0} \end{bmatrix} +
\begin{bmatrix}{V_x}\\{V_y} \end{bmatrix} \begin{bmatrix}{0}\\{1} \end{bmatrix} =
V_x + V_y

Matrices

Las matrices son arreglos o conjuntos bidimensionales de números reales o complejos ordenados en filas y columnas, donde cada fila son las líneas horizontales y las columnas son las líneas verticales de la matriz.

A = \begin{bmatrix}{a11}&{a12}&{a13}&{a14}\\
{a21}&{a22}&{a23}&{a24} \\
{a31}&{a32}&{a33}&{a34} \end{bmatrix}

Una matriz con m filas y n columnas se dice que poseen un tamaño nxm. Las matrices cuyo tamaño de fila es igual al tamaño de la columna (n=m) se denominan matrices cuadradas de tamaño n.
Para efectos de simplicidad, vamos a enfocarnos únicamente en las matrices cuadradas en este apartado, sin antes indicar que puedes parender más sobre este tema en los enlaces al final.

Nomenclatura

Por lo general las matrices son representadas por una letra mayúscula.

Suma de Matrices

Tomemos como base dos matrices cuadradas A y B de la siguiente manera:

A = \begin{bmatrix}{a11}&{a12}&{a13}&{a14}\\
{a21}&{a22}&{a23}&{a24} \\
{a31}&{a32}&{a33}&{a34} \end{bmatrix}
B = \begin{bmatrix}{b11}&{b12}&{b13}&{b14}\\
{b21}&{b22}&{b23}&{b24} \\
{b31}&{b32}&{b33}&{b34} \end{bmatrix}

Definimos la suma de matrices como el proceso de sumar cada elemento de la primera matriz A por su correspondiente elemento de la matriz B de la siguiente manera:

A + B = \begin{bmatrix}{a11+b11}&{a12+b12}&{a13+b13}&{a14+b14}\\
{a21+b21}&{a22+b22}&{a23+b23}&{a24+b24} \\
{a31+b31}&{a32+b32}&{a33+b33}&{a34+b34} \end{bmatrix}

Resta de Matrices

Definimos la resta de matrices como el proceso de restar cada elemento de la primera matriz A por su correspondiente elemento de la matriz B de la siguiente manera:

A - B = \begin{bmatrix}{a11-b11}&{a12-b12}&{a13-b13}&{a14-b14}\\
{a21-b21}&{a22-b22}&{a23-b23}&{a24-b24} \\
{a31-b31}&{a32-b32}&{a33-b33}&{a34-b34} \end{bmatrix}

Multiplicación de una matriz por un escalar

Una multiplicación de una matriz por un escalar es el proceso de multiplicar un número c (real o complejo) por una matriz de la siguiente manera:

(c)A = \begin{bmatrix}{a11(c)}&{a12(c)}&{a13(c)}&{a14(c)}\\
{a21(c)}&{a22(c)}&{a23(c)}&{a24(c)} \\
{a31(c)}&{a32(c)}&{a33(c)}&{a34(c)} \end{bmatrix}

Es decir, el escalar multiplica a cada uno de los elementos de la matriz.

Multiplicación de una matriz por un vector

De la misma manera, existe la operación de multiplicar una matriz por un vector (o inclusive una combinación lineal) definido de la siguiente manera:

\text{Sean un vector } \vec{b} \text{ definido por: }\\
\vec{b} = \begin{bmatrix} {b1}\\{b2}\\{b3}\\{b4}\end{bmatrix}

La operación de multiplicar una matriz A por el vector anterior se define:

A (\vec{b}) = \begin{bmatrix}{a11(b1)}&{a12(b2)}&{a13(b3)}&{a14(b4)}\\
{a21(b1)}&{a22(b2)}&{a23(b3)}&{a24(b4)} \\
{a31(b1)}&{a32(b2)}&{a33(b3)}&{a34(b4)} \end{bmatrix}

Cuando multiplicamos una matriz por un vector, es requisito que el número de elementos del vector sea igual al número de columnas de la matriz.

Multipicación entre matrices

La multiplicación entre matrices viene definido de la siguiente manera:

A = \begin{bmatrix}{a11}&{a12}\\
{a21}&{a22} \end{bmatrix} ,
B = \begin{bmatrix}{b11}&{b12}\\
{b21}&{b22} \end{bmatrix}
(A)(B)= \begin{bmatrix}{a11(b11)+a12(b21)}&{a11(b12)+a12(b22)}\\
{a21(b11)+a22(b21)}&{a21(b12)+a22(b22) } \end{bmatrix}

Cuando multiplicamos entre matrices, es requisito que el número de filas de una matriz sea igual al número de columnas de la otra matriz.

Las matrices se pueden clasificar de muchas maneras, entre esas podemos nombrar las matrices identidad, unitaria y transpuesta, entre otras. No te olvides visiar los enlaces al final para mayor información.

Producto Tensorial

Un tensor es una entidad algebraica que posee varios componentes. Podemos abstraer como la generalización de escalares, vectores y matrices en una sola identidad.

El producto tensorial es una operación matemática que se puede aplicar a tensores en espacios vectoriales.

Nomenclatura:

\text{Se define por el símbolo } \otimes

Sean A, B dos espacios vectoriales de n dimensiones, el producto tensorial viene definido por:

A = \begin{bmatrix}{a_1}\\
{a_2}\\{a_3}\\{...}\\{a_n} \end{bmatrix},
B = \begin{bmatrix}{b_1}\\
{b_2}\\{b_3}\\{...}\\{b_n} \end{bmatrix}
A \otimes B= \begin{bmatrix}{a_1b_1}&{a_1b_2}&{a_1b_3}&{...}&{a_1b_n}\\
{a_2b_1}&{a_2b_2}&{a_2b_3}&{...}&{a_2b_n}\\
{a_3b_1}&{a_3b_2}&{a_3b_3}&{...}&{a_3b_n}\\
{...}&{...}&{...}&{...}&{...}\\
{a_nb_1}&{a_nb_2}&{a_nb_3}&{...}&{a_nb_n}\\\end{bmatrix}

Al producto tensorial entre matrices tambien se le denomina Producto de Kronecker y viene definido de la siguiente manera:

A = \begin{bmatrix}{a11}&{a12}\\
{a21}&{a22} \end{bmatrix},
B = \begin{bmatrix}{b11}&{b12}\\
{b21}&{b22} \end{bmatrix}
A \otimes B= \begin{bmatrix}{a11\begin{bmatrix}{b11}&{b12}\\{b21}&{b22} \end{bmatrix}}&{a12\begin{bmatrix}{b11}&{b12}\\{b21}&{b22} \end{bmatrix}}\\
{a21\begin{bmatrix}{b11}&{b12}\\{b21}&{b22} \end{bmatrix}}&{a22\begin{bmatrix}{b11}&{b12}\\{b21}&{b22} \end{bmatrix}} \end{bmatrix}
A \otimes B= \begin{bmatrix}{a11(b11)}&{a11(b12)}&{a12(b11)}&{a12(b12)} \\
{a11(b21)}&{a11(b22)}&{a12(b21)}&{a12(b22)} \\
{a21(b11)}&{a21(b12)}&{a22(b11)}&{a22(b12)} \\
{a21(b21)}&{a21(b22)}&{a22(b21)}&{a22(b22)} \\
\end{bmatrix}

De esta manera hemos definido una breve base matemática con la que iremos trabajando en computación cuántica. En las próximas publicaciónes nos adentraremos en los temas ya ofrecidos. No te olvides de enviar tus sugerencias y comentarios en el cajón inferior. Te dejo con los enlaces finales:

Números imaginarios

Números complejos

Combinaciones lineales

Vectores

Matrices

Tensores

Última modificación: 16/02/2021

Autor