martes, 28 de diciembre de 2021
Algunes espirals: e. de Fermat, e. de Fibonacci o de Bernoulli (e. logarítmica), e. de Arquímedes
lunes, 27 de diciembre de 2021
La buena ordenación
Se dice que un conjunto no vacío está bien ordenado si todos sus subconjuntos no vacíos tienen mínimo, esto es: si la mayor de las cotas inferiores ( o ínfimo ) de cada uno de ellos está incluida en el respectivo subconjunto. Esta propiedad de la buena ordenación es muy importante en los números naturales, pues en ella se sustenta el principio de inducción.
En efecto, el conjunto de los números naturales $\mathbb{N}$ está bien ordenado. No lo está, sin embargo, el conjunto de los números enteros $\mathbb{Z}$ y, por consiguiente, tampoco lo está el de los racionales $\mathbb{Q}$ ni el de los reales $\mathbb{R}$.
Para demostrar que el conjunto de los números naturales $\mathbb{N}$ está bien ordenado expondré una sencilla y bonita demostración que puede encontrarse en muchos manuales y que contribuye a mostrar la belleza de las matemáticas. Deberemos probar pues que todos los subconjuntos no vacíos del conjunto de los números naturales tienen mínimo.
Sea $(\mathbb{N},\le)$ el conjunto de los números naturales con la relación de orden $\le$.
Sea $A$ un subconjunto no vacío cualquiera de $\mathbb{N}$, entonces cabe hacer distinción entre los siguientes casos:
(a) Si $1 \in A$, hemos terminado ya que cualquier número natural es mayor o igual que $1$, que es el menor número natural y, por tanto, el mínimo de $A$.
(b) Si $1 \notin A$, demostraremos que tiene elemento mínimo, procediendo por el método de contradicción. Sea $B$ el conjunto formado por todos los números naturales estrictamente menores que cualquier elemento de $A$ y partamos de la siguiente hipótesis: la menor de las cotas inferiores de $A$ (que denotamos por $m$) está en $B$. De dicha hipótesis se deduce que $m+1 \in A$. Por otra parte, al ser $m$ estrictamente menor que cualquier elemento $a \in A$, podemos escribir $m+1 \le a$, esto es: $m+1 \in B$, luego $m+1 \notin A$, llegando así a una contradicción y debiendo por tanto negar la hipótesis de partida, luego $m \in A$ y esto ocurre para cualquier subconjunto no vacío de $\mathbb{N}$, luego dicho conjunto posee buena ordenación.   $\square$
Números complejos con GNU MAXIMA
Programación con GNU MAXIMA
Cálculo de integrales indefinidas y definidas con GNU MAXIMA
Cálculo de límites con GNU MAXIMA
Listas y conjuntos con GNU MAXIMA
Archivos y listas con GNU MAXIMA
Multiplicación de matrices con MAXIMA
domingo, 26 de diciembre de 2021
El problema de Apolonio sobre las circunferencias tangentes
En esta figura se muestran las ocho soluciones al problema. Fuente: http://upload.wikimedia.org/wikipedia/commons/a/a7/Apolloniuscircle.gif. La noción de potencia d'un punto respecto de una circunferencia es una pieza clave en la resolución de problemas de tangencia. En matemática aplicada, son de enorme interés en ingeniería mecánica. $\square$
Proposiciones recíproca, contrarrecíproca, e inversa
El llenguatge col·loquial, a vegades, ens pot jugar alguna mala passada. L'altre dia vaig escoltar una conversa entre dues persones. Una li deia a l'altra “ (...) així, tots els elefants són mamífers, però la (sic) inversa no es pot pas validar(...)”. De seguida vaig notar alguna cosa que no anava bé en allò que s'estava dient. En arribar a casa, rumiant més acuradament, me'n vaig adonar del que no estava bé. I és que, sovint, es confon la proposició inversa amb la proposició recíproca. De fet, la persona que havia parlat hauria hagut de dir: (...) així, tots els elefants són mamífers, però la recíproca (no pas inversa) no es pot pas validar (...)”, perquè, probablement, estava confonent proposició recíproca amb proposició inversa. Naturalment, la proposició inversa – la inversa de veritat – diria: “tot animal que no sigui un elefant no és un mamífer” que, clarament, no és pas certa; hi una ha infinitat de contra exemples (gossos, gats, dofins, etcètera). Val a dir, però que la proposició contra recíproca sí que és vàlida, però: “tot animal que no sigui mamífer no és un elefant”.
Vegem un altre exemple: Considerem la proposició directa: plou, per tant hi ha núvols (proposició certa, és clar). Associada amb aquesta hi ha tres proposicions més, de les quals, dues no es poden validar:
I el terme viceversa ? Per altra banda, aprofito per comentar que, a vegades, i de forma gens apropiada, es fa servir viceversa com a sinònim de inversa o de recíproca en les proposicions condicionals, la qual cosa crea, molt sovint, una nova font de confusió i error, ja que viceversa es refereix a la inversió de l'ordre dels termes (diccionari IEC). Sí que és apropiat el seu ús, per tant, per fer referència als sentits oposats d'una acció, per exemple, "Josep passa la pilota a Marta, i viceversa" (i Marta la passa a Josep). $\square$ |
miércoles, 22 de diciembre de 2021
Algunas de mis herramientas de cálculo favoritas
Lenguajes de programación y asistentes de cálculo:
    Hoja de cálculo ( herramienta generalista, muy versátil; está integrada en muchas otras herramientas )
    R ( estadística, probabilidad, y cálculo numérico )
    Octave ( cálculo y análisis numérico )
    Maxima ( Un clásico CAS - cálculo simbólico - )
    Python ( lenguaje de propósito general, orientación a objetos; muy adecuado para los trabajos de modelización )
    C/C++ ( lenguaje de propósito general, orientación a objetos; muy adecuado para los proyectos de ingeniería y electrónica )
    Processing ( lenguaje muy apropiado para la elaboración de gráficos, orientación a objetos. También sirve como interfaz para la adquisición de datos mediante la intervención de una placa microcontroladora )
    Julia ( cálculo numérico, cálculo paralelo, un proyecto interesantísimo )
    JavaScript ( lenguaje orientado a objetos muy adecuado para preparar utilidades interactivas en una página web )
