Introduzione ai sistemi di algebra del computer? [chiuso]
-
20-08-2019 - |
Domanda
Qualcuno sa di eventuali risorse (libri, lezioni, appunti di lezione o altro) sulla teoria generale dei sistemi di algebra informatica (ad es. matematica , sympy )?
" Introduttivo " i materiali sono preferiti, ma mi rendo conto che con un argomento così specializzato qualsiasi cosa è destinata ad essere abbastanza avanzata.
Soluzione
" Teoria generale " di CAS è un ambito abbastanza vasto per una domanda. Detto questo, farò del mio meglio per coprire il più possibile nella speranza che qualcosa ti aiuti a trovare quello che stai cercando :)
I procedimenti dei gruppi ISSAC e SIGSAM avrebbero senza dubbio alcune cose buone sulle tecniche di costruzione dei sistemi CAS. Un elenco di vari argomenti nell'area generale della costruzione CAS è disponibile qui: http: // www.cs.berkeley.edu/~fateman/algebra.html
Se sei più alla ricerca di informazioni su come codificare alcune delle matematiche coinvolte, sono un fan delle "Ricette numeriche". serie; fornisce un codice di esempio e una spiegazione ragionevolmente decente della matematica in una vasta gamma di argomenti. L'ultima volta che ho controllato, una versione online di una versione precedente del libro era disponibile qui: http: // www .nrbook.com / a / bookcpdf.php (Nota che questa è la "Ricetta numerica" ??in forma C del libro; ci sono anche versioni in altre lingue).
Per creare un CAS in generale, un punto di partenza potrebbe essere qui: "Creazione di un ambiente di algebra informatica per composizione di strumenti collaborativi" di Kajler e Safir; Un altro posto che potresti controllare è qui: http://www.math.wpi.edu /IQP/BVCalcHist/calc5.html in cui è elencata una descrizione di alto livello di come alcune persone hanno implementato un CAS.
L'altra cosa che potresti provare è tuffarti nel codice per alcuni dei progetti CAS open source esistenti: YACAS (Yet Another Computer Algebra System: Java), Axiom, ecc. Mi piace la lista qui: http://en.wikipedia.org/wiki/List_of_computer_algebra_systems
Spero che qualcosa lì dentro sia stato utile!
Altri suggerimenti
Le nozioni di base sono ben descritte in PAIP ; il codice sorgente è online gratuito - vedere in particolare i file di origine con "macsyma" nel nome. Gli argomenti includono i sistemi di regole di riscrittura, la semplificazione mediante forme canoniche, l'integrazione e la differenziazione e la compilazione e la memorizzazione di regole di riscrittura per la velocità.
Ho trovato Algorithms for computer algebra di K.O. Geddes ... per essere abbastanza utile. Sono un laureando con una preparazione in matematica leggera lavorando su OpenAxiom (un CAS). Preparati per un po 'di matematica pesante, il mio miglior consiglio è di avere un paio di libri se solo per avere una prospettiva diversa se rimani "bloccato".
Potrebbe essere utile se suggerisci cosa stai esaminando, quali aree ti interessano, ecc.
Ecco un link da Wikipedia: Computer Algebra Systems
E un altro qui: http://www.math.wpi.edu/IQP/ BVCalcHist / calc5.html
Ecco due libri che descrivono gli algoritmi utilizzati per implementare i sistemi di algebra dei computer:
Algebra del computer e calcolo simbolico: algoritmi elementari
Algebra del computer e calcolo simbolico: metodi matematici
Ho usato questi libri per implementare librerie per l'algebra dei computer in Scheme ( MPL ) e C # ( Simbolismo ).
Hai menzionato SymPy nella tua domanda, quindi parlerò brevemente.
Il progetto e la comunità di SymPy sono in realtà risorse molto buone.
- Esistono diverse competenze che controllano e rispondono regolarmente alla mailing list .
- Il codice è apertamente disponibile su github .
- La documentazione è abbastanza completa e spesso include citazioni accademiche.
Se sei interessato ai CAS, vieni. Ai partecipanti piace parlare di ciò su cui lavorano. Se sei interessato è facile iniziare e aggiungere i tuoi contributi.