Poszukuję biblioteki do radzenia sobie z rzadkimi macierzami w Fortran 90/95. Potrzebuję tylko bardzo podstawowych operacji, takich jak mnożenie wektorów macierzy. Co sugerujesz, czego używam?Biblioteka Fortran 90/95 dla rzadkich macierzy?
Szukałem wokół i rozszerzenie Blas nazywane "rozrzedzone Blas", udokumentowane w rozdziale 3 specyfikacji technicznej wielkopiecowego forum (?):
http://www.netlib.org/blas/blast-forum/,
wydaje się idealny. Zgodnie z tym dokumentem do biblioteki powinien należeć fortranowy interfejs. Jednak nie udało mi się znaleźć rzeczywistej implementacji tej specyfikacji w dowolnym miejscu, które udało mi się pobrać. Odnoszę wrażenie, że specyfikacja rzadkich blaszek z fortran 95 nie jest nigdzie wdrażana? W każdym razie nie jako open source.
Znalazłem też biblioteka nazywa sparsekit:
http://people.sc.fsu.edu/~jburkardt/f_src/sparsekit/sparsekit.html
Ktoś ma jakieś doświadczenia z jednej z tych dwóch, lub innego rzadkiego biblioteki macierzy dla Fortran 90/95? Chciałbym doradzić, który z nich używać, a także gdzie go zdobyć (w przypadku sparsekit kod źródłowy jest dostępny za pośrednictwem powyższego linku). Czy istnieje coś takiego jak "standard" dla rzadkich macierzy, takich jak BLAS dla gęstych?
Cheers,
Arne
F95, ponieważ jest to niewielka wersja języka, często przechodzi pod F90. Minęło trochę czasu, odkąd zrobiłem cokolwiek z dużymi matrycami, ale to wygląda na http://people.sc.fsu.edu/~jburkardt/f_src/blas2/blas2.html wersję F90. – Rook
Dzięki Idigas, ale nie sądzę, że to jest to. Wydaje mi się, że to, do czego się podłączasz, to biblioteka BLAS, i że "nieliczne blizny" nie są tego częścią. Na przykład powinien istnieć podprogram (zgodnie ze specyfikacją) zwany "duscr_begin" (lub prawdopodobnie "blas_duscr_begin"), który jest podrzędnym użytkiem do zainicjowania rzadkiej macierzy, której nie znalazłem nigdzie w bibliotece BLAS. Pobrałem nawet wszystkie pliki z http://www.netlib.org/sparse-blas/index.html i zrobiłem "grep -i duscr_begin * .f" bez żadnego szczęścia. Znalazłem to bardzo mylące. – arne
Ach, może być. Patrzyłem na to pośpiesznie po raz ostatni. – Rook