Herramientas de mucha utilidad didáctica para las matemáticas en e. secundaria:
    GeoGebra ( multiherramienta: hoja de cálculo, cálculo simbólico, gráficos en 2 y 3 dimensiones, ...)
    Logo ( un clásico didáctico del MIT )
    Scratch ( programación visual, muy apropiada para aprender a programar, hereda la filosofía de los científicos que concibieron el lenguaje Logo, pero con eficaces interfaces gráficos que facilitan el aprendizaje )
Calculadoras científicas, gráficas, programables ...:
    Casio fx 82 MS ( humilde calculadora científica, pero muy buena )
    Casio fx 850P ( un clásico entrañable de los años 80 del siglo pasado, programable en Casio Basic, con una gran librería de utilidades ). Se me estropeó hace unos años (era muy viejecita)
    TI 92 II ( un calculadora gráfica de los años 90 del siglo pasado, programable en TI Basic; entre otras herramientas, incorpora un módulo CAS con Derive, todo un clásico )
    TI Voyage 200 ( es la evolución de la TI92, con algunas mejoras, todo un clásico de la primera década del actual siglo )
    NumWorks ( calculadora gráfica y programable del siglo XXI, muy rápida y con mucha capacidad de memorai, con un enfoque novedoso por tratarse de un proyecto colaborativo: software y hardware abiertos. Es programable en Python. Presenta una buena conectividad a través de la página web del fabricante. El software se puede actualizar periódicamente y se desarrolla de forma continua, cada vez es mejor. )
