पर्ल डेटा लैंग्वेज: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 14: Line 14:




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


==लैंग्वेज डिज़ाइन==
==लैंग्वेज डिज़ाइन==
पीडीएल वेक्टरकृत [[सरणी प्रोग्रामिंग]] लैंग्वेज है: अभिव्यक्ति वाक्यविन्यास मानक गणितीय [[वेक्टर (ज्यामितीय)]] नोटेशन पर भिन्नता है, जिससे उपयोगकर्ता सरल अभिव्यक्तियों के साथ बड़े सरणी पर संयोजन और संचालन कर सके। इस संबंध में, पीडीएल [[एपीएल प्रोग्रामिंग भाषा|एपीएल प्रोग्रामिंग लैंग्वेज]] के नक्शेकदम पर चलता है, और इसकी तुलना [[MATLAB]] और [[इंटरैक्टिव डेटा भाषा|इंटरैक्टिव डेटा लैंग्वेज]] जैसी व्यावसायिक भाषाओं और अन्य मुफ्त भाषाओं जैसे [[NumPy]] और GNU OctaveOctave.2C लैंग्वेज से की गई है।<ref>{{Cite web|url=http://blogs.perl.org/users/lhermida/2011/03/hi-everyone-as-a-bioinformatician.html|title=Putting Perl Back on Top in the Fields of Scientific and Financial Computing}}</ref> MATLAB और आईडीएल के विपरीत, पीडीएल अनुक्रमण और वैश्वीकरण में महान लचीलेपन की अनुमति देता है: उदाहरण के लिए, यदि सबरूटीन सामान्य रूप से 2-d [[मैट्रिक्स (गणित)|आव्यूह (गणित)]] सरणी पर काम करता है, तो इसे 3-डी [[डेटा क्यूब]] पास करने से सामान्यतः क्यूब की प्रत्येक 2-d परत पर समान ऑपरेशन होगा।<ref>{{Cite web|url=http://pdl.perl.org/?docs=Threading&title=PDL::Threading|title=PDL online documentation (PDL::Threading section)}}</ref>
पीडीएल वेक्टरकृत [[सरणी प्रोग्रामिंग]] लैंग्वेज है: अभिव्यक्ति वाक्यविन्यास मानक गणितीय [[वेक्टर (ज्यामितीय)]] नोटेशन पर भिन्नता है, जिससे उपयोगकर्ता सरल अभिव्यक्तियों के साथ बड़े सरणी पर संयोजन और संचालन कर सके। इस संबंध में, पीडीएल [[एपीएल प्रोग्रामिंग भाषा|एपीएल प्रोग्रामिंग लैंग्वेज]] के नक्शेकदम पर चलता है, और इसकी तुलना [[MATLAB]] और [[इंटरैक्टिव डेटा भाषा|इंटरैक्टिव डेटा लैंग्वेज]] जैसी व्यावसायिक भाषाओं और अन्य मुफ्त भाषाओं जैसे [[NumPy]] और GNU OctaveOctave.2C लैंग्वेज से की गई है।<ref>{{Cite web|url=http://blogs.perl.org/users/lhermida/2011/03/hi-everyone-as-a-bioinformatician.html|title=Putting Perl Back on Top in the Fields of Scientific and Financial Computing}}</ref> MATLAB और आईडीएल के विपरीत, पीडीएल अनुक्रमण और वैश्वीकरण में महान लचीलेपन की अनुमति देता है: उदाहरण के लिए, यदि सबरूटीन सामान्य रूप से 2-d [[मैट्रिक्स (गणित)|आव्यूह (गणित)]] सरणी पर काम करता है, तो इसे 3-d [[डेटा क्यूब]] पास करने से सामान्यतः क्यूब की प्रत्येक 2-d परत पर समान ऑपरेशन होगा।<ref>{{Cite web|url=http://pdl.perl.org/?docs=Threading&title=PDL::Threading|title=PDL online documentation (PDL::Threading section)}}</ref>


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

Revision as of 01:29, 31 July 2023

Perl Data Language (PDL)
ParadigmArray
DeveloperKarl Glazebrook, Jarle Brinchmann, Tuomas Lukka, and Christian Soeller
पहली प्रस्तुति1996 (1996)
Stable release
Script error: The module returned a nil value. It is supposed to return an export table. / Script error: The module returned a nil value. It is supposed to return an export table.; Error: first parameter cannot be parsed as a date or time. (Script error: The module returned a nil value. It is supposed to return an export table.)
ओएसCross-platform
लाइसेंसGNU General Public License, Artistic License
वेबसाइटpdl.perl.org
Influenced by
APL, IDL, Perl



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

लैंग्वेज डिज़ाइन

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

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

ग्राफिक्स

पीडीएल का उपयोग करके एक प्लॉट तैयार किया गया

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

इनपुट/आउटपुट

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

मशीन लर्निंग

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


perldl

पीडीएल की स्थापना सामान्यतः इंटरैक्टिव शैल (कंप्यूटिंग) के साथ आती है जिसे 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]
]

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

कार्यान्वयन

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

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

यह भी देखें

संदर्भ

  1. "Putting Perl Back on Top in the Fields of Scientific and Financial Computing".
  2. "PDL online documentation (PDL::Threading section)".
  3. Abdellaoui A, Hottenga JJ, Willemsen G, Bartels M, van Beijsterveldt T, Ehli EA, Davies GE, Brooks A, Sullivan PF, Penninx BW, de Geus EJ, Boomsma DI (Mar 2015). "शैक्षिक प्राप्ति प्रवासन और वर्गीकरण संभोग के माध्यम से समरूपता के स्तर को प्रभावित करती है". PLOS ONE. 10 (3): e0118935. Bibcode:2015PLoSO..1018935A. doi:10.1371/journal.pone.0118935. PMC 4347978. PMID 25734509.
  4. Wang T, Xie Y, Xiao G (Jan 2014). "dCLIP: a computational approach for comparative CLIP-seq analyses". Genome Biology. 15 (1): R11. doi:10.1186/gb-2014-15-1-r11. PMC 4054096. PMID 24398258.
  5. Sánchez SF, Pérez E, Sánchez-Blázquez P, González JJ, Rosález-Ortega FF, Cano-Dí az M, López-Cobá C, Marino RA, Gil de Paz A, Mollá M, López-Sánchez AR, Ascasibar Y, Barrera-Ballesteros J (April 2016). "Pipe3D, a pipeline to analyze Integral Field Spectroscopy Data: I. New fitting philosophy of FIT3D". Revista Mexicana de Astronomía y Astrofísica. 52: 21–53. arXiv:1509.08552. Bibcode:2016RMxAA..52...21S.


बाहरी संबंध