पर्ल डेटा लैंग्वेज

पर्ल डेटा लैंग्वेज (संक्षिप्त रूप में पीडीएल) पर्ल के लिए मुफ्त सॉफ्टवेयर ऐरे प्रोग्रामिंग एक्सटेंशन का एक सेट है। पीडीएल बड़ी ऐरे डेटा संरचना को सम्मिलित करने के लिए पर्ल में निर्मित डेटा संरचनाओं का विस्तार करता है, और उन ऐरे को वेक्टर ऑब्जेक्ट के रूप में हेरफेर करने के लिए कार्यक्षमता जोड़ता है। यह मूर्ति प्रोद्योगिकी,  यंत्र अधिगम , भौतिक प्रणालियों के कंप्यूटर मॉडलिंग और ग्राफिकल प्लॉटिंग और प्रस्तुति के लिए उपकरण भी प्रदान करता है। सरल संचालन स्वचालित रूप से संपूर्ण सरणियों में वेक्टरकृत होते हैं, और उच्च-आयामी संचालन (जैसे आव्यूह गुणन) समर्थित होते हैं।

लैंग्वेज डिज़ाइन
पीडीएल एक वेक्टरकृत सरणी प्रोग्रामिंग लैंग्वेज है: अभिव्यक्ति वाक्यविन्यास मानक गणितीय वेक्टर (ज्यामितीय) नोटेशन पर एक भिन्नता है, जिससे उपयोगकर्ता सरल अभिव्यक्तियों के साथ बड़े सरणी पर संयोजन और संचालन कर सके। इस संबंध में, पीडीएल एपीएल प्रोग्रामिंग लैंग्वेज के नक्शेकदम पर चलता है, और इसकी तुलना MATLAB और इंटरैक्टिव डेटा लैंग्वेज जैसी व्यावसायिक भाषाओं और अन्य मुफ्त भाषाओं जैसे NumPy और GNU Octave#Octave.2C लैंग्वेज से की गई है। MATLAB और IDL के विपरीत, PDL अनुक्रमण और वैश्वीकरण में महान लचीलेपन की अनुमति देता है: उदाहरण के लिए, यदि एक सबरूटीन सामान्य रूप से 2-डी आव्यूह (गणित) सरणी पर काम करता है, तो इसे 3-डी डेटा क्यूब पास करने से सामान्यतः क्यूब की प्रत्येक 2-डी परत पर समान ऑपरेशन होगा।

पीडीएल पर्ल से कम से कम तीन मूलभूत प्रकार की प्रोग्राम संरचना उधार लेता है: अनिवार्य प्रोग्रामिंग, कार्यात्मक प्रोग्रामिंग, और पाइपलाइन प्रोग्रामिंग फॉर्म संयुक्त हो सकते हैं। सबरूटीन्स को या तो अंतर्निहित ऑटो लोड तंत्र के माध्यम से या सामान्य पर्ल मॉड्यूल तंत्र के माध्यम से लोड किया जा सकता है।

ग्राफिक्स
पर्ल की गोंद लैंग्वेज जड़ों के अनुरूप, पीडीएल ग्राफिक्स और प्लॉटिंग समर्थन के लिए अनेक अलग-अलग मॉड्यूल से उधार लेता है। NetPBM छवि फ़ाइल I/O प्रदान करता है (चूँकि एफआईटीएस मूल रूप से समर्थित है)। Gnuplot, PLplot, PGPLOT, और प्राइमा (ग्राफिक्स सॉफ्टवेयर) मॉड्यूल 2-डी ग्राफिक्स और प्लॉटिंग अनुप्रयोगों के लिए समर्थित हैं, और Gnuplot और OpenGL 3-डी प्लॉटिंग और रेंडरिंग के लिए समर्थित हैं।

इनपुट/आउटपुट
पीडीएल जेपीईजी, पोर्टेबल नेटवर्क ग्राफ़िक्स,  GIF , पोर्टेबल पिक्समैप, एमपीईजी, एफआईटीएस, नेटसीडीएफ, जीआरआईबी, कच्ची बाइनरी फाइलें और सीमांकित एएससीआईआई तालिकाओं सहित अनेक संवृत डेटा प्रारूपों को पढ़ने और लिखने की सुविधाएं प्रदान करता है। पीडीएल प्रोग्रामर सैकड़ों मानक और विशिष्ट फ़ाइल स्वरूपों में डेटा को पढ़ने और लिखने के लिए सीपीएएन पर्ल इनपुट/आउटपुट लाइब्रेरी का उपयोग कर सकते हैं।