Herramientas de edición:
    Bloc de notas ( por su sencillez y pocos recursos necesarios, cualquiera sirve. Una herramienta humilde, pero necesaria. Aparece integrada en todos los sitemas operativos )
    LaTeX ( sistema de composición de documentos, muy apropiado para la tipografía científica )
    LibreOffice ( conjunto de herramientas ofimáticas )
    LyX ( procesador de textos híbrido WYSIWYG - LaTex )
    HTML ( un lenguaje de marcas ( 'tags' ) para editar trabajos en la www: un clásico fundamental )
Electrónica:
    Fritzing ( programa para el diseño de circuitos electrónicos: por si os gusta experimentar en el taller, trastear y soldar )
nbsp   Scratch ( programación visual, puede utilizarse en proyectos de robótica )
    MBlock ( programación visual, similar a Scratch y especialmente útil en proyectos de robótica )
Astronomía: ( programas de ayuda para la localización de astros y para obtener sus coordenadas )
    Stellarium
    Cartes du Ciel
«A un cerezo subí, que cerezas tenía ...»
SOLUCIÓN. De la frase cerezas tenía (se habla de cerezas), se deduce que el número de cerezas que tenía el cerezo era mayor que $1$. Por otra parte, de la frase cerezas no cogí (no cogí más de una cereza), se deduce que cogí $1$ o bien $0$ cerezas; pero, teniendo en cuenta, además, la frase cerezas en el cerezo no dejé (no quedó en el cerezo más de una cereza), tuve que coger exactamente $1$ cereza y dejar de coger exactamente $1$ cereza. Necesariamente, debí coger alguna cereza, pues, de lo contrario (de no haber cogido ninguna), habría quedado alguna cereza en el cerezo, en contra de lo que se dice en la tercera frase. Por consiguiente, en el cerezo había exactamente $2$ cerezas. $\square$
lunes, 20 de diciembre de 2021
Un ejemplo sencillo de programación modular con OCTAVE
viernes, 17 de diciembre de 2021
Un problema de raonament ...
Evidentment no serviria de res fer la pregunta que li faria a una persona sincera perquè senzillament la probabilitat que aquesta persona fos S és del 50%. No hi ha manera de saber amb certesa si Jan es trobarà amb S o bé amb M. Més aviat, pensa Jan, hauria de deduir el camí correcte a partir de la resposta que li fos donada a la pregunta que formulés, fos qui fos qui es trobés, el germà S o bé el germà M. Jan s'aturà davant la porta de la masia. De seguida va sortir un dels germans que, com que Jan no sap quins dels dos és, aquí l'anomerarem G.
        Jan: Bon dia ! - saludà en Jan alegrement.
        G: I bona hora – el respongué l'home.
        Jan: Voldria fer-vos una pregunta molt important per a mi en aquest moment
        G: Feu-me-la, bon home.
        Jan: Podríeu dir-me quin és el camí que diria el vostre germà que he de prendre per anar cap al refugi ? El de la dreta o el de l'esquerra ?.
        G: Ell diria, sens dubte, el de la dreta.
(...)
Jan en va tenir prou per decidir quin era el camí del refugi amb total certesa: prengué el de l'esquerra. Al vespre, a la llum del foc, explicà l'anècdota a d'altres estadants i el per què d'haver de decidir prendre el camí contrari a l'indicat per G (...)
        Jan: Mireu. Si la persona a qui vaig preguntar hagués sigut S (el sincer), aquesta hauria contestat amb sinceritat allò que hauria contestat M, el mentider: el camí que no era; per tant, és lògic que prengués el camí contrari del que em deia. Per altra banda, si la persona a qui vaig preguntar hagués sigut M, hauria contestat el contrari del que el seu germà S hauria contestat (el camí correcte), per tant, també hagués hagut de prendre el camí contrari que m'indicava. En qualsevol cas ... em cal1ia prendre el camí contrari a l'indicat !.
