Elaborato scritto; che argomento?

Messaggioda zariski » 05/09/2018, 18:08

Ciao a tutti,
ho appena scoperto che nella mia universita' (matematica, triennale) esiste la possibilta' di fare un elaborato scritto sotto la guida di un docente (che dovrei scegliermi io e il quale deve essere d'accordo suppongo) per ottenere dei crediti obbligatori particolari (ottenibili altrimenti in modi che preferirei meno, tipo tirocini).
Il problema e' che non ho molto in testa cosa fare (o meglio cosa provare a proporre), inizialmente pensavo qualcosa di geometria/topologia (l'anno scorso ho seguito un corso quasi interamente sulle varieta differenziabili e mi e' piaciuto molto).
Poi mi sono reso conto che la mia situazione accademica non e' stupenda, ho un po' di esami indietro e direi che se per una volta scelgo la via piu' semplice per i crediti non muore nessuno. Ultimamente continuo a scegliermi gli esami piu' infami tra quelli opzionali.
Dunque, io sono abbastanza bravo per cio' che concerne l'informatica (non sto parlando di informatica teorica da un punto di vista matematico), mi piace molto la programmazione (conosco molti linguaggi) e gradirei creare un progetto da consegnare assieme all'elaborato (sempre ammesso che al docente vada bene).
Il punto e' che io sto seguendo un percorso di studi piu' sul teorico (da noi ci sono due curriculm, uno applicativo e uno generale) dove appunto non ci sono corsi di calcolo numerico o robe del genere. Quindi sarebbe interessante trovare qualcosa di natura mista tra informatica e algebra/geometria, peccato che non mi viene in mente nulla...

Che dite? Esiste qualcosa che potrei proporre alla portata di uno studente della triennale?


P.S. Mi ha sempre intrippato logica, linguaggi formali, teoria delle dimostrazioni e robe del genere, ma non avendo mai fatto nulla del genere (alla triennale non c'e' quasi nulla) non credo di poter proporre roba cosi'
zariski
Junior Member
Junior Member
 
Messaggio: 113 di 232
Iscritto il: 24/11/2016, 22:31

Re: Elaborato scritto; che argomento?

Messaggioda killing_buddha » 05/09/2018, 19:34

Che linguaggi conosci?

Un esercizio piuttosto istruttivo è questo: scrivi una libreria il cui scopo è fare conti nell'anello dei polinomi a coefficienti in un anello. Tra le cose che puoi fare ci sono

- anzitutto, scegliere come si rappresenta un polinomio (un polinomio è... molte cose, a seconda di come presenti gli elementi di $K[X]$).
- scegliere come rappresentare le operazioni che rendono $K[X]$ un anello.
- mettiamo che $K = ZZ$; posso ad esempio estendere gli scalari pensando il polinomio a coefficienti in $QQ[X]$; questo si fa ogni volta che del polinomio si vogliono trovare delle radici. Come si definisce l'estensione degli scalari di un polinomio? E come si definisce la riduzione modulo $p$ di un polinomio? Bonus se lo fai usando l'operator overloading.
- scegliere come si rappresenta $f(X)\in K[X]$ in una forma che sia human-readable: qualcosa del tipo
Codice:
f.show() -> a0 + a_1X + ... + a_n X^n

- (come si scrive un parser che faccia la cosa opposta, che cioè da una scrittura come $\sum a_i X^i$ estrapoli una istanza della classe Poly?)1
- Come si fanno conti anche complicati con questa libreria? Che cos'è la derivata di un polinomio, il suo risultante, il suo discriminante? Date le radici di un polinomio, puoi trovare i suoi coefficienti (il viceversa è difficile :))?

Note

  1. E' naturale che ci sia una classe "polinomio"; la vera sfida è farlo in un paradigma diverso...
- "Everything in Mathematics that can be categorized, is trivial" (P. J. Freyd), which should be understood as: "category theory is good ideas rather than complicated techniques".
- "I always disliked Analysis" (P. J. Freyd)
Avatar utente
killing_buddha
Cannot live without
Cannot live without
 
Messaggio: 2811 di 5766
Iscritto il: 03/05/2008, 17:33

Re: Elaborato scritto; che argomento?

Messaggioda zariski » 05/09/2018, 19:53

killing_buddha ha scritto:Che linguaggi conosci?


C (e qualcosa di C++), Java, Python, Scheme (mio preferito :heart: ), Haskell (poco, avevo iniziato a studiarlo qualche mese fa), Javascript (e un bel po' di tecnologie web-oriented in generale, ma non credo qui serva), Pascal (ok, questo e' anni che non lo uso), Brainfuck ( :D ).
Inoltre ho abbastanza esperienza coi sistemi Unix, insomma non credo avro' problemi riguardo la parte tecnica-informatica.

In effetti sono idee molto buone le tue, mi piace. Qualcosa che permetta di "fare conti" su strutture algebriche che ho studiato mi sembra una buona idea. L'anno scorso ho anche seguito un corso di algebra e nelle dispense c'erano esempi con PARI/GP, potrei ricreare qualcosa di simile.
Ero anche rimasto abbastanza affascinato da questo.
A questo punto pero' mi viene il dubbio se sia meglio parlare col prof con cui ho fatto programmazione o con quello di algebra, anche se un po' ho paura che quello di algebra possa chiedere di piu' di quello di programmazione, boh.
L'anno scorso nel corso di algebra ho fatto un po' di teoria dei numeri (poco eh), cosa potrebbe esserci di interessante (e semplice) da attingere?
zariski
Junior Member
Junior Member
 
Messaggio: 114 di 232
Iscritto il: 24/11/2016, 22:31


Torna a Generale

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron