Δημοσιεύτηκε: 14 Απρ 2010, 20:15
Σωστά λες ότι το LAPACK είναι βιβλιοθήκη. To LAPACK δεν είναι λοιπόν καθεαυτό μια γλώσσα προγραμματισμού. Όπως το ίδιο το όνομα του λέει, είναι PACKέτο.
Άρα βασίζεται σε κάποια γλώσσα για να λειτουργήσει. Το ότι το LAPACK έχει ρουτίνες, συναρτήσεις κτλ. δε σημαίνει ότι είναι (αυτόνομη) γλώσσα προγραμματισμού.
Έτσι κανείς δε _γράφει_ LAPACK. Συνήθως σε C/C++ γράφει κάποιος και καλεί το LAPACK μέσα από το πρόγραμμα του. Δεν υπάρχουν program_name.lap αρχεία για να τα πάρει το lapack-compiler και να δημιουργήσει εκτελέσιμα αρχεία.
Απλοϊκό παράδειγμα :
Μια standard διαδικασία είναι για την υλοποίηση υπολογισμών μεγάλης κλίμακας είναι να δημιουργεί ένα αρχείο C, όπου καλείται μέσα από το πρόγραμμα C, το LAPACK (μέσω #include κτλ.).
Στη συνέχεια, μέσα στο πρόγραμμα αυτό, υλοποιούνται μέσω του LAPACK τα διάφορα παιχνίδια που θες να συμβούν στους υπάρχοντες πίνακες, και το πρόγραμμα τερματίζει.
Τέλος (έχοντας προφανώς σώσει το πρόγραμμα πριν) γίνεται compile το αρχείο (λογικά κάποιας εντολής στυλ : gcc gamelapack.c -o output -llapack -lblas), χρησιμοποιώντας το compiler της C. Έτσι έχεις το εκτελέσιμο πρόγραμμα που χρησιμοποιεί το LAPACK, αλλά καθεαυτό πρόκειται για ένα εκτελέσιμο αρχείο C.
Τα παραδείγματα σου είναι λίγο άκομψα: το MatLab ΔΕΝ είναι γλώσσα προγραμματισμού αλλά μια εφαρμογή (περιβάλλον). Στον αντίποδα η Fortran είναι γλώσσα προγραμματισμού. Μια γλώσσα προγραμματισμού δεν έχει "το δικό της γραφικό περιβάλλον". Το LAPACK είναι κάτι ενδιάμεσο
(Ντάξει θεωρητικά το MatLab είναι γλώσσα προγραμματισμού 4ης γενεάς... ΟΚ... Αυτά είναι για να μην νιώθουν complex οι μηχανολόγοι όταν τους λένε οι ηλεκτρολόγοι ότι δεν ξέρουν προγραμματισμό
Το MatLab ως γλώσσα είναι τόσο domain-specific και application-bounded που είναι πιο κοντά στο scripting παρά στο programming - και προφανώς είναι interpreted και όχι compiled
)
υγ. Γράφεις επαναλημένα το Scilab, ως Schilab.
Άρα βασίζεται σε κάποια γλώσσα για να λειτουργήσει. Το ότι το LAPACK έχει ρουτίνες, συναρτήσεις κτλ. δε σημαίνει ότι είναι (αυτόνομη) γλώσσα προγραμματισμού.
Έτσι κανείς δε _γράφει_ LAPACK. Συνήθως σε C/C++ γράφει κάποιος και καλεί το LAPACK μέσα από το πρόγραμμα του. Δεν υπάρχουν program_name.lap αρχεία για να τα πάρει το lapack-compiler και να δημιουργήσει εκτελέσιμα αρχεία.
Απλοϊκό παράδειγμα :
Μια standard διαδικασία είναι για την υλοποίηση υπολογισμών μεγάλης κλίμακας είναι να δημιουργεί ένα αρχείο C, όπου καλείται μέσα από το πρόγραμμα C, το LAPACK (μέσω #include κτλ.).
Στη συνέχεια, μέσα στο πρόγραμμα αυτό, υλοποιούνται μέσω του LAPACK τα διάφορα παιχνίδια που θες να συμβούν στους υπάρχοντες πίνακες, και το πρόγραμμα τερματίζει.
Τέλος (έχοντας προφανώς σώσει το πρόγραμμα πριν) γίνεται compile το αρχείο (λογικά κάποιας εντολής στυλ : gcc gamelapack.c -o output -llapack -lblas), χρησιμοποιώντας το compiler της C. Έτσι έχεις το εκτελέσιμο πρόγραμμα που χρησιμοποιεί το LAPACK, αλλά καθεαυτό πρόκειται για ένα εκτελέσιμο αρχείο C.
Τα παραδείγματα σου είναι λίγο άκομψα: το MatLab ΔΕΝ είναι γλώσσα προγραμματισμού αλλά μια εφαρμογή (περιβάλλον). Στον αντίποδα η Fortran είναι γλώσσα προγραμματισμού. Μια γλώσσα προγραμματισμού δεν έχει "το δικό της γραφικό περιβάλλον". Το LAPACK είναι κάτι ενδιάμεσο

(Ντάξει θεωρητικά το MatLab είναι γλώσσα προγραμματισμού 4ης γενεάς... ΟΚ... Αυτά είναι για να μην νιώθουν complex οι μηχανολόγοι όταν τους λένε οι ηλεκτρολόγοι ότι δεν ξέρουν προγραμματισμό


υγ. Γράφεις επαναλημένα το Scilab, ως Schilab.