lunes, 13 de diciembre de 2021
Introducción al cálculo simbólico con GNU MAXIMA
Una bona manera d'engrescar-nos en la manipulació simbòlica fent ús d'un eina CAS es començar a fer unes proves ben senzilles. Vegeu a continuació un exemple. |
Els primers passos programan amb GNU MAXIMA
Primera cosa ...
Editem la funció que anomenem "programa_extremadament_senzill"
(%i5) programa_extremadament_senzill():=
(print("hola")
)$
Depurem els possibles errors i fem actuar la funció escrivint l'entrada
(%i6) programa_extremadament_senzill();
Obtenint ...
hola
(%o6) hola
Observem que les entrades de l'usuari es designen amb el símbol del sistema %i i les sortides amb el símbol %o, convenientment numerades.
Exemple 1 (totes les variables són globals)
(%i3) programa_senzill_1(a,b):=
(
s:a+b,
print("suma de a i b =",s)
)$
(%i4) programa_senzill_1(2,3);
suma de a i b = 5
(%o4) 5
Exemple 2 (els paràmetres d'entrada a i b són variables globals, mentre que el resultat s és una variable local)
(%i1) programa_senzill_2():=
block([s],
a:read("entreu el primer sumand"),
b:read("entreu el segon sumand"),
s:a+b,
print("suma de a i b =",s)
)$
(%i2) programa_senzill_2();
entreu el primer sumand 1;
entreu el segon sumand 2;
suma de a i b = 3
(%o2) 3
Observem que les variables locals d'una funció (aquí, "programa_senzill_2") - en aquest, l'única variable local és s - apareixen, després de block( entre claudàtors - block([s],... -, separades per comes si n'hi ha més d'una. El parèntesi "(" amb què hem començat el "block" - "block(" - cal tancar-lo necessàriament al final. El símbol de l'acabament "$" indica a l'interpret que no volem eco del sistema - llevat de la comunicació dels possibles errors - un cop hàgim validat la funció
Exemple 3 (totes les variables són locals)
(%i1) programa_senzill_3():=
block([s,
a:read("entreu el primer sumand"),
b:read("entreu el segon sumand")],
s:a+b,
print("suma de a i b =",s)
)$
(%i2) programa_senzill_3();
entreu el primer sumand 1;
entreu el segon sumand 2;
suma de a i b = 3
(%o2) 3
Treballant amb fitxers de funcions que prèviament hem programat
Podem fer servir un bloc de notes per editar codi font de les funcions
que volem fer servir en una sessió de càlcul amb MAXIMA, a més, naturalment,
de les moltes que ja té incorporades. A mode d'exemple,
he escrit el codi de dues funcions molt simples,
funcio_que_multiplica() i funcio_potencial(), en un mateix fitxer de text amb extensió .mac: prod.mac
Juntament amb el codi font de les funcions, podem posar comentaris abastant una o vàries línies, a l'estil de C o Java; per exemple, /* això només és un comentari */, és a dir, obrint amb "/*" i tancant amb "*/"
(contingut del fitxer prod.mac)
/* multiplicació de dos nombres */
funcio_que_multiplica():=
block([p,
a:read("entreu el primer factor"),
b:read("entreu el segon factor")],
p:a*b,
print("a x b =",p)
)
/* potència de dos nombres */
funcio_potencial():=
block([w,
a:read("entreu la base de la potència"),
b:read("entreu l'exponent")],
w:a^b,
print("a^b =",w)
)
Per fer ús d'aquest fitxer amb les funcions que hem programat, carreguem el fitxer prod.mac des d'una sessió de MAXIMA
(%i8) load("e:/taller_maxima/ex_160807/prod.mac");
(%o8) e:/taller_maxima/ex_160807/prod.mac
I, si s'escau, després de depurar el codi, emprem les funcions que conté:
(%i9) funcio_que_multiplica();
entreu el primer factor 4;
entreu el segon factor 2;
a x b = 8
(%o9) 8
(%i10) funcio_potencial();
entreu la base de la potència 2;
entreu l'exponent 3;
a^b = 8
(%o10) 8
Ejemplos de gráficas con GNU MAXIMA
Consideremos el problema de resolver la ecuación trascendente $\sin{x}+x^2=0$, esto es, el de resolver la ecuación $\sin{x}=-x^2$,
que podemos resolver, de forma aproximada, representado las gráficas de las funciones de ambos miembros, encontrando los puntos de intersección:
(%i7) plot2d ([sin(x),-x^2], [x, -2*%pi, 2*%pi])
Ejemplo de gràfics de superficies con MAXIMA
Sea una superficie en $\mathbb{R}^3$ como, por ejemplo, la bada de Möbius; podemos visualizarla tecleando:
(%i1) plot3d([cos(x)*(3+y*cos(x/2)),sin(x)*(3+y*cos(x/2)),y*sin(x/2)],[x,-%pi,%pi],[y,-1,1],[grid,50,15]);
Una película sobre Hypatia d'Alexandria
    Després de més mil cinc-cents anys, en un temps - el nostre - on el fanatisme, l'ànsia de poder i les guerres dissortadament continuen existint, la pel·lícula és – mal ens pesi – d'una actualitat renovada. Però, sens dubte, és també un homenatge al rigor, a l'ètica, al valor, i a la inquietud matemàtica i científica d'una dona sàvia, honesta, i valenta: Hypatia (Alexandria, ~370-415 d.C.)
    En una bon nombre d'escenes apareixen disquisicions sobre el sistema de Ptolomeu (el sistema geocèntric): reflexions sobre els seus avantatges i les seves llacunes, de la qual cosa, per descomptat, se'n tenia consciència, malgrat pesessin més les bondats del model que no pas les seves incoherències de base. El director, els guionistes, i els assessors científics i històrics aconsegueixen també escenificar prou bé el rigor del raonament lògic emprat pels grecs a la llum dels Elements d'Euclides (segle III a. C.) i les reflexions filosòfiques sobre el moviment i les dificultats per superar la trava intel·lectual de la idea de “perfecció” de les formes – atribuïda a la circumferència – que, per als clàssics grecs, havia d'anar forçosament lligada als moviments i formes dels astres. En astronomia, els treballs sobre les trajectòries còniques – les corbes/seccions còniques [d'un con] estudiades ja pels matemàtics grecs que van precedir Hypatia (Apoloni de Perge, , segles III-II a. C.) [i tal com es mostra amb molta elegància en una escena de la pel·lícula] - no estarien a punt de substituir el model geocèntrica de Ptolomeu de manera clara fins a finals del segle XVI gràcies als treballs de l'astrònom Johannes Kepler (1571-1630), ajustant-se – com és ben sabut - molt millor a la realitat i, el que és més importat, fent possible la substitució del model subtil i artificiós de Ptolomeu pel mòdel heliocèntric, ja postulat de forma poc precisa i sense desenvolupar per Aristarc de Samos (segle III a. C.).
    Cap de les obres d'Hypatia es va salvar, però gràcies als comentaris d'alguns dels seus deixebles (Sinesi de Cirene i Hesiqui d'Alexandria), de les obres dels quals sí que se'n té proves, hom sap que va escriure uns comentaris a les Seccions Còniques d'Apoloni de Perge -sobre la paràbola, l'el·lipse, i la hipèrbola -; va fer també una revisió de les taules astronòmiques de Ptolomeu; una compilació pròpia d'efemèrides astronòmiques; i es va cuidar de l'edició del comentari del seu pare Teó d'Alexandria (matemàtic i astrònom) als Elements d'Euclides; també va escriure obres sobre el que avui entenem per teoria de nombres: un comentari a l'Aritmètica de Diofant d'Alexandria (segle III d.C.); elaborà planisferis i va treballar en el camp de la mecànica i la hidrostàtica.$\square$