To jest polecenie PDL::Coursep, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
PDL::Course — podróż przez dokumentację PDL, od początkującego do zaawansowanego.
AUTOR, DATA
Zostało to napisane przez Davida Mertensa z redakcją Daniela Carrery.
Przedmowa
Dokumentacja PDL jest obszerna. Niektóre sekcje omawiają głęboką magię rdzenia, inne natomiast
bardziej typowe tematy, takie jak IO i obliczenia numeryczne. Jak są ze sobą powiązane? Gdzie powinien
zaczynasz?
Dokument ten jest próbą zebrania całej kluczowej dokumentacji PDL w spójną całość
kurs naukowy, począwszy od poziomu podstawowego, aż do poziomu eksperta.
Podzieliłem wszystko według poziomu wiedzy specjalistycznej i zakresu wiedzy, którą omówiłem
moduły dokumentacji, biblioteki i przepływu pracy. Moduły dokumentacji są przydatne do
co ci mówią; moduły biblioteczne są przydatne dla funkcji, dla których definiują
Ty; moduły przepływu pracy są przydatne, ponieważ umożliwiają wykonanie pracy
na nowe i różne sposoby.
Wprowadzający
Jeśli jesteś nowy w PDL, te moduły dokumentacji pomogą Ci rozpocząć pracę od prawej strony
ścieżka do korzystania z PDL.
Dokumenty
Moduły, które podpowiedzą, jak rozpocząć korzystanie z PDL. Wiele z nich to moduły biblioteczne
technicznie rzecz biorąc, ale są one uwzględniane, gdy „używasz PDL”, więc uwzględniłem je dla nich
dokumentacja.
Po pierwszych trzech większość dokumentów wymienionych poniżej jest raczej sucha. Być może byłyby
lepiej podsumowane w tabelach lub lepszych streszczeniach. Powinieneś przynajmniej je przeskanować
zapoznaj się z podstawowymi możliwościami języka PDL.
· PDL::Filozofia, PDL::QuickStart
Kilka krótkich wstępów do PDL. Ten drugi jest nieco bardziej praktyczny. Jeśli ty
jesteś nowy w PDL, powinieneś zacząć od nich.
· PDL::Podstawowy
Obejmuje podstawowe procedury tworzenia piddle, takie jak „sekwencja”, „rvals” i „logxvals”
losowo kilka. Obejmuje także „hist” i „transpozycję”.
· PDL::Ufunc
Wyjaśnia duży zbiór wbudowanych funkcji, które, biorąc pod uwagę piddle o wymiarze N,
utworzy piddle o wymiarach N-1.
· PDL::NiceSlice
PDL osiągnął pełnoletność na przełomie tysiącleci, a na rynku pojawiła się NiceSlice
scena nieco później. Część dokumentów nadal nie dotarła. NiceSlice jest
„nowoczesny” sposób krojenia zapiekanek. Przeczytaj streszczenie, a następnie przewiń w dół
do nowej składni krojenia. Po przeczytaniu do końca wróć i przeczytaj
rzeczy na górze.
· PDL::Prymitywny
Definiuje całą masę przydatnych wbudowanych funkcji. To są tego rodzaju rzeczy
początkujący prawdopodobnie napiszą do listy i zapytają: „Jak zrobić xxx?” Byłbyś
jesteś na dobrej drodze do nauczenia się podstaw po zapoznaniu się z tym dokumentem.
· Wybrane z PDL::Core
Podobnie jak PDL::Primitive, definiuje duży zestaw przydatnych funkcji. Niestety, niektóre
funkcje są dość ezoteryczne, ale są zmieszane z resztą prostych i
łatwe. Przejrzyj cały dokument, na razie pomijając skomplikowane funkcje.
W szczególności zwróciłbym uwagę na funkcję „około”.
Workflow
· Powłoka perldl lub pdl2
Powłoka Perldl to REPL (Read-Evaluate-Print-Loop, innymi słowy monit lub
Shell), który umożliwia pracę z PDL (lub dowolnym Perlem) w „czasie rzeczywistym”,
ładowanie danych z plików, kreślenie, manipulowanie... Wszystko, co możesz zrobić w skrypcie,
co możesz zrobić w powłoce PDL, z natychmiastową informacją zwrotną!
biblioteki
· PDL
Główny moduł roboczy. Uwzględnisz to w prawie każdym programie PDL, który napiszesz.
Normalna Stosowanie
Rodzaje modułów, których prawdopodobnie będziesz używać normalnie w skryptach lub wewnątrz
powłoka perldl. Niektórych z tych modułów możesz nigdy nie użyć, ale nadal powinieneś mieć tego świadomość
że istnieją, na wypadek gdybyś potrzebował ich funkcjonalności.
Dokumenty
· PDL::Plasterki
Oprócz wyjaśnienia oryginalnych funkcji krojenia i kostkowania - dla których ty
zazwyczaj można używać PDL::NiceSlice – dotyczy to również wielu funkcji obsługi wymiarów
takie jak „mv”, „xchg” i „reorder”. To również dokładnie dokumentuje „zakres”
funkcja, która może być bardzo potężna i obejmuje szereg funkcji wewnętrznych, które
prawdopodobnie można pominąć.
· PDL::Indeksowanie
Obejmuje to wiele głębszych podstaw koncepcyjnych, które naprawdę musisz zrozumieć
wykorzystaj pełny potencjał języka PDL. W miarę upływu czasu sytuacja staje się coraz bardziej skomplikowana, więc nie rób tego
zmartwiony, jeśli w połowie stracisz zainteresowanie. Jednak czytanie
ten dokument w całości przybliży Cię do oświecenia PDL.
· PDL::IO
PDL ma sporo modułów IO, z których większość omówiono w tym module podsumowującym.
· PDL::Wskazówki
Zbiór niektórych pomysłów Tuomasa na dobre wykorzystanie języka PDL.
· PDL::Złe wartości
Wyjaśnia, czym są złe wartości oraz jak i dlaczego są wdrażane.
· Wybór z Inline::Pdlpp
Chociaż pisanie kodu PDL::PP jest uważane za temat zaawansowany i jest omówione w
w następnej sekcji, powinieneś wiedzieć, że jest to możliwe (i zaskakująco proste).
napisz kod obsługujący PDL. W tym momencie nie musisz czytać całości, ale trochę
wyczuć, jak to działa, powinieneś przeczytać wszystko od pierwszego przykładu. A
kopia tej dokumentacji znajduje się w PDL::PP-Inline.
· PDL::Obiekty
Wyjaśnia, jak podklasować obiekt piddle.
· PDL::Indeks
Zostało to omówione we Wstępie. Jest to automatycznie wygenerowany plik zawierający listę
wszystkie moduły PDL na Twoim komputerze. Istnieje wiele modułów, które mogą znajdować się w Twoim pliku
machine, ale które nie są tutaj udokumentowane, takie jak powiązania z biblioteką FFTW lub
GSL. Przeczytaj!
biblioteki
· PDL::Złożony
Obsługa liczb zespolonych. Nie, język PDL nie ma wbudowanej obsługi liczb zespolonych
core, ale to powinno ci pomóc.
· PDL::FFT
Własna szybka transformata Fouriera PDL. Jeśli masz FFTW, prawdopodobnie powinieneś skorzystać
z tego; jest to wewnętrzna implementacja PDL i powinna być zawsze dostępna.
· GSL
PDL nie ma powiązań dla każdej podbiblioteki Biblioteki Naukowej GNU, ale tak
ma ich całkiem sporo. Jeśli masz zainstalowany GSL na swoim komputerze, szanse są przyzwoite
że Twój PDL ma powiązania GSL. Aby uzyskać pełną listę powiązań GSL, sprawdź
PDL::Indeks.
· PDL::Funkcja
Dość jednolity interfejs do różnych modułów interpolacji w języku PDL.
· PDL::Zły
Zawiera podstawowe funkcje związane ze złymi wartościami, w tym funkcje sprawdzające, czy występuje piddle
ma złe wartości („isbad”) i funkcje ustawiające pewne elementy jako złe („setbadat” i
„setbadif”). Złe wartości są używane między innymi w PDL::Graphics::PLplot
xyplot, aby zrobić przerwę na wykresie liniowym.
· PDL::DiskCache
Fajny moduł, który pozwala powiązać tablicę Perla z kolekcją plików na twoim komputerze
dysku, który będzie ładowany do i z pamięci jako piddle. Jeśli odnajdziesz siebie
pisanie skryptów do przetwarzania wielu plików danych, zwłaszcza jeśli takie przetwarzanie danych nie jest
koniecznie w kolejności, powinieneś rozważyć użycie PDL::DiskCache.
· PDL::Char
Podklasa PDL, która umożliwia przechowywanie kolekcji o stałej długości i manipulowanie nimi
ciągi znaków przy użyciu języka PDL.
· PDL::Image2D
Cały zbiór metod manipulowania obrazami, których dane obrazu są przechowywane w pliku
siusiać. Należą do nich metody splotów (wygładzania), wypełnień wielokątów, skalowania,
obrót i wypaczenie, między innymi.
· PDL::ImageND
Zawiera kilka funkcji, które są koncepcyjnie związane z przetwarzaniem obrazu, ale które
można zdefiniować dla danych wielowymiarowych. Na przykład moduł ten definiuje wysokiej
splot wymiarowy i interpolacja, między innymi.
· PDL::ImageRGB
Definiuje kilka przydatnych funkcji do pracy z danymi obrazu RBG. To nie jest zbyt charakterystyczne-
pełny, ale może mieć coś, czego potrzebujesz, a jeśli nie, zawsze możesz dołożyć więcej!
· PDL::Transformacja
Tworzy klasę transformacji, która umożliwia tworzenie różnych transformacji współrzędnych.
Na przykład, jeśli dane są zbiorem współrzędnych kartezjańskich, można utworzyć
przekształcić obiekt, aby przekonwertować go na współrzędne sferyczno-biegunowe (chociaż wiele takich
standardowe transformacje współrzędnych są dla Ciebie predefiniowane, w tym przypadku nazywa się to
„t_sferyczny”).
· PDL::Opt::Simplex
Pakiet ten stwierdza, że „implementuje powszechnie stosowaną optymalizację simplex
algorytm.” Założę, że jeśli potrzebujesz tego algorytmu, to już wiesz
co to jest.
· PDL::Math
Zbiór dość standardowych funkcji matematycznych, takich jak odwrotna funkcja trygonometryczna
funkcje, funkcje hiperboliczne i ich odwrotności i inne. Ten moduł jest
zawarte w standardowym wywołaniu „użyj PDL”, ale nie w wersjach Lite.
· PDL::Matrix
Udostępnia kilka funkcji korzystających ze standardowej matematycznej notacji macierzowej wierszy
indeksowanie kolumn zamiast wiersza kolumny w standardzie PDL. Wygląda na to, że ten moduł
nie został dokładnie przetestowany z innymi modułami, więc chociaż powinien działać z innymi
moduły, nie zdziw się, jeśli coś się zepsuje podczas ich używania (i nie krępuj się
zaoferować wszelkie poprawki, które możesz opracować).
· PDL::MatrixOps
Zapewnia wiele standardowych operacji na macierzach dla piddle'ów, takich jak obliczanie wartości własnych,
odwracanie macierzy kwadratowych, rozkład LU i rozwiązywanie układu równań liniowych.
Chociaż nie jest zbudowany na PDL::Matrix, powinien ogólnie działać z tym modułem.
Ponadto metody udostępniane przez ten moduł nie zależą od bibliotek zewnętrznych, takich jak
Slatec lub GSL.
· PDL::Redukuj
Implementuje interfejs do wszystkich funkcji, które zwracają piddle o jeden mniej
wymiar (na przykład „sumover”), tak że można je wywołać, podając ich
nazwa jako ciąg.
Workflow
· PDL::AutoLoader
Włącza automatyczne ładowanie w stylu Matlaba. Kiedy wywołujesz nieznaną funkcję, zamiast
narzekając i marudząc, PDL będzie szperał w katalogach, które określisz
wyszukiwanie pliku o podobnej nazwie. Szczególnie przydatne w przypadku użycia z powłoką Perldl.
· PDL::Dbg
Deklaruje funkcję „px”, która może być przydatna do debugowania skryptów PDL i/lub
Polecenia powłoki Perldl.
· PDL::Opcje
Załóżmy, że definiujesz potężną, wszechstronną funkcję. Są duże szanse, że to zrobisz
zaakceptuj argumenty w postaci skrótu lub hashref. Teraz stoisz przed problemem
przetwarzanie tego hashref. PDL::Options pomaga w pisaniu kodu do ich przetwarzania
opcje. (Można by pomyśleć, że w Perlu leży mnóstwo tego rodzaju modułów,
ale nie mogłem znaleźć żadnego.) Uwaga: użycie tego modułu nie jest zależne od języka PDL
instalacja.
· PDL::pdldoc
Czy kiedykolwiek uruchamiałeś powłokę Perldl, aby sprawdzić pomoc dotyczącą konkretnej funkcji?
Zamiast tego możesz użyć „pdldoc”. Ten skrypt powłoki wyodrębnia informacje z pomocy
indeks bez konieczności uruchamiania powłoki Perldl.
Zaawansowany Stosowanie
Rodzaje modułów i dokumentacji, których będziesz używać, pisząc moduły korzystające z języka PDL,
lub jeśli pracujesz nad konserwacją PDL. Moduły te mogą być trudne w użyciu, ale umożliwiają
aby uporać się z niektórymi trudniejszymi problemami.
· PDL::Lite, PDL::LiteF
Lite-zamienniki „użyj PDL” z punktu widzenia zanieczyszczenia przestrzeni nazw i
czas ładowania.
· Inline::Pdlpp
Zostało to wspomniane wcześniej. Zanim zaczniesz czytać o PDL::PP (następny), powinieneś
przypomnij sobie, jak z tego korzystać. Inline::Pdlpp pomoże Ci eksperymentować
PDL::PP bez konieczności zadawania sobie trudu budowania modułu i konstruowania
makefiles (ale zobacz PDL::pptemplate, aby uzyskać pomoc na ten temat).
· PDL::PP
Preprocesor PDL, który znacznie upraszcza zabawę z kodem C lub Fortran
Perl i piddles. Większość podstawowej funkcjonalności PDL jest napisana przy użyciu PDL::PP, więc if
zastanawiasz się, jak zintegrować bibliotekę numeryczną napisaną w C,
nie szukaj dalej.
· PDL::pptemplate
Skrypt automatyzujący tworzenie modułów korzystających z PDL::PP, które należy wykonać
Twoje życie jako autora modułu stanie się nieco prostsze.
· PDL::CallExt
Umożliwia wywoływanie funkcji przy użyciu zewnętrznych bibliotek współdzielonych. To jest alternatywa
do korzystania z PDL::PP. Główną różnicą między PDL::PP i PDL::CallExt jest to, że
pierwsza obsłuży dla Ciebie gwintowanie ponad ukrytymi wymiarami gwintu, natomiast
PDL::CallExt po prostu wywołuje funkcję zewnętrzną. Ogólnie zaleca się PDL::PP
sposób na połączenie kodu z PDL, ale nie byłby to Perl, gdyby nie było innego
sposób to zrobić.
· PDL::Config
Definiuje skrót %PDL::Config, który zawiera wiele przydatnych informacji odnoszących się do Twojego
Wersja PDL.
· PDL::Doc
Wyjaśnienie konwencji dokumentacji PDL i interfejs do PDL
Parser dokumentacji. Przestrzegaj tych wskazówek podczas pisania dokumentacji dla języka PDL
funkcje sprawią, że Twoja wspaniała dokumentacja będzie dostępna z perldl
Shell i z wywołań do „barf”. (Czy zauważyłeś, że „barf” korzystał z twojej dokumentacji?
Czas ponownie przeczytać PDL::Core...)
· PDL::Eksporter
Prosty zamiennik standardowego modułu Exportera. Jedyna zasadnicza różnica jest taka
że domyślnie importowane moduły to te oznaczone „:Func”.
· PDL::Typy
Definiuje kilka przydatnych funkcji do uzyskiwania typu piddle'a, a także do uzyskiwania
informacje o tym typie.
· PDL::Wersja
Po prostu definiuje skalar $PDL::Version::Version z bieżącą wersją PDL, jako
zdefiniowane w PDL.pm. Jest to najbardziej przydatne, jeśli dystrybuujesz własny moduł w CPAN, użyj
PDL::Lite lub PDL::LiteF i chcesz mieć pewność, że Twoi użytkownicy mają wystarczająco aktualne
wersja PDL. Ponieważ zmienna jest zdefiniowana w PDL.pm, nie potrzebujesz tego modułu
jeśli „używasz PDL”.
Ekspert Stosowanie
· PDL::Core::Dev
Zapewnia kilka całkiem przydatnych funkcji, które są potrzebne tylko w języku PDL
Tragarze.
· PDL::API
Wyjaśnia, jak zrobić piddle by ręka, z Perla lub kodu źródłowego C, używając PDL
API.
· PDL::Internals
Wyjaśnia szczegóły struktur danych PDL. Po przeczytaniu tego (kilka razy
:), powinieneś być w stanie stworzyć piddle całkowicie od zera (tj. bez użycia
API PDL). Inaczej mówiąc, jeśli chcesz zrozumieć, jak działa PDL::PP,
musisz to przeczytać.
PRAWA AUTORSKIE
Prawa autorskie 2010 David Mertens ([email chroniony]). Możesz rozpowszechniać i/lub modyfikować
tego dokumentu na tych samych warunkach, co bieżąca licencja Perla.
Zobacz: http://dev.perl.org/licenses/
Korzystaj z PDL::Coursep online, korzystając z usług onworks.net