Παρουσίαση συλλογών υποπρογραμμάτων για γραμμική άλγεβρα: blas lapack

Σχετικά έγγραφα
FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Αναδρομικός αλγόριθμος

Συναρτήσεις. Υποπρόγραμμα

Επιστημονικοί Υπολογισμοί (ή Υπολογιστική Επιστήμη)

Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95

1. Λογικά λάθη ονομάζονται αυτά που οφείλονται σε σφάλματα κατά την υλοποίηση του αλγόριθμου.

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Άλγεβρα των Πινάκων (2) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εφαρμοσμένα Μαθηματικά ΙΙ

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

2x 1 + x 2 x 3 + x 4 = 1. 3x 1 x 2 x 3 +2x 4 = 3 x 1 +2x 2 +6x 3 x 4 = 4

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

Εφαρμοσμένα Μαθηματικά ΙΙ

Ομογενή Συστήματα Ορισμός Ενα σύστημα λέγεται ομογενές αν όλοι οι σταθεροί όροι του (δηλαδή οι όροι του δεξιού μέλους του συστήματος) είναι μηδέν.

ΔΙΑΓΩΝΙΣΜΑ ΣΤΟ ΜΑΘΗΜΑ Α.Ε.Π.Π. ΟΝΟΜΑ

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΣΤΑΤΙΣΤΙΚΗΣ ΜΑΣ 121: ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι ΑΣΚΗΣΕΙΣ ΚΕΦΑΛΑΙΟΥ 3

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

Εισαγωγή στη γλώσσα προγραμματισμού C++14

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

Μία απεικόνιση από ένα διανυσματικό χώρο V στον εαυτό του, L : V V την ονομάζουμε γραμμικό τελεστή στο V (ή ενδομορφισμό του V ). Ορισμός. L : V V γρα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Σπιν 1 2. Γενικά. Ŝ και S ˆz γράφονται. ιδιοκαταστάσεις αποτελούν ορθοκανονική βάση στον χώρο των καταστάσεων του σπιν 1 2.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

8 FORTRAN 77/90/95/2003

Επιστηµονικός Υπολογισµός Ι

ΤΕΤΥ Εφαρμοσμένα Μαθηματικά 1. Τελεστές και πίνακες. 1. Τελεστές και πίνακες Γενικά. Τι είναι συνάρτηση? Απεικόνιση ενός αριθμού σε έναν άλλο.

Τι είναι υποπρόγραμμα; Τμήμα προγράμματος το οποίο επιτελεί ένα αυτόνομο υπολογιστικό έργο (γράφεται χωριστά από το υπόλοιπο πρόγραμμα)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΑΡΤΙΟΙ) Ασκησεις - Φυλλαδιο 4

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (ΗΥ-119)

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (Εξ. Ιουνίου - 02/07/08) ΕΠΙΛΕΓΜΕΝΕΣ ΑΠΑΝΤΗΣΕΙΣ

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Δυναμική Μηχανών I. Επανάληψη: Μαθηματικά

Εισαγωγικές έννοιες. Κατηγορίες προβλημάτων (σε μια διάσταση) Προβλήματα εύρεσης μεγίστου. Συμβολισμοί

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΕΠΠ Ερωτήσεις θεωρίας

Ιεραρχίες µνήµης. Μιχάλης ρακόπουλος. Υπολογιστική Επιστήµη & Τεχνολογία, #02

ΔΙΑΦΟΡΑ ΘΕΜΑΤΑ. Ως «γειτονικά» ορίζονται τα κελιά που συγγενεύουν οριζόντια, κάθετα και διαγώνια. Για παράδειγμα γειτονικά του Α[3,3] είναι τα:

Αριθμητική Ανάλυση και Εφαρμογές

1 Επανάληψη εννοιών από τον Απειροστικό Λογισμό

Δείκτες & Πίνακες Δείκτες, Πίνακες

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση)

Ασκήσεις6 Διαγωνοποίηση Ερμιτιανών Πινάκων

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΣΚΗΣΕΙΣ 7 ης ΕΒΔΟΜΑΔΑΣ

Άθροισμα τριών ποσοτήτων (1/2)

7 ΑΛΓΕΒΡΑ ΜΗΤΡΩΝ. 7.2 ΜΗΤΡΕΣ ΕΙΔΙΚΗΣ ΜΟΡΦΗΣ (Ι)

Προγραμματισμός Ι (HY120)

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

Διαγωνοποίηση μητρών. Στοιχεία Γραμμικής Άλγεβρας

2 η ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Μηχανική Πετρωμάτων Τάσεις

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ -ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Λύσεις των Θεμάτων της Εξέτασης Σεπτεμβρίου 2010 στο μάθημα: «Γραμμική Άλγεβρα» (ΗΥ119)

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

