Perl Data Language

Perl Data Language
Perl Data Language (PDL)
Класс языка:

векторная (en:Array programming)

Появился в:

1996

Автор(ы):

Карл Глейзбрук, Шарль Бринчманн, Томас Лукка и Кристиан Соллер

Релиз:

2.4.11 (20 мая 2012)

Испытал влияние:

APL, IDL, Perl

Лицензия

GNU General Public License, Artistic License

Сайт:

pdl.perl.org

PDL (сокращение от англ. Perl Data Language) — набор векторных расширений для языка программирования Perl 5-й версии. Предназначен для научных расчётов и иных задач, связанных с обработкой больших объёмов данных, в том числе: обработка изображений, компьютерное моделирование физических систем.

PDL подключается к Perl программе при помощи: use PDL;

Содержание

Дизайн языка

PDL является векторным языком: синтаксис выражений сходен с стандартными математическими обозначениями операций над векторами многомерными матрицами. В этом отношении PDL сходен с языком программирования APL и часто сравнивается с MATLAB, Interactive Data Language, NumPy и Octave. В отличие от MATLAB и IDL, язык PDL допускает более гибкую индексацию и векторизацию, например, если в функцию, обрабатывающую двумерные матрицы, подать трёхмерную, то функция будет применена послойно к каждому слою куба.

На начало 2005, функциональность, сходная с PDL, планировалась к включению в шестую версию языка (Perl 6).

Графика

График, полученный при помощи PDL

PDL предоставляет интерфейсы к нескольким модулям для создания графиков. NetPBM используется для ввода-вывода изображений; PLplot, PGPLOT и Karma используются для двумерной графики. Для трёхмерной графики используется интерфейс OpenGL.

Ввод-вывод

PDL предоставляет возможности для чтения и записи данных в различных форматах, включая JPEG, PNG, GIF, PPM, MPEG, FITS, NetCDF, GRIB, двоичные файлы, CSV.

perldl

Вместе с PDL обычно устанавливается интерактивный интерпретатор perldl, который позволяет производить несложные вычисления без необходимости создания файлов с текстом программы. Пример работы с perldl:

 perldl> $x = pdl [[1, 2], [3, 4]];
 
 perldl> $y = pdl [[5, 6, 7], [8, 9, 0]];
 
 perldl> $z = $x x $y;
 
 perldl> p $z;
 
 [
  [21 24  7]
  [47 54 21]
 ]

В данном примере создаются две матрицы и затем, при помощи перегруженного оператора x, выполняется матричное умножение. Команда p является сокращением для print.

Реализация

Ядро PDL реализовано на языке Си. Значительная часть функциональности реализована на PP, метаязыке PDL. Некоторые модули написаны на FORTRAN, с интерфейсом к C или PP. PP упрощает написание расширений к PDL на языке Си.

Реализация PDL использует объектно-ориентированные возможности Perl: PDL определяет новый скалярный объект типа «PDL» (часто обозначается piddle, ведет себя подобно скалярным типам), содержащий матрицы произвольной размерности. Все стандартные операторы языка перегружены для прозрачной поддержки объектов piddle. В отличие от стандартных массивов языка, piddle изначально разрабатывались для эффективной численной обработки

Литература

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Perl Data Language" в других словарях:

  • Perl Data Language — PDL (short for Perl Data Language) is a set of array programming extensions to the Perl programming language.PDL is an extension to Perl v5, intended for scientific and other data intensive programming tasks. Perl s data structures are intended… …   Wikipedia

  • Perl — Desarrollador(es) Larry Wall www.perl.org Información general Paradigma multiparadigma, funcional, im …   Wikipedia Español

  • Perl — This article is about the programming language. For other uses, see Perl (disambiguation). Perl Paradig …   Wikipedia

  • Perl Object-Oriented Persistence — (POOP) is the term given to refer to object relational mapping mechanisms written in the Perl programming language to provide object persistence. Dave Rolsky divides POOP mechanisms into two categories:* RDBMS OO Mappers: These tools attempt to… …   Wikipedia

  • Perl 6 — Infobox programming language name = Perl paradigm = Multi paradigm year = 2000 designer = Larry Wall latest release version = pre release latest release date = typing = dynamic, static influenced by = Perl 5, Haskell, Smalltalk influenced =… …   Wikipedia

  • Perl OpenGL — Infobox Software name = Perl OpenGL caption = A screenshot illustrating FBO and Vertex/Fragment program extensions via POGL developer = Stan Melax, Kenneth Albanowski, Ilya Zakharevich, Jean Louis Morel, Bob Free latest release version = 0.57… …   Wikipedia

  • Perl Object Environment — For the Mach variant, see Mach kernel The Perl Object Environment or POE is a library of Perl modules written in the Perl programming language by Rocco Caputo et alia. From CPAN:: POE originally was developed as the core of a persistent object… …   Wikipedia

  • Perl module — A Perl module is a discrete component of software for the Perl programming language. Technically, it is a particular set of conventions for using Perl s package mechanism that has become universally adopted.[discuss] A module defines its source… …   Wikipedia

  • PERL — Paradigmen: prozedural, modular, teilweise objektorientiert Erscheinungsjahr: 1987 Entwickler: Larry Wall, Perl Porter Aktuelle  …   Deutsch Wikipedia

  • Perl (Programmiersprache) — Perl Paradigmen: prozedural, modular, teilweise objektorientiert Erscheinungsjahr: 1987 Entwickler: Larry Wall, Perl Porter Aktuelle Version …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»