ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

Νέα από τον πλανήτη…planet.ellak.gr: Εγκατάσταση Μαθηματικού Λογισμικού SageMath σε διανομές GNU/Linux

by: Ευστάθιος Ιωσηφίδης

Πολλοί φοιτητές των Ελληνικών Πανεπιστημίων, διδάσκονται μαθηματικά λογισμικά που πιθανό να τα χρησιμοποιήσουν στην εργασία τους. Από τη στιγμή που διδάσκονται, πρέπει να δίνεται η δυνατότητα να εξασκηθούν στο σπίτι. Εάν τα λογισμικά αυτά είναι εμπορικά, αυτό σημαίνει ότι χρειάζεται και άδεια χρήσης. Η άδεια αυτή κοστίζει αρκετά χρήματα, ειδικά αν πρέπει να δοθεί και στους φοιτητές.

Στον αντίποδα, υπάρχουν μαθηματικά λογισμικά ανοικτού κώδικα που μπορούν να αντικαταστήσουν τα εμπορικά λογισμικά στην διαδικασία της διδασκαλίας. Ίσως, να μπορεί να γίνει η αντικατάσταση αυτή και στον παραγωγικό τομέα, αφού οι περισσότεροι απόφοιτοι θα γνωρίζουν τον χειρισμό ΜΟΝΟ των λογισμικών ανοικτού κώδικα. Ένα από αυτά είναι το SageMath. Εδώ θα δούμε πως μπορεί να εγκατασταθεί στο Linux.

ΕΙΣΑΓΩΓΗ

Το Sage (System for Algebra and Geometry Experimentation) είναι ένα ελεύθερο (δωρεάν) λογισμικό μαθηματικών ανοιχτού κώδικα που υποστηρίζει αριθμητικούς υπολογισμούς, και γενικά την έρευνα και τη διδασκαλία στην άλγεβρα, στη γεωμετρία, στην θεωρία αριθμών, στην κρυπτογραφία, και σε συναφείς τομείς. Καλείται συχνά και Sagemath καθώς η λέξη Sage είναι πολύ κοινή.

Συνδυάζει τις δυνατότητες πολλών υπαρχόντων πακέτων ανοιχτού κώδικα (NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R κ.τ.λ.) σε µία κοινή διεπαφή βασισμένη στη γλώσσα Python. Είναι λογισμικό γενικής χρήσης, με δυνατότητες αναλυτικών και αριθμητικών υπολογισμών καθώς και γραφικών.

Ο γενικός στόχος του Sage, σύμφωνα με τον δημιουργό του, είναι να δημιουργηθεί μια βιώσιμη, δωρεάν, ανοιχτού κώδικα εναλλακτική λύση απέναντι στα μαθηματικά λογισμικά: Maple, Mathematica, Magma, και MATLAB.

Η πρώτη δημόσια έκδοση παρουσιάστηκε τον Φεβρουάριο του 2005 ως ελεύθερο λογισμικό. Ο δημιουργός της είναι ο William Stein, καθηγητής μαθηματικών στο University of Washington.

Εγκατάσταση σε Debian/Ubuntu/Linux Mint

Η εγκατάσταση σε Debian/Ubuntu είναι εύκολη, καθώς υπάρχουν στο αποθετήριο. Μπορείτε εύκολα να τα εγκαταστήσετε με την εντολή: sudo apt install sagemath sagemath-jupyter sagemath-doc-en
Ο διακομιστής Sage Jupyter Notebook θα εκκινήσει αμέσως μόλις εκκινήσετε την εφαρμογή, είτε από το GUI είτε από το τερματικό.

Εγκατάσταση σε Debian/Ubuntu από συμπιεσμένο αρχείο

1. Μεταβείτε στην ιστοσελίδα των λήψεων και κατεβάστε την έκδοση που αντιστοιχεί στο λειτουργικό σας.

2. Στη συνέχεια αποσιμπιέστε το αρχείο .tar.bz2 που κατεβάσατε.
ΣΥΜΒΟΥΛΗ: Φτιάξτε ένα κατάλογο bin μέσα στον προσωπικό σας φάκελο. Εκεί να αποθηκεύετε τα προγράμματα που θέλετε να εγκαταστήσετε (όπως το SageMath). Με αυτό τον τρόπο θα γνωρίζετε ότι πρόκειται για προγράμματα και δεν θα τον πειράζετε. Επίσης δεν θα είστε σίγουροι ότι δεν υπάρχει κάποιος Ελληνικός χαρακτήρας στο path που μπορεί να προκαλέσει κάποιο πρόβλημα.

