⚡ De circuitos electrónicos a circuitos cuántico

⚡ De circuitos electrónicos a circuitos cuánticos: una introducción para estudiantes técnicos Si estudiaste electrónica o estás en un bachillerato tecnológico, seguro conoces los circuitos digitales , los bits y las compuertas lógicas como AND, OR y NOT. ¿Sabías que en la computación cuántica también usamos circuitos y compuertas? Pero en lugar de trabajar con bits, usamos qubits , y las reglas son muy diferentes. En esta entrada te explico de forma sencilla cómo se relacionan los circuitos electrónicos con los cuánticos , y por qué este tema es tan apasionante para quienes vienen de la electrónica y la computación. 🧠 ¿Qué es un circuito cuántico? Un circuito cuántico es una secuencia de operaciones (llamadas puertas cuánticas ) que se aplican sobre qubits para procesar información. Visualmente, se parece mucho a un circuito electrónico digital, pero en lugar de procesar solo 1s y 0s, los qubits pueden estar en superposición (es decir, en 0 y 1 al mismo tiempo) y entre...

cómo resolver ecuaciones lineales con Python

Quizás se han preguntado cómo puedo resolver una ecuación utilizando Python. Primero es convertir nuestro sistema de ecuaciones a matrices y vectores es decir utilizar Álgebra lineal.

Entonces primer paso nuestra ecuación de ejemplo es:

3x + 2y -5z =8
2x-5y+3z =5
8y+9z =6

Esto convertido a Algebra Lineal se ve así:

[3,2,-5
 2,-5,3
0,8,9]

Vector de resultados de la ecuación
[8,5,6]

En el álgebra lineal tenemos varios métodos que podemos utilizar para resolver este tipo de ecuaciones ,estos métodos son :

  • Regla de Cramer
  • Gauss Jordan
  • Eliminación Gaussiana

En este post vamos hablar de la regla de Cramer la cual consiste en ir remplazando una columna por el vector de resultados y obtener la determinante de la matriz inicial y la matriz con el ventor . 

Ahora vamos a transformar estas reglas a un programa

Primero vamos a hacerlo de manera manual en el programa simulando los pasos
import numpy as np

#Cramer rules
matrix_l = np.array([[3,2,-5],
                   [2,-5,3],
                   [0,8,9]])

vector_b = np.array([8,5,6])
d0 = np.linalg.det(matrix_l)
print(d0)

matrix_2 =np.array([[8,2,-5],
                   [5,-5,3],
                   [6,8,9]])
d1 = np.linalg.det(matrix_2)
print(d1)

matrix_3 =np.array([[3,8,-5],
                   [2,5,3],
                   [0,6,9]])
d2 = np.linalg.det(matrix_3)
print(d2)

matrix_4 =np.array([[3,2,8],
                   [2,-5,5],
                   [0,8,6]])
d3 = np.linalg.det(matrix_4)
print(d3)

x1=d1/d0
x2=d2/d0
x3=d3/d0
print("result x1",x1)
print("result x2",x2)
print("result x3",x3)

Ahora validemos el resultado


Cómo podemos ver la solución del programa ,resuelve nuestro sistema de ecuaciones.

Ahora vamos hacer nuestro programa un poco más automático

def crammer(mat,vect):
    d = np.linalg.det(mat)
    
    mat1= np.array([vect,mat[:,1],mat[:,2]])
    mat2= np.array([mat[:,0],vect,mat[:,2]])
    mat3= np.array([mat[:,0],mat[:,1],vect])
    
    d1 = np.linalg.det(mat1)
    d2 = np.linalg.det(mat2)
    d3 = np.linalg.det(mat3)
    
    x1 =d1/d
    x2 =d2/d
    x3= d3/d
    
    print(x1,x2,x3)

(matrix_l,vector_b)

Les comparto la liga al video en nuestro canal de YouTube para ver la ejecución del programa


Espero les sea de utilidad y nos compartan. 
#programacionparatodos
#programarcobpython

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

📊 Automatiza tu trabajo: Convierte tablas de Word a Excel con una macro

API de banxico para obtener tipo de cambio utilizando Javascript