Categoría: Notas de temas de interés

  • ¡Hongos en tu Computadora! Descubre el Futuro de la Tecnología con Fungi

    ¡Hongos en tu Computadora! Descubre el Futuro de la Tecnología con Fungi

    ¡Hola, amantes de la tecnología! Hoy les traigo una noticia que parece sacada de una película de ciencia ficción: ¡los hongos podrían ser el futuro de la computación! Sí, así como lo lees. Investigadores están explorando cómo los hongos pueden reemplazar o mejorar los componentes de las computadoras actuales. Llegue por medio del video que les dejo a continuación:

    Una verdadera locura, así que me puse a leer las noticias y como funciona la cosa, así que abróchense los cinturones por que vamos a viajar al reino tecno-fúngico.

    ”¿Qué

    En la Universidad del Oeste de Inglaterra, un equipo de científicos está llevando a cabo investigaciones pioneras en su Laboratorio de Computación No Convencional. Este laboratorio es único en el Reino Unido porque mezcla químicos, líquidos, materia biológica y electrónica en busca de nuevos avances tecnológicos. Y ahora, están experimentando con hongos, específicamente con el micelio, que es la red de hilos que forman la parte “subterránea” de un hongo.

    Al entrar al laboratorio, podría parecer un lugar normal, con computadoras y equipos científicos por todos lados. Pero si miras de cerca, verás grandes contenedores de plástico con electrodos insertados en una sustancia espumosa, y hasta una placa base con pequeñas setas creciendo encima.

    ”¿Por

    Los investigadores han encontrado que el micelio, la red de hilos subterráneos de los hongos, tiene la capacidad de reaccionar a pulsos eléctricos de una manera sorprendentemente similar a cómo lo hacen las neuronas en el cerebro humano. Esta similitud abre la puerta a la posibilidad de utilizar micelio para construir componentes de computadoras, como circuitos lógicos y electrónicos básicos. Vamos a desglosar cómo funciona esto y por qué es tan emocionante.

    ”¿Qué

    El micelio es la parte vegetativa del hongo, una red extensa y ramificada de filamentos llamados hifas. Aunque a menudo pensamos en los hongos como las estructuras que vemos en la superficie, como champiñones y setas, la mayor parte del organismo está en realidad bajo tierra en forma de micelio.

    ”Micelio

    En nuestro cerebro, las neuronas se comunican mediante señales eléctricas llamadas potenciales de acción. Estas señales permiten que las neuronas transmitan información a través de redes complejas, procesando y almacenando datos. El micelio, aunque es una estructura biológicamente diferente, puede generar y transmitir señales eléctricas de manera similar.

    Cuando los investigadores aplican pulsos eléctricos al micelio, este responde con “espigas” de actividad eléctrica. Estas espigas son muy parecidas a los potenciales de acción en las neuronas. En términos simples, cuando se estimula el micelio en un punto, puede transmitir una señal eléctrica a otras partes de su red.

    Imagina que estás en un concierto y la banda toca diferentes notas y ritmos. Tu cerebro procesa estos sonidos y te hace sentir feliz, emocionado o nostálgico. Algo similar sucede con los hongos cuando se les envían pulsos eléctricos. Estas “notas eléctricas” hacen que el micelio reaccione de maneras específicas, creando lo que los científicos llaman “respuestas espigadas”. Estas respuestas son más complejas que los simples ceros y unos que usamos en las computadoras actuales.

    ”Construcción

    En la computación tradicional, los circuitos lógicos son la base para realizar operaciones y cálculos. Estos circuitos se basan en la lógica binaria, usando ceros y unos (0 y 1) para representar estados apagado y encendido. El micelio, con sus respuestas espigadas, puede representar estos estados de una manera más compleja. Por ejemplo:

    • Espiga Presente: Puede considerarse como un “1”.
    • Espiga Ausente: Puede considerarse como un “0”.

    Además, el tiempo y la distancia entre las espigas pueden agregar una dimensión adicional de información, permitiendo que un solo filamento de micelio represente múltiples estados o funciones lógicas.

    Imagina que quieres construir un circuito lógico simple que responda a dos entradas. Con micelio, podrías:

    1. Aplicar un pulso eléctrico en dos puntos diferentes de la red de micelio.
    2. Observar las respuestas espigadas en un tercer punto.
    3. Determinar la función lógica según la combinación de espigas recibidas.

    Por ejemplo, si ambos puntos A y B son estimulados y el punto C muestra una espiga, podrías tener una lógica similar a un operador “AND” en computación binaria (donde el resultado es 1 solo si ambas entradas son 1). Si quieres ver como se forman estas estructuras puedes profundizar en un anterior post donde hablamos sobre conceptos básicos de deeplearning.

    ”Ventajas

    La capacidad del micelio para crear una “memoria” al ser estimulado es realmente fascinante. Esto es similar a cómo nuestro cerebro forma hábitos. Por ejemplo, cuando practicas tocar la guitarra, tus dedos “recuerdan” dónde deben ir con el tiempo. De manera similar, el micelio puede recordar ciertas tareas, lo que podría reemplazar componentes esenciales de las computadoras clásicas como el procesador, la memoria y el almacenamiento.

    • Autoregeneración: El micelio puede repararse a sí mismo si se daña, algo que no puede hacer el silicio tradicional.
    • Baja Energía: Funciona a niveles de energía muy bajos comparados con los circuitos electrónicos convencionales.
    • Adaptabilidad: Puede crecer y adaptarse a nuevas configuraciones y problemas de manera orgánica.


    честные казино с быстрыми выплатами
    бездепозитные бонусы казино
    играть в лучшем казино на деньги
    база казино с бездепозитным бонусом
    онлайн казино России
    casino oyunu

    Así que la próxima vez que veas un hongo en tu jardín, recuerda que podría ser la clave para la próxima generación de computadoras. ¡El futuro es ahora y está lleno de hongos!

    Espero que hayas disfrutado de esta inmersión en el fascinante mundo de la computación fúngica. ¡Mantente atento a más novedades tecnológicas aquí en nuestro blog y no olvides comentar y compartir! Hasta la próxima.

  • El Legado de Ada Lovelace: Pionera en la Tecnología

    El Legado de Ada Lovelace: Pionera en la Tecnología

    Hoy, uniéndonos a la celebración del día internacional de la mujer, queremos compartirte una fascinante historia, de una figura excepcional cuyo legado sigue resonando en el mundo de la tecnología: Ada Lovelace. Ada, nacida en 1815, fue una matemática visionaria y escritora que dejó una huella imborrable en el campo de la informática. Además, te contaremos sobre el lenguaje de programación que lleva su nombre.

    La Primera Programadora

    Hija del famoso poeta Lord Byron. En una época en la que las mujeres tenían pocas oportunidades en las áreas científicas, Ada se abrió camino como matemática y visionaria de la tecnología.

    Ada Lovelace es comúnmente reconocida como la primera programadora de la historia. En la década de 1840, colaboró con Charles Babbage en su máquina analítica, una máquina conceptual que se considera el antecedente de las computadoras modernas. Lovelace no solo comprendió la capacidad de la máquina para realizar cálculos, sino que también vislumbró su potencial más allá de los números.

    • Colaboración con Charles Babbage: Ada colaboró con Charles Babbage, considerado el “padre de la computadora”, en su proyecto de la Máquina Analítica.
    • Primer algoritmo: Ada escribió un algoritmo para calcular los números de Bernoulli, considerado el primer algoritmo para una máquina de propósito general.
    • Visión de futuro: Ada visualizó el potencial de la Máquina Analítica para ir más allá de los cálculos matemáticos, como componer música o crear imágenes. Anticipando así la noción de programación de software.

    Legado en la Actualidad

    Hoy, en la era de la informática y la tecnología, el legado de Ada Lovelace vive a través de cada línea de código que escribimos. Sus contribuciones pioneras sientan las bases para la programación moderna y nos recuerdan la importancia de la diversidad de pensamiento en el avance tecnológico.

    • Pionera: El trabajo de Ada Lovelace la convirtió en una pionera en la historia de la informática.
    • Reconocimiento: En 1979, se creó un lenguaje de programación en su honor llamado Ada.
    • Inspiración: Ada Lovelace es una fuente de inspiración para las mujeres que buscan una carrera en STEM (ciencia, tecnología, ingeniería y matemáticas)

    Inspirando a las Mujeres en Tecnología

    Su valentía para desafiar las expectativas de su tiempo y su visión innovadora siguen motivando a las mujeres a seguir sus pasiones y marcar la diferencia en el mundo de la tecnología.

    Hoy, celebramos no solo a Ada Lovelace, sino a todas las mujeres que han contribuido y continúan contribuyendo al mundo de la tecnología. Su legado nos recuerda que la diversidad es la fuerza impulsora de la innovación.

    Hablemos sobre el lenguaje de programación Ada

    Ada es un lenguaje de programación versátil y potente que ofrece una amplia gama de características para el desarrollo de software robusto y confiable. Su principales características son:

    • Orientación a objetos: Ada es un lenguaje de programación orientado a objetos, lo que significa que permite organizar el código en unidades modulares llamadas “objetos”.
    • Concurrencia: Ada permite la ejecución simultánea de diferentes tareas, lo que lo hace ideal para sistemas que requieren un alto rendimiento.
    • Tipado fuerte: Ada es un lenguaje de tipado fuerte, lo que significa que cada variable debe tener un tipo de dato específico. Esto ayuda a prevenir errores en el código.
    • Portabilidad: Ada es un lenguaje portable, lo que significa que el código escrito en Ada puede ejecutarse en diferentes plataformas sin necesidad de modificaciones.
    • Seguridad: Ada fue diseñado con la seguridad en mente, lo que lo hace ideal para sistemas críticos donde la confiabilidad es fundamental.
    • Legibilidad: La sintaxis de Ada es clara y concisa, lo que facilita la lectura y el mantenimiento del código.
    • Estandarización: Ada es un lenguaje estandarizado por la Organización Internacional de Normalización (ISO), lo que garantiza su compatibilidad entre diferentes implementaciones.
    • Amplia biblioteca estándar: Ada cuenta con una amplia biblioteca estándar que proporciona una gran variedad de funciones predefinidas.
    • Soporte para la programación genérica: Ada permite la creación de código genérico que puede reutilizarse en diferentes contextos.
    • Mantenimiento: Ada es un lenguaje con un mantenimiento activo, lo que significa que se actualiza constantemente con nuevas características y correcciones de errores.

    ¿Por qué Ada no es tan popular?

    Fue desarrollado en 1970 para el Departamento de Defensa de los Estados Unidos, enfrentó desafíos en su adopción generalizada. La falta de compiladores y herramientas de desarrollo accesibles limitó su disponibilidad, especialmente en comparación con lenguajes como C y Pascal. Con el auge de las computadoras personales en los años 80, la popularidad de Ada se vio afectada, ya que su enfoque inicial en sistemas a gran escala no se adaptaba fácilmente al desarrollo en computadoras personales. Además, la percepción de ser un lenguaje más verboso y la curva de aprendizaje pronunciada, debido a características como el tipado fuerte y la concurrencia, contribuyeron a que algunos programadores optaran por lenguajes más simples y establecidos. A pesar de sus capacidades, Ada luchó por ganar tracción significativa en un mercado ya saturado con ecosistemas de otros lenguajes establecidos.

    Sin embargo, Ada sigue siendo relevante en dominios específicos, particularmente cuando las características fuertes como el procesamiento en tiempo real, la alta confiabilidad y la seguridad son cruciales. Su uso prevalece en sistemas críticos como:

    • Sistemas aeroespaciales
    • Sistemas de defensa
    • Sistemas de control industrial
    • Sistemas de telecomunicaciones
    • Sistemas médicos
    • Sistemas financieros

    Ahora mi pregunta es: ¿Deberíamos darle la oportunidad para probarlo? Deja tus comentarios y opiniones. Nos vemos en el próximo post. Y feliz día a todas la damitas.


    ¡Conviértete en un experto tecnológico! 🚀 Suscríbete a nuestro newsletter y recibe las últimas noticias, análisis y tendencias directamente en tu bandeja de entrada. No te pierdas las actualizaciones que harán que tu experiencia tecnológica sea aún más emocionante. ¡Únete a nuestra comunidad hoy! 📧✨

  • Desconectando cables y conectando emociones: Soledad informática

    Desconectando cables y conectando emociones: Soledad informática

    Estaba haciendo una introspección y no pude dejar de notar que mi circulo social es reducido, y que además muchos de las personas jóvenes con quien trabajo en tecnología están solos o tienen relaciones algo toxicas. Hoy en día, no es un secreto que existe un fenómeno paradójico donde entre mas conexión digital tenemos mas desconexión humana existe, se a incrementado la soledad y las personas tienden a sentirse menos felices y poco realizadas. Podemos hablar sobre sus causas, sobre la influencia de las redes, las tendencias, tópicos y si eres tan friki como yo, hasta podríamos integrar la ecuación de Drake para cuantificar por que estamos solos(LOL), pero en este post quiero simplemente dar una opinión ligera, divertida y algunos tips para hacer update a nuestra cpu y lograr ser parte de la red de la vida y no solo limitarnos a compartir memes.

    Código solitario

    Es bien sabido que los informáticos tienen una relación íntima con sus computadoras. Pero, ¿Por qué prefieren la compañía de líneas de código en lugar de personas? La respuesta es más sencilla de lo que parece: ¡El código no te pide prestado dinero, ni te deja plantado en la cafetería! Fin del análisis…

    Pero enserio, la naturaleza de nuestro trabajo, centrada en la lógica y la resolución de problemas, puede llevar a una inmersión profunda nuestros propios pensamientos, creando una barrera invisible con el resto del mundo. A veces, el código puede ser un mejor compañero de conversación que el vecino del otro piso; yo también he pasado horas peleando con una instrucción o buscando como solucionar un bug entre mundos de respuestas de Stackoverflow y cuando llegas a la solución es la mejor sensación, te olvidas de todas esas horas y te felicitas como el campeón que eres. Y esto no se limita a los informáticos, la verdad es que muchas profesiones y sobre todo después de pandemia, nos acostumbramos a la comodidad de la casa y explorar el mundo por medio de un dispositivo. Lo digo por experiencia propia, por ejemplo me entere de la pandemia fue por el miedo a perder los sabores, amo comer y mi mayor terror fue perder el gusto, por lo demás ya vivía aislado y encerrado en mis temas y proyectos.

    Y hoy salgo aquí gritando al mundo que esta mal encerrarnos, esta mal dejar pasar la vida y no sacar nada de ella, independientemente de que creas, como vivas y que esperas para tu futuro debes tomar esas pequeñas oportunidades que aparecen cada día. Carpe diem. Y es que no soy una historia de redención, sigo luchando con salir, con dejar la comodidad y buscar la aventura.

    Cada día suelo hablar con una amiga que se ha convertido en mi gurú en este cambio, he tenido altas y bajas y quienes me conocen saben que soy muy introvertido, aun así cada vez que salgo alguna payasada me ocurre y me he dado cuenta que esas situaciones y compartirlas con los demás es lo que mas alegría me da.

    Habilidades blandas en el mundo binario

    Las habilidades blandas, esas que no tienen nada que ver con la suavidad de las almohadas, son la clave para romper este hielo digital. Comunicación, empatía, trabajo en equipo y otras habilidades sociales pueden parecer tan ajenas como un lenguaje de programación exótico, pero son esenciales para salir del modo “solitario” y abrazar el modo “social”.

    Pequeños cambios día a día van haciendo hábitos y van creando una hermosa historia que dejar plasmada en Wikipedia. A veces tratamos y nos cuesta pero esos pequeños amigos que se quedan te impulsan a buscar mas y a ir tras las aventuras. Muchas veces me repito: No lo haces por ti lo haces por las historias. Y creo que esa es una excelente manera, busca tu motivación, busca tu ancla para no perderte solo en internet.

    Desenchufando la soledad

    Primero ten en cuenta que nuestra droga es digital y que parece que no genera ningún perjuicio, así que es difícil tratarla y lleva tiempo. Ahora como logramos salir de la guarida y sumergirnos en el mundo real? Aquí van algunos consejos prácticos:

    • Outsourcing: Debemos hacernos con un par de amigos que nos motiven a salir, que no sean solo chats y juegos de computadora. Lo peor que puedes hacer es buscar mas amigos digitales, tener un millón de amigos en Facebook es equivalente a estar en un edificio de solo chismosos, nada bueno sacaras escuchando babosadas.
    • Agregar a lista de deseados: Este particularmente me ha servido, y es que encontrar esas cosas que te gustan te motivan a salir. En mi caso a sido la fotografía, acampar, la astronomía y ver a mi perro huir de perros mas pequeños. Por cierto, las mascotas son un gran aliado para empezar a socializar por si te sientes intimidado de hablar con otros.
    • -f: Fuérzate a buscar esas aventuras.

    También me gustaría incluir algunos puntos que podemos practicar en la oficina, podrías implementar con tus compañeros.

    • Eventos tecnológicos con toque humano: Organiza eventos tecnológicos que no se centren solo en códigos y algoritmos, sino también en historias y experiencias. ¡Que se hable de los fallos más épicos o de los proyectos más locos!
    • Talleres de habilidades blandas: Ofrece talleres que combinen la tecnología con el desarrollo personal. Aprender a trabajar en equipo puede ser tan emocionante como descubrir un nuevo framework.
    • Mentoría intergeneracional: Fomenta la conexión entre informáticos más experimentados y aquellos que están dando sus primeros pasos en el mundo tecnológico. La sabiduría de la experiencia puede ser tan valiosa como el código más eficiente.

    Código abierto, corazón abierto

    En resumen, la clave está en balancear el amor por el código con la apertura al mundo exterior. Los informáticos, como cualquier ser humano, también necesitan socializar y compartir experiencias. Desenchufemos esos cables de la soledad y conectemos en el mundo real. Y si no eres informático pero estas vinculado al mundo de la tecnología también es probable que estés cayendo en el ostracismo informático, así que ponte las pilas, sal mas al mundo real y que no te de miedo compartir quien res al mundo.

    Así que ya sabes, la próxima vez que veas a un informático absorto en su pantalla, invítale un café y pregúntale sobre su código favorito. ¡Te sorprenderá la cantidad de historias que pueden contar más allá de las líneas de código! ¡Feliz navegación en este maravilloso océano digital! 🚀💻


    ¡Conviértete en un experto tecnológico! 🚀 Suscríbete a nuestro newsletter y recibe las últimas noticias, análisis y tendencias directamente en tu bandeja de entrada. No te pierdas las actualizaciones que harán que tu experiencia tecnológica sea aún más emocionante. ¡Únete a nuestra comunidad hoy! 📧✨

  • Introducción lógica borrosa

    Introducción lógica borrosa

    Conceptos básicos

    Dato: Representación parcial o total de algo. Tenemos diferentes tipos de datos. Suelen almacenarse en un datalake(repositorio de datos diversos en bruto) para extraer información.

    Información: conjunto de datos, Aprovechamiento inteligente de datos masivos.

    Conocimiento: Reglas aplicadas a los datos o información. Abstracción o patrones de un algo. Es la base del sistema de inteligencia de negocio.

    • Sistemas de ayuda a la decisión
    • Sistemas de recomendación
    • Análisis de series temporales (predicción(estimación) y pronostico(hecho puntual, sigue una tendencia))

    Tipos básicos de analítica de datos

    • Descriptivo: Describe que ocurrió o esta ocurriendo
    • Diagnostico: Indaga las causas de lo que esta ocurriendo y valida que evidentemente ocurre lo que se afirma que esta sucediendo.
    • Descubrimiento
    • Predictivo: ¿Qué es lo mas probable que ocurre?
    • Prescriptivo ¿Qué es lo mejor que se puede hacer?

    SOFTComputing

    Asociación de diferentes técnicas, donde cada una aporta desde su campo fuerte, los principales componentes son:

    • Lógica borrosa
    • Redes neuronales
    • Razonamiento probabilístico (redes de creencias)
    • Algoritmos genéticos
    • Teoría del caos
    • Teoría de aprendizaje

    Ingeniería del conocimiento

    Se encarga de analizar, pulir y extraer información de los datos por medio de sistemas expertos.

    Abducción: Razonamiento aproximado.

    Deducción: Inducción de los ejemplos a la generalización.

    Correlación a causalidad (Razonamiento por analogía)

    • Una causa tiene una relación con un efecto
    • Una causa puede tener una relación de similitud con otra causa, por ejemplo la gripe SARS tiene una relación de similitud con el Covid, por lo que podemos crear una relación para estimar los efectos.

    Conjunto clásico o CRISP

    Un conjunto es una lista, también lo podemos especificar a través de propiedades o reglas, por ejemplo el conjunto de los números pares.

    La función de característica indica si un elemento hace parte o no de un conjunto.

    El numero de elementos que pertenece a un conjunto A se llama cardinalidad del conjunto |A|

    La familia de conjuntos que incluye todos los subconjuntos de un conjunto se denomina conjunto potencia. El numero de elementos del conjunto potencia será: |P(A)|=2^{|A|}

    Lógica borrosa

    Proporciona bases para el razonamiento aproximado, incluye:

    • Predicados borrosos(caro, alto, raro, peligroso, …)
    • Cuantificadores borrosos (mucho, parecido, casi todo, …)
    • Valores de verdad borrosos (muy cierto, mas o menos cierto, …)
    • Cercas semánticas (muy, algo, …)
    Conjunto CRISP vs conjunto borroso
    Conjunto CRISP vs conjunto borroso

    El soporte de un conjunto borroso A es el conjunto crisp que contiene todos los elementos del domino que tienen un grado de pertenencia no nulo en A.

    Altura de un conjunto borroso es el mayor grado de pertenencia que tiene cualquiera de los elementos del conjunto borroso.

    Núcleo de un conjunto borroso es el conjunto de elementos del soporte que tienen el máximo grado de pertenencia al conjunto borroso.

    Un conjunto borroso es normalizado cuando al menos uno de sus elementos alcanza el grado de pertenencia 1.

    \alpha-corte de un conjunto borroso A es un conjunto crisp que contiene todos los elementos de conjunto universal X que que tienen un grado de pertenencia en A mayor o igual que el valor \alpha.

    Conjunto nivel de un conjunto borroso A es el conjunto de sus distintos \alpha-cortes o niveles \Alpha\in[0,1].

    Cardinalidad escalar de un conjunto borroso A definido en un conjunto de universo finito se define como la suma de los grados de pertenencia de todos los elementos del dominio en A

    \left|A\right|=\sum_{x\in X}\mu_A(x)

    Cardinalidad borrosa es un conjunto borroso cuya función de pertenencia se define como:

     \mu_{\left|{A}' \right|}(\left|A_\alpha\right|)=\sum_{i=1,n}\alpha_i/n_i

    Indica cuantos elementos quedan por encima de un \alpha-corte.

    Un conjunto borroso A es convexo sí y solo sí cada uno de sus \alpha-cortes es un conjunto convexo en sentido crisp.

    Número borroso es un conjunto borroso convexo y normalizado cuya función de pertenencia es continua.

    Ejemplo número borroso 0
    Ejemplo número borroso 0

    Operadores

    Or \vee=\cup Unión

    And \wedge=\cap Intersección

    Implica \to=\subseteq Inclusión

    Negación \lnot A=\tilde{A} Complementario

  • Fundamentos matemáticos para la computación cuántica

    Fundamentos matemáticos para la computación cuántica

    Números complejos

    Los números complejos \mathbb C puede representarse como la suma de un número real y un número imaginario.

    a = a_{r}+ia_{i}, con  i=\sqrt{-1} y:

    • a_{r} componente real, a_{r} = \Re (a)
    • a_{i} componente imaginaria, a_{i} = \Im (a)

    Operaciones con complejos

    Suma

    a+b=(a_{r}+b_{r})+i(a_{i}+b_{i})\in \mathbb{C}

    Producto

    Recordemos que i^{2}=-1

    ab=(a_{r}+ia_{i})(b_{r}+ib_{i})=(a_{r}b_{r}-a_{i}b_{i})+i(a_{r}b_{i}+a_{i}b_{r})\in \mathbb{C}

    Conjugado

    El conjugado se obtiene cambiando el signo de su componente imaginaria.

    \bar{a}=a_r-ia_i o a^*=a_r-ia_i

    • La conjugación del denominador complejo juega el mismo papel que la racionalización de un denominador irracional. Se busca que el denominador sea real.
    • Facilita la división de números complejos, pues al conjugar el denominador, el cociente se transforma en un producto del dividendo por el inverso multiplicativo del divisor.
    • Permite calcular el módulo de cualquier número complejo.

    Norma(Módulo)

    Es el número real positivo que mide su tamaño y generaliza el valor absoluto de un número real. Esta noción es particularmente útil para definir una distancia en el plano complejo.

    |a|^2=a^*a=(a_r-ia_i)(a_r+ia_i)=a_r^2+ia_ra_i-ia_ia_r+a_i^2=a_r^2+a_i^2

    \Rightarrow |a|=+\sqrt{a_r^2+a_i^2}\in \mathbb{R}

    División

    \frac{a}{b}=\frac{ab^*}{bb^*}

    =\frac{(a_r+ia_i)(b_r-ib_i)}{|b|^2}

    =\frac{(a_rb_r+a_ib_i)+i(a_ib_r-a_rb_i}{|b|^2}\in \mathbb{C}

    Forma polar

    Podemos representar los números complejos como puntos en el plano, cada punto del plano se determina por una distancia y un ángulo.

    Esta forma de representar los números complejos es ampliamente utilizada en física y trigonometría, ya que es normalmente mucho más simple trabajar con números complejos expresados en forma polar que con su equivalente en forma rectangular(forma que vimos anteriormente).

    Formula de Euler: e^{i\theta} = \cos\theta + i\sin\theta con \theta\in \mathbb{R} denominada fase.

    Nótese que en esta fórmula, al igual que en todas aquellas en las que intervienen exponenciales de ángulos, se asume que el ángulo θ está expresado en radianes.

    Veamos algunas operaciones con forma polar:

    Sean a,b \in \mathbb{C}, a=|a|e^{i\theta}, b=|b|e^{i\varphi}, con |a|, |b|, \theta, \varphi \in \mathbb{R}

    Ilustración de un número complejo en el plano complejo usando la fórmula de Euler

    Producto

    a b = |a||b|e^{i(\theta+\varphi)} = |ab| (\cos(\theta+\varphi)+i\sin(\theta+\varphi))

    Conjugado

    a^* = |a|e^{-i\theta} = |a| (\cos\theta - i\sin\theta)

    División

    \frac{a}{b} = \frac{|a|}{|b|}e^{i(\theta-\varphi)} = \frac{|a|}{|b|}(\cos(\theta-\varphi)+i\sin(\theta-\varphi))

    Potencia

    a^n = |a|^ne^{in\theta} = |a|^n (\cos(n\theta) - i\sin(n\theta))

    Exponenciación

    e^{(x+yi)} = e^xe^{iy} = e^x(\cos(y)+i\sin(y))

    Raíces

    \sqrt[n]{a} = a^\frac{1}{n} = |a|^\frac{1}{n}e^{i\frac{\theta+2k\pi}{n}}

    Hagamos unas operaciones para sacar la norma y la fase con la forma polar.

    Espacio de Hilbert

    Es una generalización del concepto de espacio euclídeo. Esta generalización extiende los métodos del álgebra lineal y el cálculo aplicados en el espacio euclídeo de dos dimensiones y tres dimensiones a los espacios de dimensión arbitraria, incluyendo los espacios de dimensión infinita.

    El estado de un sistema cuántico viene descrito por un vector (vector de estado) en un espacio de Hilbert de componentes complejas.
    Espacio vectorial complejo: conjunto no vacío de elementos, denominados vectores, que incluye las operaciones de suma, negación y multiplicación por un escalar
    Los vectores se representan como arrays de 𝑛 filas y 1 columna.

    \vec{v}=\begin{bmatrix} v_0\\ v_1\\ \vdots \\ v_{n-1} \end{bmatrix}

    v_i\in \mathbb{C} y n es la dimensión del espacio.

    El espacio \mathbb{V} = \mathbb{C}^2 formado por los vectores de 2 elementos complejos con producto escalar es un espacio de Hilbert.

    Notación de Dirac(bra-ket)

    Es la notación estándar para describir los estados cuánticos, también se utiliza para denotar vectores abstractos y funcionales lineales en matemática.

    El estado de un sistema físico se identifica con un vector en el espacio de Hilbert complejo, . Cada vector se llama un ket, y se denota como . Cada ket tiene un bra dual, escrito como , esto es una funcional lineal continua de a los números complejos C.

    Ket: |\,\rangle

    Bra: \langle\,|

    |v\rangle = \begin{bmatrix} v_0 \\ v_1\\ \vdots \\v_{n-1} \end{bmatrix}

    \langle v| = (|v\rangle)^\dagger = \begin{bmatrix} v_0^* & v_1^* & \cdots & v_{n-1}^* \end{bmatrix}

    donde el símbolo \dagger representa la matriz traspuesta conjugada

    Producto escalar o interno

    Se utiliza para determinar si dos vectores son ortogonales.

    Sean |u\rangle y |v\rangle vectores de dimensión n.

    \langle v|u\rangle = \begin{bmatrix} v_0^* & v_1^* & \cdots & v_{n-1}^* \end{bmatrix}\cdot \begin{bmatrix} u_0 \\ u_1\\ \vdots \\u_{n-1} \end{bmatrix} = v_0^*u_0 + v_1^*u_1 + \cdots + v_{n-1}^*u_{n-1} \in \mathbb{C}

    Módulo(Norma)

    \lVert|v\rangle\|^2 = \langle v|v\rangle = v_0^*v_0 + v_1^*v_1 + \cdots + v_{n-1}^*v_{n-1}

     =|v_0|^2 + |v_1|^2 + \cdots + |v_{n-1}|^2 \in \mathbb{R}

     

    Esta norma es siempre positiva

    \||v\rangle\|\ge 0$, y $\||v\rangle\|= 0\Leftrightarrow |v\rangle = 0

    Propiedades del producto interno

    • Linealidad por la izquierda:- \langle (\alpha v+\beta w)|u\rangle = \alpha\langle v|u\rangle+\beta\langle w|u\rangle con \alpha,\beta \in \mathbb{C}
    • Linealidad conjugada por la derecha: \langle v|(\alpha u+\beta w)\rangle = \alpha^*\langle v|u\rangle+\beta^*\langle v|w\rangle con \alpha,\beta \in \mathbb{C}
    • Hermiticidad: \langle v|u\rangle = (\langle u|v\rangle)^*

    Producto externo (outer product)

    Se usa para probar si dos vectores son paralelos.

    El producto externo de dos vectores de dimensión n es una matriz de dimensión n\times n

    |u\rangle\langle v| = \begin{bmatrix} u_0 \\ u_1\\ \vdots \\u_{n-1} \end{bmatrix}\cdot \begin{bmatrix} v_0^* & v_1^* & \cdots & v_{n-1}^* \end{bmatrix}= \begin{bmatrix} u_0v_0^* & u_0v_1^* & \cdots & u_0v_{n-1}^*\\ u_1v_0^* & u_1v_1^* & \cdots & u_1v_{n-1}^*\\ \vdots & \vdots & \ddots & \vdots\\ u_{n-1}v_0^* & u_{n-1}v_1^* & \cdots & u_{n-1}v_{n-1}^*\\ \end{bmatrix}

    Propiedades del producto externo

    • |u\rangle\langle v| = (|v\rangle\langle u|)^\dagger
    • (|u\rangle + |v\rangle)(\langle w|+\langle x|)
      = |u\rangle(\langle w|+\langle x|)+|v\rangle(\langle w|+\langle x|)
      = |u\rangle\langle w|+|u\rangle\langle x|+|v\rangle\langle w|+|v\rangle\langle x|
    • \alpha(|u\rangle\langle v|) = (\alpha|u\rangle)\langle v|
      = |u\rangle(\alpha\langle v|) con \alpha\in \mathbb{C}
    • (|u\rangle\langle v|)|w\rangle
      = |u\rangle(\langle v|w\rangle)
      = (\langle v|w\rangle)|u\rangle ya que \langle v|w\rangle es un escalar

    Producto tensor (Kronecker)

     

    Denotado con \otimes, a una operación sobre dos matrices de tamaño arbitrario que da como resultado una matriz bloque. Es un caso especial del producto tensorial. El producto de Kronecker no debería confundirse con el producto de matrices habitual, que es una operación totalmente diferente.

    El producto tensor de un vector |u\rangle de m elementos y un vector |v\rangle de n elementos es un vector de m\cdot n elementos dado por:

    |u\rangle\otimes|v\rangle \equiv |u\rangle|v\rangle \equiv |uv\rangle = \begin{bmatrix} u_0 \begin{bmatrix} v_0 \\ v_1\\ \vdots \\v_{n-1} \end{bmatrix}\\ u_1 \begin{bmatrix} v_0 \\ v_1\\ \vdots \\v_{n-1} \end{bmatrix}\\ \vdots\\ u_{m-1} \begin{bmatrix} v_0 \\ v_1\\ \vdots \\v_{n-1} \end{bmatrix} \end{bmatrix} = \begin{bmatrix} u_0v_0\\ u_0v_1\\ \vdots\\ u_0v_{n-1}\\ u_1v_0\\ u_1v_1\\ \vdots\\ u_1v_{n-1}\\ \vdots\\ u_{m-1}v_0\\ u_{m-1}v_1\\ \vdots\\ u_{m-1}v_{n-1}\\ \end{bmatrix}

     

    Ejemplo:

    Sean, en un espacio de dimensión 2, los siguientes vectores:

    |0\rangle = \begin{bmatrix}1 \\ 0\end{bmatrix}, \quad |1\rangle =\begin{bmatrix}0 \\ 1\end{bmatrix} \\ |0\rangle\otimes |0\rangle \equiv |00\rangle = \begin{bmatrix}1 \\ 0\end{bmatrix}\otimes \begin{bmatrix}1 \\ 0\end{bmatrix} = \begin{bmatrix}1 \\ 0 \\ 0 \\ 0\end{bmatrix}\\ |0\rangle\otimes |1\rangle \equiv |01\rangle = \begin{bmatrix}1 \\ 0\end{bmatrix}\otimes \begin{bmatrix}0 \\ 1\end{bmatrix} = \begin{bmatrix}0 \\ 1 \\ 0 \\ 0\end{bmatrix}\\ |1\rangle\otimes |0\rangle \equiv |10\rangle = \begin{bmatrix}0 \\ 1\end{bmatrix}\otimes \begin{bmatrix}1 \\ 0\end{bmatrix} = \begin{bmatrix}0 \\ 0 \\ 1 \\ 0\end{bmatrix}\\ |1\rangle\otimes |1\rangle \equiv |11\rangle = \begin{bmatrix}0 \\ 1\end{bmatrix}\otimes \begin{bmatrix}0 \\ 1\end{bmatrix} = \begin{bmatrix}0 \\ 0 \\ 0 \\ 1\end{bmatrix}\\

    Propiedades del producto tensor

    • Asociatividad y traspuesta:
      • |u\rangle\otimes (|v\rangle+|w\rangle) = |u\rangle\otimes |v\rangle+|u\rangle\otimes |w\rangle
      • (|v\rangle+|w\rangle)\otimes |u\rangle = |v\rangle\otimes |u\rangle+|w\rangle\otimes |u\rangle
      • (|u\rangle\otimes |v\rangle)\otimes |w\rangle = |u\rangle\otimes (|v\rangle \otimes |w\rangle)
      • (|u\rangle\otimes |v\rangle)^\dagger = |u\rangle^\dagger \otimes |v\rangle^\dagger
      • (\alpha|u\rangle)\otimes |v\rangle = |u\rangle\otimes (\alpha|v\rangle) = \alpha(|u\rangle\otimes |v\rangle), con \alpha\in \mathbb{C}
    • No-conmutatividad (en general):
      |u\rangle \otimes |v\rangle \neq |v\rangle\otimes |u\rangle
    • Propiedad del producto mixto:
      (|u\rangle\otimes |v\rangle)(\langle w|\otimes \langle x|) = |u\rangle \langle w|\otimes |v\rangle\langle x|

    Producto tensor de espacios vectoriales

    Dado un espacio vectorial \mathbb{V} de dimensión n y otro \mathbb{V}^\prime de dimensión n^\prime, el espacio vectorial \mathbb{V}\otimes \mathbb{V}^\prime tiene dimensión n\cdot n^\prime y se define como:

    \mathbb{V}\otimes \mathbb{V}^\prime = \{v\otimes v^\prime | v\in \mathbb{V}, v^\prime\in \mathbb{V}^\prime\}

    Base del espacio

    Un conjunto de n vectores es una base del espacio de dimensión n si se verifica:

    • Cualquier vector |v\rangle se puede escribir como una combinación lineal de los elementos de la base.
    • Los vectores de la base son linealmente independientes

    Si, además, los vectores de la base son ortogonales (ortonormales), se dice que la base es ortogonal (ortonormal).

    Ejemplo

    Sean los siguientes vectores de n elementos:

    |0_n\rangle = \begin{bmatrix} 1 \\ 0 \\ 0 \\ \vdots \\0 \end{bmatrix},\quad |1_n\rangle = \begin{bmatrix} 0 \\ 1 \\ 0 \\ \vdots \\0 \end{bmatrix},\quad |2_n\rangle = \begin{bmatrix} 0 \\ 0 \\ 1 \\ \vdots \\0 \end{bmatrix},\ldots, |(n-1)_n\rangle = \begin{bmatrix} 0 \\ 0 \\ 0 \\ \vdots \\1 \end{bmatrix}

    es decir, el vector |i_n\rangle tiene sus n coeficientes a 0 excepto el i-ésimo que vale 1.

    El conjunto \{|0_n\rangle,|1_n\rangle,|2_n\rangle,\ldots,|(n-1)_n\rangle\} es una base ortonormal (llamada base canónica).

    |v\rangle = \begin{bmatrix} v_0 \\ v_1\\ \vdots \\v_{n-1} \end{bmatrix} = v_0|0_n\rangle+v_1|1_n\rangle+v_2|2_n\rangle+\cdots+v_{n-1}|(n-1)_n\rangle

    Se verifica que los vectores de la base son ortonormales, ya que:

    \langle i|j\rangle = \delta_{ij} = \begin{cases} 1 & \text{si } i = j\\ 0 & \text{si } i \neq j \end{cases}

     

    Ejemplo: cambio de base

    Sea un espacio de dimensión 2. Un vector |v\rangle escrito en la base canónica \{|0\rangle,|1\rangle\} queda:

    |v\rangle = \begin{bmatrix} v_0 \\ v_1 \end{bmatrix} = v_0 \begin{bmatrix} 1 \\ 0 \end{bmatrix} + v_1 \begin{bmatrix} 0 \\ 1 \end{bmatrix} = v_0|0\rangle + v_1|1\rangle

    Otra base es la formada por los siguientes vectores:

    |+\rangle = \begin{bmatrix} 1 \\ 1 \end{bmatrix},\quad |-\rangle = \begin{bmatrix} 1 \\ -1 \end{bmatrix}

    En esta otra base, el vector tendrá otros componentes:

    |v\rangle = v_0^\prime|+\rangle + v_1^\prime|-\rangle

    Tenemos, entonces:

    |v\rangle = v_0^\prime|+\rangle + v_1^\prime|-\rangle = v_0^\prime \begin{bmatrix} 1 \\ 1 \end{bmatrix} + v_1^\prime \begin{bmatrix} 1 \\ -1 \end{bmatrix} = \begin{bmatrix} v_0^\prime + v_1^\prime \\ v_0^\prime - v_1^\prime \end{bmatrix} = (v_0^\prime + v_1^\prime)|0\rangle + (v_0^\prime - v_1^\prime)|1\rangle

    Es decir:

    \begin{aligned} v_0 = v_0^\prime + v_1^\prime\\ v_1 = v_0^\prime - v_1^\prime \end{aligned}

    Si definimos la matriz H como:

    H = \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}

    es fácil comprobar que:

    \begin{bmatrix} v_0 \\v_1 \end{bmatrix} = H \begin{bmatrix} v_0^\prime \\v_1^\prime \end{bmatrix} = \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} \begin{bmatrix} v_0^\prime \\v_1^\prime \end{bmatrix} = \begin{bmatrix} v_0^\prime + v_1^\prime \\v_0^\prime - v_1^\prime \end{bmatrix}

    H es una matriz de cambio de base: permite obtener los coeficientes en una base a partir de los coeficientes en la otra.

    Los vectores \{|+\rangle,|-\rangle\} son ortogonales, pero no son ortonormales:

    \begin{aligned} \langle +|-\rangle = \langle -|+\rangle = 0\\ \langle +|+\rangle = \langle -|-\rangle = 2 \end{aligned}

    Para que sean ortonormales, debemos definirlos como:

    |+\rangle = \tfrac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ 1 \end{bmatrix},\quad |-\rangle = \tfrac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ -1 \end{bmatrix}

    y escribir la matriz H como:

    H = \tfrac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} = \begin{bmatrix} \tfrac{1}{\sqrt{2}} & \tfrac{1}{\sqrt{2}} \\ \tfrac{1}{\sqrt{2}} & -\tfrac{1}{\sqrt{2}} \end{bmatrix}

    Esta matriz se denomina matriz de Hadamard, sus entradas son +1 o -1 y cuyas filas son mutuamente ortogonales.

    Operadores lineales y matrices

    Sea \mathbb{V} y \mathbb{U} espacios de dimensiones n y m, respectivamente.

    Un operador lineal O: \mathbb{V}\longrightarrow\mathbb{U} es una función que verifica:

    O(\alpha|v\rangle + \beta|v^\prime\rangle) = \alpha O(|v\rangle) + \beta O(|v^\prime\rangle)

    para todo |v\rangle,|v^\prime\rangle\in \mathbb{V} y \alpha, \beta \in \mathbb{C}

    El operador O se representa mediante una matriz de dimensión m\times n y la operación O(|v\rangle) es un producto matriz-vector.

    Por ejemplo, la matriz de Hadamard es un operador H: \mathbb{V}\longrightarrow\mathbb{V} con \mathbb{V} de dimensión 2.

  • ¿Como escribir correctamente?

    ¿Como escribir correctamente?

    Para quien es nuevo en este blog, me presento. Soy Jhonathan Borda, ingeniero de sistemas. Se preguntaran que hace un ingeniero de sistemas escribiendo sobre redacción y les respondo que la programación es otro tipo de escritura, pero no quiero hacer un símil sobre programación y redacción. Aquí vamos a hablar de escritura, pura y dura. De como escribir.

    El proceso de escribir

    Me gusta mucho leer. Mis géneros predilectos son misterio y terror. Entre mis escritores preferidos se encuentra H.P. Lovecraft, Clive Barker y claro Stephen King. Podría hablar sobre sus fantásticas historias, su prosa o estilos literarios pero lo que aquí nos compete es la redacción.

    El maestro King, en su libro Mientras escribo, nos cuenta un poco de su vida por medio de una corta autobiografía. Además comparte su proceso de escritura, el que obviamente ha sido pulido a través de una exitosa y larga carrera como autor. Justamente el objetivo de este post es hablar sobre el proceso de escritura siguiendo la metodología y consejos que se detallan en este libro.

    La caja de herramientas

    Lo primero, es lo primero y nuestra primera herramienta es el vocabulario. Tal cual como te expresas en la vida real debes de llevarlo a tu manera de redactar. Ser fiel a tu propio estilo e identidad. Obviamente teniendo en cuenta las diferencias de entorno. No es lo mismo hablar con un amigo que con tu jefe. De esta manera logramos ser auténticos y expresarnos de manera correcta y veraz. Algo que recalca mucho a través de toda la lectura del libro es hablar con verdad. No puedes engañarte a ti mismo rebuscando palabras o decorando con expresiones que tal vez nunca haz escuchado. Esto provoca que lo que cuentas suene forzado.

    El segundo punto a revisar es la gramática. Obviamente es la cara de presentación y la forma de dar a entender correctamente nuestro mensaje. En el libro se dan recomendaciones a otros textos para aprender un poco acerca de esto aunque son para lengua inglesa, así que me di a la tarea de buscar un buen libro sobre redacción y gramática para el español. En este caso seleccione Redacción sin dolor, de Sandro Cohen, en su sexta edición. Tiene muy buenas criticas en la play store y le di un vistazo. Resulto ser un libro de gran utilidad y muy ameno, exceptuando la tercera parte. Se nota el cambio de autor y el tema tampoco es muy ameno de navegar, pero dejando de lado ese pequeño, digamos, mal entendido (es mi opinión personal y tal vez mas adelante lo este releyendo por alguna consulta), es un gran libro; por lo tanto lo utilizaremos como referencia para consultar y conocer las reglas ortográficas y de gramática.

    Puntuación

    El punto, para estar juntos aunque no revueltos: ¡rehúya, a toda costa, el encabalgamiento!

    Debemos dejar como referencia que una oración esta compuesta por una o mas palabras que tienen sentido completo. A partir de la anterior definición podemos empezar a trabajar.

    El punto es el mas sencillo de los signos de puntuación. Su uso se limita a separar el escrito en secciones digeribles. Por ejemplo, el punto seguido separa oraciones dentro de un mismo párrafo. El punto aparte nos indica un cambio mucho mas grande, inicia un nuevo párrafo y el punto final nos indica precisamente la culminación del escrito. No voy a hondar mas en definiciones o ejemplos ya que considero que se entiende la función del punto. Al igual, como todo en internet, queda abierto a debate si falta o sobra algo de esa pequeña síntesis.

    Ahora pasamos a la coma, esta (desde mi humilde opinión) es mas interesante. Tuve bastantes problemas al momento de identificar donde dejar un punto o una coma. Era muy fanático de colocar siempre puntos, lo que provocaba que perdiera las relaciones gramaticales entre las oraciones. La única relación que respetaba era la de serialización. La coma de serialización, es muy fácil de identificar, se usa cuando tenemos una lista de palabras, frases u oraciones.

    • Ejemplo(Lista de lenguajes de programación): C#, Java, Javascript, PHP, Python.
    • Ejemplo con oraciones: Javascript es un lenguaje de programación interpretado, se utiliza principalmente en su forma del lado del cliente, los navegadores modernos interpretan su código.

    La siguiente coma que revisaremos es la de rompimiento de serie. Cuando estamos realizando una lista, como la que vimos anteriormente, podemos cambiar de idea integrando una coma antes de la conjugación.

    • Ejemplo: Aprenderé este año C#, Java, Javascript, PHP y Python, y puede que escriba un libro.
¡Hola a todos los entusiastas de la tecnología! Quería informarles que en mi blog utilizamos cookies para mejorar la experiencia de usuario. Estas pequeñas herramientas nos ayudan a personalizar el contenido y ofrecer funciones específicas. Al continuar explorando el sitio, aceptas nuestro uso de cookies. Puedes obtener más información sobre cómo las utilizamos en nuestra política de privacidad. ¡Gracias por ser parte de esta comunidad tecnológica! 🍪    Más información
Privacidad