3. Αφού το αποσυμπιέσατε, μεταβείτε στον κατάλογο SageMath και εκτελέστε το πρόγραμμα sage ./sage
4. Την πρώτη φορά που θα εκτελεστεί το Sage θα σας δώσει μια εικόνα όπως το παρακάτω μήνυμα: Rewriting paths for your new installation directory
===================================================

This might take a few minutes but only has to be done once.

patching … (long list of files)
Από εδώ και πέρα, δεν μπορείτε να μετακινήσετε το Sage.

5. Τελευταία κίνηση είναι η δημιουργία συντόμευσης ώστε να μπορείτε να εκτελέσετε το Sage από το τερματικό. Τώρα μπορείτε να δημιουργήσετε την συντόμευση με την εντολή: $ sudo ln -s /path/to/SageMath/sage /usr/local/bin/sage
Όπου /path/to/ είναι το πλήρες path που εγκαταστήσατε το SageMath.

Μπορείτε να βρείτε περισσότερες πληροφορίες στο wiki του Ubuntu.

Εγκατάσταση σε Arch Linux

1. Εγκατάσταση με την εντολή: sudo packam -S sagemath sagemath-jupyter sagemath-doc
2. Το SageMath παρέχει και το Jupyter Notebook. Εκτελέστε την εντολή: $ jupyter notebook
και επιλέξτε «SageMath» από το αναδυόμενο μενού «New…».

Εκκίνηση

Εκτέλεση στο τερματικό με την εντολή: $ sage -c «notebook(automatic_login=True)»
Μεταβείτε στην διεύθυνση http://localhost:8080/ και εκεί θα μπορείτε χρησιμοποιήσετε το Jupiter Notebook. Επειδή θα χρησιμοποιείτε μόνο εσείς το SageMath, μπορείτε να το εκτελέσετε χωρίς κωδικό.

Για περισσότερες πληροφορίες, μπορείτε να δείτε το Arch Linux wiki.

Εγκατάσταση και χρήση Docker

Όμως τι γίνεται αν έχετε κάποια άλλη διανομή (όπως έγώ με openSUSE); Η λύση είναι η χρήση Docker.

Ψάχντοντας στο hub, βρήκα την διευθυνση:
https://hub.docker.com/r/sagemath/sagemath/

Οπότε εδώ θα δούμε πως θα κάνουμε λήψη, ενεργοποίηση και χρήση του SageMath.

1. Λήψη του θα την κάνετε με την εντολή: sudo docker pull sagemath/sagemath

2. Αφού κατέβει, μπορείτε να δείτε την λίστα με τα images με την εντολή: sudo docker images

3. Εκκίνηση του SageMath μαζί με το Jupyter Notebook. sudo docker run -p8888:8888 sagemath/sagemath:latest sage-jupyter

Αφού εκτελεστεί, δείτε λίγο τα μηνύματα που θα βγάλει. Θα σας εμφανίσει ένα token. Αυτό θα το χρειαστείτε για να κάνετε είσοδο από την διεύθυνση http://localhost:8888 ή την τύπου http://IP:8888.

SageMath στον Browser

4. Αφού τελειώσετε, πρέπει να τερματίσετε τον server και να τερματίσετε το docker. Θα βρείτε το CONTAINER_ID με την εντολή: sudo docker container ps

Δείτε το ID της και μπορείτε να τερματίσετε με το ID της με την εντολή (αν πχ το ID είναι 3b40632adb78): sudo docker container stop 3b40632adb78

ONLINE

Υπάρχει και η δυνατότητα να μην εγκαταστήσετε τιποτα. Μπορείτε να βρείτε online τις εξής λύσεις:

1. https://cocalc.com/: Η λύση αυτή είναι επι πληρωμή. Υπάρχει το δωρεάν πλάνο αλλά δεν είναι και τόσο γρήγορο. Μπορεί να περιμένετε αρκετή ώρα μέχρι να έχετε αποτέλεσμα.
2. https://sagecell.sagemath.org/: Ακόμα μια λύση, καλύτερη από το cocalc.

Σημειωματάριο PORTO

Εναλλακτικά του Jupyter μπορείτε να εγκαταστήσετε το Porto από το flathub.

https://flathub.org/apps/details/org.cvfosammmm.Porto

Ή εκτελέστε την εντολή sudo flatpack install org.cvfosammmm.Porto

Porto notebook

Δείτε πως μπορείτε να κάνετε εγκατάσταση από το πηγαίο αρχείο.\

Πηγή άρθρου: planet.ellak.gr https://eiosifidis.blogspot.com

Leave a Comment