21 a 22 a 2n. a m1 a m2 a mn

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

, , 2. A a και το στοιχείο της i γραμμής και j

Στοχαστικά Σήματα και Τηλεπικοινωνιές

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Προτεινοµενες Ασκησεις - Φυλλαδιο 1

ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7)

Κεφ. 2: Επίλυση συστημάτων εξισώσεων. 2.1 Επίλυση εξισώσεων

Κεφ. 2: Επίλυση συστημάτων αλγεβρικών εξισώσεων. 2.1 Επίλυση απλών εξισώσεων

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον. τελική επανάληψη /4/2015 1

Εφαρμοσμένα Μαθηματικά ΙΙ Τελική Εξέταση Ι. Λυχναρόπουλος

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Γιατί πολυδιάστατους πίνακες; ΠΟΛΥΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ. Δήλωση πολυδιάστατων πινάκων. Δήλωση πολυδιάστατων πινάκων

ETY-202 ΤΑ ΜΑΘΗΜΑΤΙΚΑ ΕΡΓΑΛΕΙΑ ΤΗΣ ΚΒΑΝΤΟΜΗΧΑΝΙΚΗΣ ETY-202 ΎΛΗ & ΦΩΣ 02. ΜΑΘΗΜΑΤΙΚΑ ΕΡΓΑΛΕΙΑ. Στέλιος Τζωρτζάκης 1/11/2013

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 3 η Ημερομηνία Αποστολής στον Φοιτητή: 7 Ιανουαρίου 2008

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Μαλούτα Θεανώ Σελίδα 1

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ - ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

November 27, v + u V

Μαρία Λουκά. Εργαστήριο Matlab. Αριθμητικός υπολογισμός ιδιοτιμών και ιδιοδιανυσμάτων. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια συνάρτηση; ΣΥΝΑΡΤΗΣΕΙΣ. Δήλωση συνάρτησης sq. Παράδειγμα συνάρτησης: υπολογισμός τετραγώνου

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Εφαρμοσμένα Μαθηματικά ΙΙ Εξέταση Σεπτεμβρίου Διδάσκων: Ι. Λυχναρόπουλος

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Γ.Κονδύλη 1 & Όθωνος-Μαρούσι Τηλ. Κέντρο: ,

1. a. Έστω b. Να βρεθούν οι ιδιοτιμές και τα ιδιοδιανύσματα του A Έστω A και ( x) [ x]

Γραμμική Άλγεβρα II. Ασκήσεις με Υποδείξεις - Απαντήσεις. Περιεχόμενα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

Ταξινόμηση καμπυλών και επιφανειών με τη βοήθεια των τετραγωνικών μορφών.

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

απαντητικό σας φύλλο τον αριθμό της ερώτησης ακολουθούμενη από το γράμμα Σ (Σωστή) ή το γράμμα Λ (Λάθος).

