Knowledge

Perl Data Language

Source đź“ť

569: 89: 542:, with a C/PP interface layer. Many of the supplied functions are written in PDL itself. PP is available to the user to write C-language extensions to PDL. There is also an Inline module (Inline::Pdlpp) that allows PP function definitions to be inserted directly into a Perl script; the relevant code is low-level compiled and made available as a Perl subroutine. 281: 788:
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
380:
or general and generalized linear modeling methods such as ANOVA, linear regression, PCA, and logistic regression. Examples of PDL usage for regression modelling tasks include evaluating association between education attainment and ancestry differences of parents, comparison of RNA-protein
556:
of numeric or character values. All of the standard Perl operators are overloaded so that they can be used on PDL objects transparently, and PDLs can be mixed-and-matched with normal Perl scalars. Several hundred object methods for operating on PDLs are supplied by the core modules.
208:
of physical systems, and graphical plotting and presentation. Simple operations are automatically vectorized across complete arrays, and higher-dimensional operations (such as matrix multiplication) are supported.
397:, which can be used to perform simple calculations without requiring the user to create a Perl program file. A typical session of perldl would look something like the following: 678:
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).
582: 884: 225:
notation, so that the user can combine and operate on large arrays with simple expressions. In this respect, PDL follows in the footsteps of the
534:, a PDL-specific metalanguage that handles the vectorization of simple C snippets and interfaces them with the Perl host language via Perl's 245:. Unlike MATLAB and IDL, PDL allows great flexibility in indexing and vectorization: for example, if a subroutine normally operates on a 2-D 869: 574: 587: 874: 879: 849: 650: 80: 165: 161: 129: 333: 234: 545:
The PDL API uses the basic Perl 5 object-oriented functionality: PDL defines a new type of Perl scalar object (
527: 309: 226: 261: 257: 889: 503: 54: 46: 808: 691: 265: 246: 193: 25: 381:
interaction profiles that needs regression-based normalization and analysis of spectra of galaxies.
680:"Educational Attainment Influences Levels of Homozygosity through Migration and Assortative Mating" 499: 88: 196:, and adds functionality to manipulate those arrays as vector objects. It also provides tools for 50: 798: 377: 222: 37: 664: 770: 719: 623: 390: 218: 30: 292:
roots of Perl, PDL borrows from several different modules for graphics and plotting support.
760: 750: 709: 699: 373: 201: 197: 133: 124: 112: 549:
called a "PDL", or "ndarray") that acts as a Perl scalar, but that contains a conventional
636: 553: 364:
Perl I/O libraries to read and write data in hundreds of standard and niche file formats.
341: 42: 812: 695: 765: 738: 714: 679: 608: 205: 117: 488:
The commands used in the shell are Perl statements that can be used in a program with
863: 289: 185: 854: 704: 253:
will generally cause the same operation to happen to each 2-D layer of the cube.
844: 651:"Putting Perl Back on Top in the Fields of Scientific and Financial Computing" 564: 242: 755: 550: 535: 360:, raw binary files, and delimited ASCII tables. PDL programmers can use the 328:
PDL provides facilities to read and write many open data formats, including
250: 838: 774: 723: 269: 221:
language: the expression syntax is a variation on standard mathematical
539: 313: 297: 268:
forms may be combined. Subroutines may be loaded either via a built-in
256:
PDL borrows from Perl at least three basic types of program structure:
312:
modules are supported for 2-D graphics and plotting applications, and
546: 353: 317: 305: 301: 293: 230: 280: 192:. PDL extends the data structures built into Perl, to include large 803: 739:"dCLIP: a computational approach for comparative CLIP-seq analyses" 279: 238: 361: 357: 349: 345: 329: 189: 169: 337: 296:
provides image file I/O (though FITS is supported natively).
229:, and it has been compared to commercial languages such as 389:
An installation of PDL usually comes with an interactive
144: 831: 376:. It includes modules that are used to perform classic 609:
https://github.com/PDLPorters/pdl/releases/tag/2.089
665:"PDL online documentation (PDL::Threading section)" 155: 139: 123: 111: 79: 60: 36: 24: 272:mechanism or via the usual Perl module mechanism. 855:Example of PDL usage in the scientific literature 320:are supported for 3-D plotting and rendering. 8: 791:Revista Mexicana de AstronomĂ­a y AstrofĂ­sica 19: 850:Draft release of the PDL Book for PDL-2.006 530:. Most of the functionality is written in 87: 18: 802: 764: 754: 713: 703: 583:Comparison of numerical-analysis software 599: 632: 621: 538:compiler. Some modules are written in 512:in the last command is a shortcut for 237:, and to other free languages such as 7: 575:Free and open-source software portal 188:array programming extensions to the 588:List of numerical-analysis software 737:Wang T, Xie Y, Xiao G (Jan 2014). 16:Array programming library for Perl 14: 567: 885:Numerical programming languages 526:The core of PDL is written in 1: 705:10.1371/journal.pone.0118935 870:Array programming languages 906: 284:A plot generated using PDL 130:GNU General Public License 875:Free mathematics software 841:PDL Intro & resources 235:Interactive Data Language 190:Perl programming language 160: 107: 75: 756:10.1186/gb-2014-15-1-r11 399: 249:array, passing it a 3-D 227:APL programming language 20:Perl Data Language (PDL) 845:Tutorial lecture on PDL 194:multidimensional arrays 285: 262:functional programming 258:imperative programming 94:; 4 months ago 880:Free science software 504:matrix multiplication 283: 372:PDL can be used for 266:pipeline programming 217:PDL is a vectorized 839:PDL Quick Reference 813:2016RMxAA..52...21S 696:2015PLoSO..1018935A 500:overloaded operator 61:First appeared 21: 378:k-means clustering 286: 178:Perl Data Language 631:Missing or empty 492:module included. 219:array programming 206:computer modeling 175: 174: 55:Christian Soeller 897: 835: 834: 832:Official website 817: 816: 806: 785: 779: 778: 768: 758: 734: 728: 727: 717: 707: 675: 669: 668: 661: 655: 654: 647: 641: 640: 634: 629: 627: 619: 617: 615: 604: 577: 572: 571: 570: 516: 510: 496: 491: 484: 481: 478: 475: 472: 469: 466: 463: 460: 457: 454: 451: 448: 445: 442: 439: 436: 433: 430: 427: 424: 421: 418: 415: 412: 409: 406: 403: 374:machine learning 368:Machine learning 202:machine learning 198:image processing 151: 148: 146: 134:Artistic License 102: 100: 95: 91: 71: 69: 47:Jarle Brinchmann 22: 905: 904: 900: 899: 898: 896: 895: 894: 860: 859: 830: 829: 826: 821: 820: 787: 786: 782: 736: 735: 731: 690:(3): e0118935. 677: 676: 672: 663: 662: 658: 649: 648: 644: 630: 620: 613: 611: 606: 605: 601: 596: 573: 568: 566: 563: 524: 514: 508: 494: 489: 486: 485: 482: 479: 476: 473: 470: 467: 464: 461: 458: 455: 452: 449: 446: 443: 440: 437: 434: 431: 428: 425: 422: 419: 416: 413: 410: 407: 404: 401: 387: 370: 326: 278: 215: 213:Language design 143: 103: 98: 96: 93: 67: 65: 43:Karl Glazebrook 17: 12: 11: 5: 903: 901: 893: 892: 887: 882: 877: 872: 862: 861: 858: 857: 852: 847: 842: 836: 825: 824:External links 822: 819: 818: 780: 743:Genome Biology 729: 670: 656: 642: 607:. 12 May 2024 598: 597: 595: 592: 591: 590: 585: 579: 578: 562: 559: 523: 522:Implementation 520: 400: 386: 383: 369: 366: 325: 322: 277: 274: 214: 211: 184:) is a set of 173: 172: 158: 157: 153: 152: 141: 137: 136: 127: 121: 120: 118:Cross-platform 115: 109: 108: 105: 104: 85: 83: 81:Stable release 77: 76: 73: 72: 62: 58: 57: 40: 34: 33: 28: 15: 13: 10: 9: 6: 4: 3: 2: 902: 891: 888: 886: 883: 881: 878: 876: 873: 871: 868: 867: 865: 856: 853: 851: 848: 846: 843: 840: 837: 833: 828: 827: 823: 814: 810: 805: 800: 796: 792: 784: 781: 776: 772: 767: 762: 757: 752: 748: 744: 740: 733: 730: 725: 721: 716: 711: 706: 701: 697: 693: 689: 685: 681: 674: 671: 666: 660: 657: 652: 646: 643: 638: 625: 610: 603: 600: 593: 589: 586: 584: 581: 580: 576: 565: 560: 558: 555: 552: 548: 543: 541: 537: 533: 529: 521: 519: 517: 511: 505: 501: 497: 398: 396: 392: 384: 382: 379: 375: 367: 365: 363: 359: 355: 351: 347: 343: 339: 335: 331: 323: 321: 319: 315: 311: 307: 303: 299: 295: 291: 290:glue language 282: 275: 273: 271: 267: 263: 259: 254: 252: 248: 244: 240: 236: 232: 228: 224: 220: 212: 210: 207: 203: 199: 195: 191: 187: 186:free software 183: 180:(abbreviated 179: 171: 167: 163: 159: 156:Influenced by 154: 150: 142: 138: 135: 131: 128: 126: 122: 119: 116: 114: 110: 106: 92:/ 12 May 2024 90: 84: 82: 78: 74: 63: 59: 56: 52: 48: 44: 41: 39: 35: 32: 29: 27: 23: 890:Perl modules 794: 790: 783: 746: 742: 732: 687: 683: 673: 659: 645: 633:|title= 612:. Retrieved 602: 544: 531: 525: 513: 507: 493: 487: 394: 388: 371: 327: 288:True to the 287: 255: 216: 181: 177: 176: 51:Tuomas Lukka 547:eponymously 99:12 May 2024 86:2.089  864:Categories 804:1509.08552 749:(1): R11. 594:References 797:: 21–53. 393:known as 251:data cube 38:Developer 789:FIT3D". 775:24398258 724:25734509 684:PLOS ONE 624:cite web 561:See also 276:Graphics 270:autoload 26:Paradigm 809:Bibcode 766:4054096 715:4347978 692:Bibcode 614:20 June 540:Fortran 314:Gnuplot 298:Gnuplot 140:Website 125:License 97: ( 66: ( 773:  763:  722:  712:  506:, and 498:is an 465:perldl 441:perldl 423:perldl 402:perldl 395:perldl 385:perldl 354:NetCDF 318:OpenGL 308:, and 306:PGPLOT 302:PLplot 294:NetPBM 264:, and 247:matrix 243:Octave 231:MATLAB 223:vector 53:, and 799:arXiv 554:array 551:typed 515:print 391:shell 310:Prima 239:NumPy 147:.perl 31:Array 771:PMID 720:PMID 637:help 616:2024 502:for 468:> 444:> 426:> 405:> 362:CPAN 358:GRIB 350:FITS 346:MPEG 330:JPEG 316:and 241:and 233:and 170:Perl 149:.org 68:1996 64:1996 761:PMC 751:doi 710:PMC 700:doi 490:PDL 474:$ z 459:$ y 453:$ x 447:$ z 438:,]; 435:pdl 429:$ y 414:pdl 408:$ x 342:PPM 338:GIF 334:PNG 324:I/O 182:PDL 166:IDL 162:APL 145:pdl 866:: 807:. 795:52 793:. 769:. 759:. 747:15 745:. 741:. 718:. 708:. 698:. 688:10 686:. 682:. 628:: 626:}} 622:{{ 536:XS 532:PP 518:. 420:]; 356:, 352:, 348:, 344:, 340:, 336:, 332:, 304:, 300:, 260:, 204:, 200:, 168:, 164:, 132:, 113:OS 49:, 45:, 815:. 811:: 801:: 777:. 753:: 726:. 702:: 694:: 667:. 653:. 639:) 635:( 618:. 528:C 509:p 495:x 483:] 480:[ 477:; 471:p 462:; 456:x 450:= 432:= 417:, 411:= 101:) 70:)

Index

Paradigm
Array
Developer
Karl Glazebrook
Jarle Brinchmann
Tuomas Lukka
Christian Soeller
Stable release
Edit this on Wikidata
OS
Cross-platform
License
GNU General Public License
Artistic License
pdl.perl.org
APL
IDL
Perl
free software
Perl programming language
multidimensional arrays
image processing
machine learning
computer modeling
array programming
vector
APL programming language
MATLAB
Interactive Data Language
NumPy

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