मशीन लर्निंग
पीडीएल का उपयोग मशीन लर्निंग के लिए किया जा सकता है। इसमें ऐसे मॉड्यूल सम्मिलित हैं, जिनका उपयोग क्लासिक k-मीन क्लस्टरिंग या सामान्य और सामान्यीकृत रैखिक मॉडलिंग विधियों जैसे एनोवा, रैखिक रिग्रेशन, पीसीए और लॉजिस्टिक रिग्रेशन को करने के लिए किया जाता है। रिग्रेशन मॉडलिंग कार्यों के लिए पीडीएल उपयोग के उदाहरणों में शिक्षा प्राप्ति और माता-पिता की वंशावली के अंतर के बीच संबंध का मूल्यांकन करना सम्मिलित है, आरएनए-प्रोटीन इंटरैक्शन प्रोफाइल की तुलना जिसके लिए रिग्रेशन-आधारित सामान्यीकरण की आवश्यकता होती है और आकाशगंगाओं के स्पेक्ट्रा का विश्लेषण।

perldl
पीडीएल की स्थापना सामान्यतः एक इंटरैक्टिव शैल (कंप्यूटिंग)  के साथ आती है जिसे Perldl के नाम से जाना जाता है, जिसका उपयोग उपयोगकर्ता को पर्ल प्रोग्राम फ़ाइल बनाने की आवश्यकता के बिना सरल गणना करने के लिए किया जा सकता है। Perldl का एक विशिष्ट सेशन कुछ इस प्रकार दिखाई देगा:

शेल में उपयोग किए गए कमांड पर्ल स्टेटमेंट हैं, जिनका उपयोग  मॉड्यूल वाले किसी प्रोग्राम में किया जा सकता है। सम्मिलित है.   आव्यूह गुणन के लिए एक अतिभारित ऑपरेटर है, और अंतिम कमांड में    एक   के लिए एक शॉर्टकट है।

कार्यान्वयन
पीडीएल का मूल C (प्रोग्रामिंग लैंग्वेज) में लिखा गया है। अधिकांश कार्यक्षमता पीपी में लिखी गई है, एक पीडीएल-विशिष्ट धातुभाषा जो सरल C स्निपेट्स के वेक्टराइजेशन को संभालती है और उन्हें पर्ल के एक्सएस (पर्ल) कंपाइलर के माध्यम से पर्ल होस्ट लैंग्वेज के साथ इंटरफेस करती है। कुछ मॉड्यूल सी/पीपी इंटरफ़ेस परत के साथ फोरट्रान में लिखे गए हैं। आपूर्ति किए गए अनेक फ़ंक्शन पीडीएल में ही लिखे गए हैं। पीपी उपयोगकर्ता को पीडीएल में C-लैंग्वेज एक्सटेंशन लिखने के लिए उपलब्ध है। एक इनलाइन मॉड्यूल (इनलाइन::पीडीएलपीपी) भी है, जो पीपी फ़ंक्शन परिभाषाओं को सीधे पर्ल स्क्रिप्ट में डालने की अनुमति देता है; प्रासंगिक कोड को निम्न-स्तरीय संकलित किया गया है और पर्ल सबरूटीन के रूप में उपलब्ध कराया गया है।

पीडीएल एपीआई मूल पर्ल 5 ऑब्जेक्ट-ओरिएंटेड कार्यक्षमता का उपयोग करता है: पीडीएल एक नए प्रकार के पर्ल स्केलर ऑब्जेक्ट को परिभाषित करता है (जिसे पीडीएल या "एनडीएरे" कहा जाता है) जो पर्ल स्केलर के रूप में कार्य करता है, लेकिन इसमें पारंपरिक डेटा प्रकार ऐरे डेटा प्रकार के संख्यात्मक या करैक्टर मान सम्मिलित होते हैं। सभी मानक पर्ल ऑपरेटर अतिभारित हैं जिससे उन्हें पीडीएल ऑब्जेक्ट पर पारदर्शी रूप से उपयोग किया जा सके, और पीडीएल को सामान्य पर्ल स्केलर के साथ मिश्रित और मिलान किया जा सके। पीडीएल पर संचालन के लिए अनेक सौ ऑब्जेक्ट विधियां कोर मॉड्यूल द्वारा प्रदान की जाती हैं।

यह भी देखें

 * संख्यात्मक-विश्लेषण सॉफ्टवेयर की तुलना
 * संख्यात्मक-विश्लेषण सॉफ्टवेयर की सूची

बाहरी संबंध

 * PDL Quick Reference PDL Intro & resources
 * Tutorial lecture on PDL
 * Draft release of the PDL Book for PDL-2.006
 * Example of PDL usage in the scientific literature
 * Example of PDL usage in the scientific literature