<jupyter_start><jupyter_text>Modelización de Procesos Cognitivos: Bases de Sympy y Conjuntos  Conjuntos Hagamos operaciones de conjuntos<jupyter_code># Definamos primero los dos conjuntos a trabajar
c1 = {3,6,2,7,8}
c2 = {1,2,6,3}
#Trabajemos primero con la unión de conjuntos que se denota por el operador |
c1|c2
# De manera opcional se puede emplear el comando print
print(c1|c2)
# Para el caso de la intersección de conjuntos se emplea el operador &
c1&c2
# la diferencia de conjuntos se denota por -, que son los elemetos que están en A pero no están en B
c1-c2<jupyter_output><empty_output><jupyter_text>Se puede también trabajar con caracteres<jupyter_code># por ejemplo los conjuntos de nombres de personas
a1 = {'juan','jenny','sandra','noe'}
a2 = {'jose', 'rita', 'juan', 'ramon', 'sandra'}
print(a1|a2)
print(a1&a2)
print(a1-a2)<jupyter_output>{'juan', 'jenny', 'jose', 'sandra', 'ramon', 'noe', 'rita'}
{'juan', 'sandra'}
{'noe', 'jenny'}<jupyter_text>Calculo con Sympy<jupyter_code>from __future__ import division
from sympy import * # Para importar todas las funciones de Sympy
x, y, z, t = symbols('x y z t')
k, m, n = symbols('k m n', integer = True)
f, g, h = symbols('f g h', cls = Function)<jupyter_output><empty_output><jupyter_text>Podemos ocupar Sympy para resolver ecuaciones como $x^2 + 9 x - 70 = 0$<jupyter_code>solve(x**2 + 9*x - 70, x) # se resuelve la ecuación para x<jupyter_output><empty_output><jupyter_text>Se pueden factorizar ecuaciones como $x^2 - x - 6$<jupyter_code>factor(x**2 - x - 6)<jupyter_output><empty_output><jupyter_text>Se pueden expandir los términos<jupyter_code>expr1 = (3*x**2 + 5*x)*(x - 2)
expand(expr1)<jupyter_output><empty_output><jupyter_text>Se pueden resolver sistemas de ecuaciones: por ejemplo, las ecuaciones $x+3y=4$ y $2x+5y=5$<jupyter_code>solve([x + 3*y - 4, 2*x + 5*y -5],[x,y])<jupyter_output><empty_output><jupyter_text>Se puede trabajar con polinomios<jupyter_code>P = (x - 3)*(x - 4)*(x - 6)
P
P.expand()
P.factor()<jupyter_output><empty_output><jupyter_text>Se pueden extraer las raíces (soluciones) del polinomio<jupyter_code>raices = solve(P,x)
raices<jupyter_output><empty_output><jupyter_text>Se pueden definir funciones por ejemplo: $f(x) = x^2$<jupyter_code>def f(x):
    return x**2 # definimos la función x^2
f(2) # se sustituye el valor de interes
f(x)<jupyter_output><empty_output><jupyter_text>Podemos trabajar con límites dentro de Sympy<jupyter_code>limit(x**2, x, 0)
limit(1/x, x, 0)
limit(1/x, x, oo)<jupyter_output><empty_output><jupyter_text>Y se pueden evaluar límites lateral<jupyter_code>print(limit(x/abs(x), x, 0, dir='+'))
print(limit(x/abs(x), x, 0, dir='-'))
p1 = plot(x/abs(x),show=False)
p1.show()<jupyter_output><empty_output><jupyter_text>Se pueden obtener las derivadas de la funciones por medio del comando **diff(f(x), x)**. Así por ejemplo, para la función lineal $f(x) = x$<jupyter_code>def f(x): 
    return x # se define la función f(x) = x
diff(f(x), x) # se calcula la respectiva derivada
diff(x, x) # o simplemente calcular la derivada de la expresión sin necesidad de definir la función
diff(x**k, x)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13999363665287942, 'fraction_numerical': 0.02290804963410754, 'mean_word_length': 6.5035799522673035, 'pattern_counts': {'":': 0, '<': 52, '<?xml version=': 0, '>': 52, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '13', 'dir': 'jupyter-structured-clean-dedup', 'id': '2729', 'license': 'MIT', 'n_tokens_mistral': 1336, 'n_tokens_neox': 1307, 'n_words': 337, 'path': 'Bases de Sympy.ipynb', 'repo_name': 'CogniMath/MPC', 'size': '3143'}