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

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

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

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

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

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

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

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

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

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

यह भी देखें

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

बाहरी संबंध

 * 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