Це команда PDL::Coursep, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.
ПРОГРАМА:
ІМ'Я
PDL::Course - Подорож по документації PDL, від початківця до просунутого.
АВТОР, ДАТА ПРОВЕДЕННЯ
Це написав Девід Мертенс з редагуванням Даніеля Каррери.
Передмова
Документація PDL обширна. Деякі розділи охоплюють глибинну магію, а інші –
більш звичні теми, як-от IO та числові обчислення. Як вони пов’язані? Де треба
ти починаєш?
Цей документ є спробою об’єднати всю ключову PDL-документацію в єдине ціле
навчальний курс, починаючи від початкового рівня, закінчуючи експертом.
Я розбив усе за рівнем знань, і в межах знань я охопив
модулі документації, бібліотеки та робочого процесу. Модулі документації корисні для
що вони вам кажуть; модулі бібліотеки корисні для функцій, які вони визначають
ти; модулі робочого процесу корисні тим, що вони дозволяють вам виконувати свою роботу
новими та іншими способами.
Вступний
Якщо ви новачок у PDL, ці модулі документації допоможуть вам правильно розпочати роботу
шлях для використання PDL.
документація
Модулі, які розповідають, як почати використовувати PDL. Багато з них є бібліотечними модулями
технічно, але вони включені, коли ви «використовуєте PDL», тому я включив їх для них
документація.
Після перших трьох більшість документів, перерахованих нижче, досить сухі. Можливо, вони були б
краще узагальнювати за допомогою таблиць або кращих конспектів. Ви повинні принаймні просканувати їх до
ознайомитися з основними можливостями PDL.
· PDL::Філософія, PDL::QuickStart
Кілька коротких вступів до PDL. Другий трохи більш практичний. Якщо ви
є новими в PDL, вам слід почати з них.
· PDL::Basic
Охоплює основні підпрограми створення piddle, такі як "послідовність", "rvals" і "logxvals" для іменування
кілька випадкових. Також охоплює "hist" і "transpose".
· PDL::Ufunc
Пояснює велику колекцію вбудованих функцій, які, враховуючи вікно N-виміру,
створить piddle з розмірами N-1.
· PDL::NiceSlice
PDL досяг повноліття на рубежі тисячоліть, і NiceSlice з'явився
сцена трохи після цього. Деякі документи досі не наздогнали. NiceSlice є
«сучасний» спосіб нарізати скибочки. Прочитайте синопсис, а потім прокрутіть вниз
до нового синтаксису нарізки. Після того, як ви дочитаєте до кінця, поверніться і прочитайте
речі вгорі.
· PDL::Примітивний
Визначає цілу низку корисних вбудованих функцій. Це такі речі
початківці, швидше за все, пишуть до списку і скажуть: "Як зробити xxx?" Ви б були
добре, на вашому шляху до вивчення мотузок після того, як ви ознайомилися з цим документом.
· Вибір з PDL::Core
Як і PDL::Primitive, визначає великий набір корисних функцій. На жаль, деякі з
функції досить езотеричні, але змішані з іншими простими і
легкі. Перегляньте весь документ, пропускаючи наразі складні функції.
Я б особливо відзначив функцію "прибл.".
Workflow
· Оболонка perldl або pdl2
Оболонка Perldl — це REPL (Read-Evaluate-Print-Loop, іншими словами, підказка або
shell), що дозволяє вам працювати з PDL (або будь-яким Perl, якщо на те пішло) у «реальному часі»,
завантаження даних з файлів, побудова графіків, маніпулювання... Все, що ви можете зробити в сценарії,
ви можете зробити в PDL Shell з миттєвим зворотним зв’язком!
Libraries
· ПДЛ
Основний модуль робочої конячки. Ви включите це майже в кожну програму PDL, яку ви пишете.
нормальний Використання
Типи модулів, які ви, ймовірно, будете використовувати на звичайній основі в сценаріях або зсередини
оболонка perldl. Деякі з цих модулів ви, можливо, ніколи не використовуєте, але ви все одно повинні знати
що вони існують, на випадок, якщо вам знадобиться їхня функціональність.
документація
· PDL::Зрізи
На додаток до пояснення оригінальних функцій нарізки та нарізки кубиків - для чого ви
зазвичай можна використовувати PDL::NiceSlice - це також охоплює багато функцій обробки розмірів
наприклад "mv", "xchg" і "reorder". Це також ретельно документує "діапазон"
функція, яка може бути дуже потужною, і охоплює ряд внутрішніх функцій, які
можливо, можна пропустити.
· PDL::Індексування
Це охоплює велику частину глибшого концептуального підґрунтя, який вам потрібно буде зрозуміти
використовувати PDL на весь потенціал. З часом все стає складнішим, тому не будьте
турбує вас, якщо ви втрачаєте інтерес на півдорозі. Проте читання
цей документ повністю наблизить вас до просвітлення PDL.
· PDL::IO
PDL має досить багато модулів введення-виведення, більшість з яких обговорюється в цьому зведеному модулі.
· PDL::Поради
Збірка деяких ідей Туомаса щодо ефективного використання PDL.
· PDL::BadValues
Пояснює, що таке погані цінності, як і чому вони реалізуються.
· Вибір із Inline::Pdlpp
Хоча написання коду PDL::PP вважається розширеною темою і висвітлюється в
У наступному розділі ви повинні знати, що це можливо (і напрочуд просто).
написати код з підтримкою PDL. На даний момент вам не потрібно читати повністю, але щоб отримати щось
відчуйте, як це працює, ви повинні прочитати все до першого прикладу. А
копія цієї документації міститься в PDL::PP-Inline.
· PDL::Об'єкти
Пояснює, як підкласувати об’єкт piddle.
· PDL::Індекс
Про це йшлося у передмові. Це автоматично згенерований файл зі списками
всі модулі PDL на вашому комп’ютері. У вас може бути багато модулів
машині, але які тут не задокументовані, наприклад прив’язки до бібліотеки FFTW або
GSL. Дайте прочитати!
Libraries
· PDL::Комплекс
Підтримка комплексних чисел. Ні, PDL не має вбудованої підтримки комплексних чисел
ядро, але це має допомогти вам.
· PDL::FFT
Власне швидке перетворення Фур’є PDL. Якщо у вас є FFTW, то вам, ймовірно, варто скористатися
його; це внутрішня реалізація PDL і завжди має бути доступною.
· GSL
PDL не має прив’язок для кожної підбібліотеки в Науковій бібліотеці GNU, але
має досить багато. Якщо на вашому комп’ютері встановлено GSL, шанси є пристойними
що ваш PDL має прив’язки GSL. Повний список прив’язок GSL див
PDL::Індекс.
· PDL::Func
Дещо однорідний інтерфейс для різних модулів інтерполяції в PDL.
· PDL::Погано
Включає деякі основні функції з поганим значенням, включаючи функції для запиту, чи є piddle
має погані значення ("isbad") і функції для встановлення певних елементів як поганих ("setbadat" і
"setbadif"). Серед іншого, погані значення використовуються в PDL::Graphics::PLplot
xyplot, щоб зробити розрив у лінійному графіку.
· PDL::DiskCache
Чудовий модуль, який дозволяє прив’язати масив Perl до колекції файлів на вашому
диск, який буде завантажуватися в пам'ять і виходити з неї як piddles. Якщо ви знайдете себе
написання сценаріїв для обробки багатьох файлів даних, особливо якщо ця обробка даних не є
обов'язково в послідовному порядку, вам слід розглянути можливість використання PDL::DiskCache.
· PDL::Char
Підклас PDL, який дозволяє зберігати та маніпулювати колекціями фіксованої довжини
символьні рядки за допомогою PDL.
· PDL::Image2D
Ціла колекція методів для маніпулювання зображеннями, дані зображення яких зберігаються в a
piddle. Сюди входять методи згортки (згладжування), заливки багатокутників, масштабування,
обертання, викривлення, серед іншого.
· PDL::ImageND
Містить кілька функцій, які концептуально пов’язані з обробкою зображень, але які
можна визначити для даних більшої розмірності. Для прикладів цей модуль визначає високі
розмірна згортка та інтерполяція, серед інших.
· PDL::ImageRGB
Визначає деякі корисні функції для роботи з даними зображення RBG. Це не дуже особливість -
повний, але він може мати те, що вам потрібно, а якщо ні, ви завжди можете додати більше!
· PDL::Перетворення
Створює клас трансформації, який дозволяє створювати різні перетворення координат.
Наприклад, якщо ваші дані є набір декартових координат, ви можете створити a
трансформувати об’єкт для перетворення їх у сферично-полярні координати (хоча багато таких
стандартні перетворення координат попередньо визначені для вас, у цьому випадку це називається
"t_сферичний").
· PDL::Opt::Simplex
У цьому пакеті зазначено, що він «реалізує поширену симплексну оптимізацію
алгоритм." Я збираюся припустити, що якщо вам потрібен цей алгоритм, ви вже знаєте
що це.
· PDL::Математика
Набір досить стандартних математичних функцій, як-от обернена тригонометрична
функції, гіперболічні функції та їх обернені та ін. Цей модуль є
включено в стандартний заклик «використовувати PDL», але не у версіях Lite.
· PDL::Матриця
Надає кілька функцій, які використовують стандартну математичну матричну нотацію рядка
індексація стовпців, а не стандартний рядок стовпця PDL. Виявляється, цей модуль
не був ретельно перевірений з іншими модулями, тому, хоча він повинен працювати з іншими
модулів, не дивуйтеся, якщо під час використання щось зламається (і не соромтеся
запропонуйте будь-які виправлення, які ви можете розробити).
· PDL::MatrixOps
Забезпечує багато стандартних матричних операцій для piddles, таких як обчислення власних значень,
інвертування квадратних матриць, LU-розкладання та розв’язування системи лінійних рівнянь.
Хоча він не побудований на PDL::Matrix, він зазвичай повинен працювати з цим модулем.
Крім того, методи, надані цим модулем, не залежать від зовнішніх бібліотек, таких як
Slatec або GSL.
· PDL::Зменшити
Реалізує інтерфейс до всіх функцій, які повертають додатки на один менше
вимір (наприклад, "sumover"), такий, що їх можна викликати, додавши їх
ім'я у вигляді рядка.
Workflow
· PDL::Автозавантажувач
Вмикає автоматичне завантаження в стилі Matlab. Коли ви викликаєте невідому функцію, замість
скаржачись і квакаючи, PDL буде шукати в каталогах, які ви вкажете
пошук файлу з однаковою назвою. Особливо корисно при використанні з Perldl Shell.
· PDL::Dbg
Оголошує функцію "px", яка може бути зручною для налагодження ваших скриптів PDL та/або
команди оболонки perldl.
· PDL::Параметри
Припустимо, ви визначаєте потужну, універсальну функцію. Великі шанси, що ви так
прийняти аргументи у вигляді хеша або хешреф. Тепер ви зіткнулися з проблемою
обробка цього hashref. PDL::Options допомагає вам написати код для їх обробки
варіанти. (Можна подумати, що Perl матиме купу таких модулів,
але я не знайшов жодного.) Зауважте, що цей модуль не залежить від PDL для його використання або
установка.
· PDL::pdldoc
Ви коли-небудь запускали оболонку perldl, щоб знайти довідку для певної функції?
Замість цього можна використовувати "pdldoc". Цей сценарій оболонки витягує інформацію з довідки
індексу без необхідності запускати оболонку perldl.
Розширений Використання
Види модулів і документації, які ви будете використовувати, якщо ви пишете модулі, які використовують PDL,
або якщо ви працюєте з обслуговування PDL. Ці модулі можуть бути складними у використанні, але вони дозволяють
щоб вирішити деякі з ваших складніших проблем.
· PDL::Lite, PDL::LiteF
Lite-weight заміни для «використання PDL», з точки зору забруднення простору імен і
час завантаження.
· Inline::Pdlpp
Про це згадувалося раніше. Перш ніж почати читати про PDL::PP (далі), ви повинні
нагадайте собі, як цим користуватися. Inline::Pdlpp допоможе вам поекспериментувати
PDL::PP без необхідності складати модуль та конструювати
make-файли (але дивіться PDL::pptemplate, щоб отримати допомогу з цього приводу).
· PDL::PP
Попередній процесор PDL, який значно спрощує роботу з кодом C або Fortran
Perl і piddles. Більшість основних функцій PDL написані за допомогою PDL::PP, тож якщо
ви думаєте про те, як інтегрувати якусь числову бібліотеку, написану на C,
не дивіться далі.
· Шаблон PDL::pp
Сценарій, який автоматизує створення модулів, які використовують PDL::PP, які повинні зробити
Ваше життя як автора модуля трохи простіше.
· PDL::CallExt
Дозволяє викликати функції за допомогою зовнішніх спільних бібліотек. Це альтернатива
використовувати PDL::PP. Основна відмінність між PDL::PP і PDL::CallExt полягає в тому, що
колишній оброблятиме потоки над неявними розмірами потоку для вас, тоді як
PDL::CallExt просто викликає зовнішню функцію. Зазвичай рекомендований PDL::PP
спосіб взаємодії вашого коду з PDL, але це не був би Perl, якби не було іншого
спосіб це зробити.
· PDL::Config
Визначає хеш %PDL::Config, який містить багато корисної інформації, що стосується вашого
Збірка PDL.
· PDL::Doc
Пояснення умов документації PDL та інтерфейс до PDL
Парсер документації. Дотримуйтесь цих рекомендацій при написанні документації для PDL
функції забезпечать доступ до вашої чудової документації з perldl
shell і від дзвінків до "barf". (Ви помітили, що "barf" використовував вашу документацію?
Час перечитати PDL::Core...)
· PDL::Експортер
Проста заміна стандартного модуля Exporter. Єдина істотна відмінність
що імпортованими за замовчуванням модулями є модулі, позначені ':Func'.
· PDL::Типи
Визначає деякі корисні функції для отримання типу piddle, а також отримання
інформація про цей тип.
· PDL::Версія
Просто визначає скалярний $PDL::Version::Version з поточною версією PDL, як
визначено в PDL.pm. Це найбільш корисно, якщо ви поширюєте свій власний модуль на CPAN, використовуйте
PDL::Lite або PDL::LiteF і хочете переконатися, що ваші користувачі мають достатньо
версія PDL. Оскільки змінна визначена в PDL.pm, вам не потрібен цей модуль
якщо ви "використовуєте PDL".
Експерт Використання
· PDL::Core::Dev
Надає деякі пристойно корисні функції, які майже потрібні лише PDL
Носильники.
· PDL::API
Пояснює, як зробити піддл by рука, з Perl або вашого вихідного коду C, використовуючи PDL
API.
· PDL::Internals
Пояснює тонкощі структур даних PDL. Прочитавши це (кілька разів
:), ви повинні мати можливість створити piddle повністю з нуля (тобто без використання
API PDL). Скажіть трохи інакше, якщо ви хочете зрозуміти, як працює PDL::PP,
вам потрібно буде це прочитати.
АВТОРСЬКЕ
Авторське право 2010 Девід Мертенс ([захищено електронною поштою]). Ви можете розповсюджувати та/або змінювати
цей документ на тих самих умовах, що й поточна ліцензія Perl.
Див: http://dev.perl.org/licenses/
Використовуйте PDL::Coursep онлайн за допомогою служб onworks.net