Herramientas en GNU/Linux para estudiantes universitarios

La herramienta de c�lculo cient�fico YACAS

Jos� Angel de Bustos P�rez

Copyright (c) 2.003 Jos� Angel de Bustos P�rez .

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".


Tabla de contenidos
1. Introducci�n a YACAS
1.1. Organizaci�n de este documento
1.2. Historia de YACAS
1.3. �Qu� es YACAS?
1.4. �Qu� podemos hacer con YACAS?
1.5. �Como se distribuye YACAS?
1.6. �De donde podemos descargarnoslo?
1.7. �En qu� plataformas funciona?
1.8. �Donde podemos encontrar ayuda sobre YACAS?
1.8.1. Pidiendo ayuda a YACAS
1.9. Filosof�a en el desarrollo de aplicaciones
1.10. M�s software cient�fico en GNU/Linux
2. Personalizaci�n de YACAS
2.1. El fichero .yacasrc
2.2. Los ficheros .def
2.3. El fichero .yacas_history
2.4. La directiva DefaultDirectory
2.5. La directiva Help
2.6. La directiva HistorySize
2.7. La directiva PrettyPrinter
2.8. Personalizando YACAS
2.9. Estableciendo la precisi�n de los c�lculos
2.10. Ejercicios
3. Primeros pasos
3.1. Arrancando YACAS
3.1.1. Arrancando YACAS en modo gr�fico
3.1.2. Arrancando YACAS en la consola
3.2. Moviendonos por el historial de comandos
3.2.1. Autocompletaci�n (s�lo en consola)
3.2.2. Moviendonos en la l�nea de comandos (s�lo en consola)
3.3. Terminando la sesi�n
4. Tipos de datos en YACAS
4.1. Tratamiento de los datos en YACAS
4.2. Evaluaci�n de expresiones
4.3. Datos escalares
4.4. Constantes
4.5. Cadenas de caracteres (Strings)
4.6. Listas (Lists)
4.7. Vectores
4.8. Matrices
4.9. Pilas
4.10. Funciones
4.11. Polinomios
5. Operaciones sobre los tipos de datos
5.1. La funci�n N
5.2. El operador %
5.3. Operaciones sobre variables
5.4. Operaciones sobre escalares
5.4.1. Operaciones usuales sobre escalares
5.4.2. Divisi�n entera
5.4.3. Operadores de desplazamiento de bits
5.4.4. C�lculo del M�ximo Com�n Divisor
5.4.5. C�lculo del M�nimo Com�n Multiplo
5.4.6. Trabajando en bases distintas de la decimal
5.4.7. Expansiones en base n
5.4.8. Aproximaciones racionales de n�meros reales
5.4.9. Redondeos
5.4.10. Determinaci�n de n�meros primos
5.4.11. Factorizaci�n en n�meros primos
5.5. Operaciones sobre n�meros complejos
5.5.1. Representacion de n�meros complejos
5.5.2. Determinaci�n de las partes real e imaginaria de un complejo
5.5.3. Determinaci�n del m�dulo y el argumento de un n�mero complejo
5.5.4. Conjugado de un n�mero complejo
5.6. Operaciones sobre listas
5.6.1. Creando listas
5.6.2. Evaluaci�n de funciones sobre listas
5.6.3. Operaciones aritm�ticas sobre listas
5.6.4. Calculando la longitud de una lista
5.6.5. Recuperando elementos de una lista
5.6.6. Alterando una lista
5.6.7. Contando ocurrencias
5.6.8. Encontrando un elemento en una lista
5.6.9. Ordenando listas
5.6.10. Particionando una lista
5.6.11. Permutaciones de una lista
5.7. Operaciones sobre pilas
5.8. Operaciones sobre vectores
5.8.1. Producto escalar de dos vectores
5.8.2. Producto vectorial de dos vectores
5.8.3. Creaci�n de vectores nulos
5.8.4. Vectores can�nicos
5.8.5. Normalizaci�n de vectores
5.9. Operaciones sobre Matrices
5.9.1. Operaciones aritmeticas con matrices
5.9.2. Creaci�n de la matriz identidad
5.9.3. Creaci�n de matrices nulas
5.9.4. Creaci�n de matrices diagonales
5.9.5. C�lculo de la matriz traspuesta
5.9.6. C�lculo del determinante de una matriz
5.9.7. C�lculo de la traza de una matriz
5.9.8. C�lculo de la matriz inversa
5.9.9. C�lculo del polinomio caracter�stico
5.9.10. C�lculo de los valores propios
5.9.11. C�lculo de los vectores propios
5.10. Operaciones sobre polinomios
5.10.1. Simplificaci�n de expresiones
5.10.2. Expandir un polinomio
5.10.3. Grado de un polinomio
5.10.4. Divisi�n de polinomios
5.11. Ejercicios
6. C�lculos matem�ticos
6.1. An�lisis matem�tico
6.1.1. Funciones trigonom�tricas
6.1.2. Logaritmos y la funci�n exponencial
6.1.3. Suma de una lista de valores
6.1.4. Producto de una lista de valores
6.1.5. Calculando el m�ximo y el m�nimo de una lista
6.1.6. C�lculo de l�mites
6.1.7. Derivaci�n
6.1.8. Desarrollos de Taylor
6.1.9. Integraci�n
6.1.10. Divergencia de un campo vectorial
6.1.11. Algunas funciones �tiles
6.2. Algebra
6.2.1. Obtenci�n de las variables de una ecuaci�n
6.2.2. Resoluci�n de ecuaciones algebraicas
6.2.3. Resoluci�n de expresiones
6.3. C�lculo num�rico
6.3.1. Resoluci�n de ecuaciones en una variable (Newton)
6.3.2. Resoluci�n sistemas de ecuaciones
6.3.3. C�lculo de polinomios interpoladores
6.4. Exportaci�n de datos
6.4.1. Exportando a LaTeX
6.4.2. Exportando a C
6.5. Ejercicios
7. Programaci�n
7.1. Interactuando con el usuario
7.1.1. Mostrando informaci�n
7.1.2. Solicitando informaci�n al usuario
7.2. Interactuando con ficheros
7.2.1. Guardando datos en ficheros
7.2.2. Leyendo desde ficheros
7.3. Simplificaciones
7.3.1. Sustituci�n de expresiones
7.3.2. Reglas de simplificaci�n
7.4. Sentencias de control de flujo
7.4.1. Estructura condicional If
7.4.2. El bucle For
7.4.3. El bucle ForEach
7.4.4. El bucle While
7.4.5. El bucle Until
7.5. Creaci�n de funciones propias
7.5.1. Comentarios
7.5.2. Bloques de c�digo
7.5.3. Localizando funciones
7.5.4. Ejemplo de creaci�n de funciones
7.6. Ejercicios
A. GNU Free Documentation License
A.1. PREAMBLE
A.2. APPLICABILITY AND DEFINITIONS
A.3. VERBATIM COPYING
A.4. COPYING IN QUANTITY
A.5. MODIFICATIONS
A.6. COMBINING DOCUMENTS
A.7. COLLECTIONS OF DOCUMENTS
A.8. AGGREGATION WITH INDEPENDENT WORKS
A.9. TRANSLATION
A.10. TERMINATION
A.11. FUTURE REVISIONS OF THIS LICENSE
A.12. ADDENDUM: How to use this License for your documents
Lista de tablas
6-1.
Tabla de ejemplos
2-1. A�adiendo nuevos directorios al PATH
2-2. Cargando nuestros propios scripts
2-3. Cambiando la visualizaci�n de la ayuda
2-4. Cambiando el tama�o del historial de comandos
2-5. Cambiando la presentaci�n de resultados
2-6. Ejemplo del fichero .yacasrc
3-1. Termiando la sesi�n
4-1. Uso de Type
4-2. Uso de Hold
4-3. Tipos de datos escalares
4-4. Definiendo una cadena de caracteres
4-5. Definiendo una lista
4-6. Vectores
4-7. Matrices
4-8. Definici�n de funciones
5-1. Uso de Set
5-2. Uso de Clear
5-3. Uso de Mod
5-4. Uso de Div
5-5. Uso del operador <<
5-6. Uso del operador >>
5-7. Uso de Gcd para el c�lculo del mcd de dos n�meros
5-8. Uso de Gcd para el c�lculo del mcd de una lista de n�meros
5-9. Uso de Lcm para el c�lculo del mcm
5-10. Uso de FromBase
5-11. Uso de ToBase
5-12. Uso de PAdicExpand
5-13. Uso de Rationalize
5-14. Uso de Ceil
5-15. Uso de Floor
5-16. Uso de Round
5-17. Uso de IsPrime
5-18. Uso de Factors
5-19. Uso de Factor
5-20. Partes real y compleja de un n�mero complejo
5-21. M�dulo de un n�mero complejo
5-22. Argumento de un n�mero complejo
5-23. Conjugado de un n�mero complejo
5-24. Uso de List
5-25. Uso de Concat
5-26. Uso de Union
5-27. Uso de Intersection
5-28. Uso de Difference
5-29. Uso de FillList
5-30. Uso de Drop
5-31. Uso de Take
5-32. Uso de Table
5-33. Uso del operador ..
5-34. Uso de Length
5-35. Uso de Head
5-36. Uso de Tail
5-37. Uso de Nth
5-38. Uso de Select
5-39. Uso de Delete
5-40. Uso de DestructiveDelete
5-41. Uso de Replace y DestructiveReplace
5-42. Uso de Insert y DestructiveInsert
5-43. Uso de Append y DestructiveAppend
5-44. Uso de RemoveDuplicates
5-45. Uso de Swap
5-46. Uso de Count
5-47. Uso de Find
5-48. Uso de BubbleSort
5-49. Uso de HeapSort
5-50. Uso de Partition
5-51. Permutaciones de un conjunto de n elementos
5-52. Uso de Push
5-53. Uso de Pop
5-54. Uso de PopFront
5-55. Uso de PopBack
5-56. Producto escalar de dos vectores
5-57. Producto exterior de dos vectores
5-58. Uso de ZeroVector
5-59. Uso de BaseVector
5-60. Normalizaci�n de vectores
5-61. Creaci�n de la matriz identidad
5-62. Creaci�n de matrices nulas
5-63. Creaci�n de matrices diagonales
5-64. C�lculo de la matriz traspuesta
5-65. C�lculo del determinante de una matriz
5-66. C�lculo de la traza de una matriz
5-67. C�lculo de la matriz inversa
5-68. C�lculo del polinomio caracter�stico
5-69. C�lculo de los valores propios
5-70. C�lculo de los vectores propios
5-71. Uso de Simplify
5-72. Uso de Expand
5-73. Uso de ExpandBrackets
5-74. C�lculo del grado de un polinomio
6-1. C�lculo de l�mites
6-2. Derivando funciones
6-3. Desarrollos de Taylor
6-4. Integraci�n de funciones
6-5. Divergencia de un campo vectorial
6-6. Uso de Bin
6-7. Uso de VarList
6-8. Resolviendo ecuaciones algebraicas
6-9. Uso de SuchThat
6-10. Resolviendo ecuaciones por el m�todo de Newton
6-11. Resolviendo ecuaciones algebraicas
6-12. C�lculo del polinomio interpolador
6-13. Exportando a LaTeX
6-14. Exportando a C
7-1. Mostrando informaci�n
7-2. Solicitando informaci�n al usuario
7-3. Guardando datos en ficheros
7-4. Leyendo datos de un fichero
7-5. Sustituci�n de expresiones
7-6. Especificando reglas de simplificaci�n
7-7. Estructura condicional If
7-8. El bucle For
7-9. El bucle ForEach
7-10. El bucle While
7-11. El bucle Until
7-12. Ejemplos de comentarios
7-13. Uso de FindFunction