Κεφάλαιο 2 Πίνακες - Ορίζουσες

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Ορίζουμε την τυπική πολυδιάστατη κανονική, σαν την κατανομή του τυχαίου (,, T ( ) μεταξύ τους ανεξάρτητα. Τότε

ΕΝΔΕΙΚΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΑΛΓΕΒΡΑ ΠΙΝΑΚΩΝ. (ii) Αν ο Β m+1, με m N, αντιστρέφεται, τότε και ο Β αντιστρέφεται

Εισαγωγή στα Μη-Γραμμικά Δυναμικά Συστήματα και Φυσικοχημικές Εφαρμογές Αντώνης Καραντώνης Δρ. Χημικός Αθήνα, 2018

Κεφ. 2: Επίλυση συστημάτων αλγεβρικών εξισώσεων. 2.1 Επίλυση απλών εξισώσεων

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

8.1 Διαγωνοποίηση πίνακα

Transcript:

Παρουσίαση συλλογών υποπρογραμμάτων για γραμμική άλγεβρα: blas lapack Σταμάτης Σταματιάδης Τμήμα Επιστήμης και Τεχνολογίας Υλικών, Πανεπιστήμιο Κρήτης

blas Basic Linear Algebra Subprograms Υποπρογράμματα σε Fortran 77 που εκτελούν τις βασικές πράξεις διανυσμάτων και πινάκων Level 1 δρουν σε διανύσματα ή εκτελούν πράξεις μεταξύ διανυσμάτων Πχ y x, x αx, y αx + y Level 2 πράξεις μεταξύ διανύσματος και πίνακα Πχ y = αa x + βy Level 3 πράξεις μεταξύ πινάκων Πχ C = αa B + βc Ιστοσελίδα

Υλοποιήσεις blas Κώδικας αναφοράς Ελεύθερα διαθέσιμος στο netlib: Βελτιστοποιημένες libraries openblas ATLAS Intel MKL

Ονόματα υποπρογραμμάτων blas Οι κώδικες είναι σε FORTRAN 77, επομένως χρησιμοποιούν ονόματα με έως 6 χαρακτήρες Ανάλογα με τα δεδομένα στα οποία δρα ένα υποπρόγραμμα και την τιμή που επιστρέφει καθορίζονται ο πρώτος ή ο πρώτος και ο δεύτερος χαρακτήρας του ονόματός του Οι επόμενοι χαρακτήρες αντιστοιχούν στο είδος των πινάκων στα οποία δρα και στην πράξη που εκτελείται

Ονόματα υποπρογραμμάτων blas Πρώτος χαρακτήρας O πρώτος χαρακτήρας είναι ένας από τους S για πραγματικούς αριθμούς απλής ακρίβειας, D για πραγματικούς αριθμούς διπλής ακρίβειας, C για μιγαδικούς αριθμούς απλής ακρίβειας, Z για μιγαδικούς αριθμούς διπλής ακρίβειας

Ονόματα υποπρογραμμάτων blas Πρώτος και δεύτερος χαρακτήρας Κάποια υποπρογράμματα στο Level 1 έχουν ονόματα που αρχίζουν από SC Πράξη: σε μιγαδικό διάνυσμα απλής ακρίβειας Αποτέλεσμα: πραγματικός απλής ακρίβειας DZ Πράξη: σε μιγαδικό διάνυσμα διπλής ακρίβειας Αποτέλεσμα: πραγματικός διπλής ακρίβειας IS Πράξη: σε πραγματικό διάνυσμα απλής ακρίβειας Αποτέλεσμα: ακέραιος ID Πράξη: σε πραγματικό διάνυσμα διπλής ακρίβειας Αποτέλεσμα: ακέραιος IC Πράξη: σε μιγαδικό διάνυσμα απλής ακρίβειας Αποτέλεσμα: ακέραιος IZ Πράξη: σε μιγαδικό διάνυσμα διπλής ακρίβειας Αποτέλεσμα: ακέραιος

Ονόματα υποπρογραμμάτων blas Υπόλοιποι χαρακτήρες Οι επόμενοι δύο χαρακτήρες στα Levels 2,3, συνήθως αντιστοιχούν στο είδος του πίνακα που συμμετέχει: GE χωρίς συμμετρία, SY συμμετρικός HE ερμιτιανός, GB banded, SB συμμετρικός banded, TR τριγωνικός, κλπ

Παράδειγμα υποπρογράμματος blas: daxpy Το υποπρόγραμμα εκτελεί την πράξη y αx + y για διανύσματα που περιέχουν πραγματικούς διπλής ακρίβειας (και σταθερά α πραγματική διπλής ακρίβειας)

Παράδειγμα υποπρογράμματος blas: daxpy Το υποπρόγραμμα εκτελεί την πράξη y αx + y για διανύσματα που περιέχουν πραγματικούς διπλής ακρίβειας (και σταθερά α πραγματική διπλής ακρίβειας) subroutine daxpy(integer N, double precision DA, double precision DX(*), integer INCX, double precision DY(*), integer INCY)

Παράδειγμα υποπρογράμματος blas: daxpy Το υποπρόγραμμα εκτελεί την πράξη y αx + y για διανύσματα που περιέχουν πραγματικούς διπλής ακρίβειας (και σταθερά α πραγματική διπλής ακρίβειας) subroutine daxpy(integer N, double precision DA, double precision DX(*), integer INCX, double precision DY(*), integer INCY) N πλήθος στοιχείων, DA σταθερά α, DX διάνυσμα X, DY διάνυσμα Y, INCX απόσταση των στοιχείων στο διάνυσμα X (συχνά 1 αλλά όχι υποχρεωτικά), INCΥ απόσταση των στοιχείων στο διάνυσμα Y (συχνά 1 αλλά όχι υποχρεωτικά)

Παράδειγμα υποπρογράμματος blas: daxpy Ισοδύναμος κώδικας σε fortran

Παράδειγμα υποπρογράμματος blas: daxpy Ισοδύναμος κώδικας σε C99 ή C++

Αντιστοίχιση ενσωματωμένων τύπων της Fortran σε τύπους της C99/C++ Fortran C99/C++

Χρήση ρουτίνας blas Παράδειγμα: daxpy σε Fortran 77

Χρήση ρουτίνας blas Παράδειγμα: daxpy σε Fortran 90

Χρήση ρουτίνας blas Παράδειγμα: daxpy σε C Όλα τα ορίσματα είναι δείκτες Αλλάζει το όνομα της ρουτίνας: το γράφουμε με πεζά και το συμπληρώνουμε με _ (για τον gcc)

Χρήση ρουτίνας blas Παράδειγμα: daxpy σε C++ Όλα τα απλά ορίσματα είναι αναφορές Αλλάζει το όνομα της ρουτίνας: το γράφουμε με πεζά και το συμπληρώνουμε με _ (για τον g++) Αλλάζει η δήλωση της ρουτίνας: τη συμπληρώνουμε με το

Σύνδεση blas σε πρόγραμμα

Σύνδεση blas σε πρόγραμμα Συμβουλευόμαστε το documentation του compiler και της blas που χρησιμοποιούμε το διαχειριστή του υπολογιστικού συστήματος

lapack Linear Algebra PACKage Συλλογή υποπρογραμμάτων σε Fortran 77 & 90 που υλοποιούν βασικούς αλγόριθμους γραμμικής άλγεβρας (επίλυση γραμμικών συστημάτων, ιδιοτιμές ιδιοδιανύσματα πίνακα, κλπ) Βασίζεται στις ρουτίνες της blas Level 3 Ιστοσελίδα

Παράδειγμα ρουτίνας lapack dsyev: Ιδιοτιμές και ιδιοδιανύσματα συμμετρικού πίνακα (1/2) Δήλωση subroutine dsyev(character JOBZ, character UPLO, integer N, double precision A(lda,*), integer LDA, double precision W(*), double precision WORK(*), integer LWORK, integer INFO )

Παράδειγμα ρουτίνας lapack dsyev: Ιδιοτιμές και ιδιοδιανύσματα συμμετρικού πίνακα (2/2) Ορίσματα JOBZ N για ιδιοτιμές, V για ιδιοτιμές και ιδιοδιανύσματα UPLO U / L αν στον A είναι αποθηκευμένο το άνω/κάτω τρίγωνο N τάξη πίνακα A πριν την κλήση: πίνακας με διαστάσεις LDA Ν Μετά την κλήση: αν και τα ιδιοδιανύσματα σε στήλες, κανονικοποιημένα LDA πρώτη διάσταση του A W πραγματικό διάνυσμα με διάσταση Ν Αν το INFO είναι 0, θα έχει τις ιδιοτιμές σε αύξουσα σειρά WORK κενό πραγματικό διάνυσμα με διάσταση LWORK 1 για εσωτερική χρήση LWORK η διάσταση του WORK, τουλάχιστον 3N 1 Η βέλτιστη τιμή επιλέγεται με προκαταρτική κλήση της ρουτίνας θέτοντας Η βέλτιστη τιμή επιστρέφεται στο INFO Αν είναι 0, η εκτέλεση ήταν σωστή Αν < 0 το όρισμα στη θέση (-INFO) έχει λάθος τιμή Αν > 0 ο αλγόριθμος δεν συγκλίνει

Χρήση ρουτίνας lapack Παράδειγμα: dsyev σε Fortran 77

Χρήση ρουτίνας lapack Παράδειγμα: dsyev σε Fortran 95

Χρήση ρουτίνας lapack Παράδειγμα: dsyev σε C (1/2)

Χρήση ρουτίνας lapack Παράδειγμα: dsyev σε C (2/2) Όλα τα ορίσματα είναι δείκτες Αλλάζει το όνομα της ρουτίνας: το γράφουμε με πεζά και το συμπληρώνουμε με _ (για τον gcc) Ο πίνακας είναι μονοδιάστατος και γεμίζει κατά στήλες Δηλαδή: αν ο A έχει διαστάσεις M N δηλώνεται ως μονοδιάστατος με M N στοιχεία Το στοιχείο στην γραμμή i και στήλη j, το A ij, είναι το

Χρήση ρουτίνας lapack Παράδειγμα: dsyev σε C++ (1/2)

Χρήση ρουτίνας lapack Παράδειγμα: dsyev σε C++ (2/2) Όλα τα απλά ορίσματα είναι αναφορές Αλλάζει το όνομα της ρουτίνας: το γράφουμε με πεζά και το συμπληρώνουμε με _ (για τον g++) Αλλάζει η δήλωση της ρουτίνας: τη συμπληρώνουμε με το Ο πίνακας είναι μονοδιάστατος και γεμίζει κατά στήλες Δηλαδή: αν ο A έχει διαστάσεις M N δηλώνεται ως μονοδιάστατος με M N στοιχεία Το στοιχείο στην γραμμή i και στήλη j, το A ij, είναι το

Σύνδεση lapack σε πρόγραμμα

Σύνδεση lapack σε πρόγραμμα Συμβουλευόμαστε το documentation του compiler και της lapack που χρησιμοποιούμε το διαχειριστή του υπολογιστικού συστήματος