De fondo
Yo tengo experiencia en resumen álgebra conmutativa y esquema básico de la teoría como cubiertos en Atiyah/Macdonald y las notas de Ravi Vakil. Lo que no tengo absolutamente nada de fondo es la informática y la programación.
Sin embargo, me gustaría auto-aprender algunos algorítmica o de álgebra computacional. Agradecería a ver algunas recomendaciones de libros sobre estos temas.
Los libros, que yo sepa
Lo que parece ser bastante estándar, pero no muy profundo en el álgebra de lado y no de manera explícita en el lado de la implementación (que quiero aprender) es el libro de los Ideales, de las Variedades y de los Algoritmos de la Cox, Poco y O'Shea.
También sé sobre el libro de UN SINGULAR Introducción al álgebra conmutativa por Greuel y Pfister. Parece ser mucho más en profundidad en el álgebra lado --- que cubran por ejemplo álgebra conmutativa más arbitraria de la base de los anillos, no sólo de los campos --- y que está estrechamente conectado a la CAS SINGULAR.
También hay un tres tomos del libro Computacional Álgebra Conmutativa por Kreuzer y Robbiano de trabajo con el CAS de Cacao.
Además de los libros de Álgebra computacional hay libros sobre constructivo álgebra (que yo también estoy interesado en) como Álgebra Conmutativa: Métodos Constructivos por Lombardi y Quitté un Curso en la construcción de Álgebra por las Minas, Richman y Ruitenburg. Estos trabajos puramente constructiva, pero no hace explícitos los algoritmos que se pueden extraer de las pruebas.
Mis Preguntas
Es importante tener un libro se centra en uno de CAS explícitamente?
A partir de esto surgen dos preguntas más:
Que CAS debo decidir?
Hay muchas opciones aquí y yo no estoy seguro de si son, básicamente, todo el mismo o si hay diferencias importantes y que prefiere.
De dónde viene la experiencia en programación?
Supongamos que acaba de aprender acerca de las bases de Gröbner y el algoritmo de Buchberger. Yo podría implementar alguna versión del algoritmo de cálculo y bases de Gröbner de dos o tres más o menos complicadas ideales. Y entonces? ¿Es esto todo? Pasar al siguiente tema? Aunque quiero aprender para el pensamiento computacional, no es el caso que cada día me encuentro con problemas que sólo pueden ser resueltos con un ordenador. Entonces, ¿dónde los problemas a resolver y ganar experiencia?
Cómo comprobar si he escrito bien el código?
Este es, quizás, más un equipo de la ciencia de que se trate. Pero científicos de la computación probablemente tiene a la mano en los ejercicios para la universidad o para donde obtener retroalimentación. Si escribo el peor y más ineficiente código que uno puede pensar, que sigue de alguna manera funciona - ¿cómo debo saber?