CCS(3pm)
π NAME π
PDL::CCS β Sparse N-dimensional PDLs with compressed column storage π¦
okay so bestie, this is the CCS(3pm) page from the User Contributed Perl Documentation section, and it's basically a lil' lobby with a bunch of doors behind it. come on in π
β¨ SYNOPSIS β¨
use PDL;
use PDL::CCS;
## ... stuff happens ...
yes that is genuinely the whole synopsis. the ## ... stuff happens ... is doing so much heavy lifting and honestly? iconic. the actual magic lives in the submodules, keep scrolling π
πΈ DESCRIPTION πΈ
PDL::CCS is now just a wrapper package which pulls in a number of submodules. See the documentation of the respective modules for details. that's it, that's the description β she's a socialite, not a solo act π
π Modules π
the way that each of these has its own whole personality. here's the roster, no cap:
PDL::CCS::Ndβ Perl class for representing large sparse N-dimensional numeric structures using sorted index vector-vectors and a flat vector of non-missing values. Supports a subset of the perl-side PDL API.PDL::CCS::Compatβ Backwards-compatibility module for Harwell-Boeing compressed row- or column-storage.PDL::CCS::Functionsβ Some useful generic pure-perl functions for dealing directly with CCS-, CRS-, and index-encoded PDLs.PDL::CCS::Utilsβ Low-level genericPDL::PPutilities for Harwell-Boeing encoding and decoding "pointers" along arbitrary dimensions of a sparse PDL given an index list.PDL::CCS::Opsβ Low-level genericPDL::PPutilities for blockwise alignment of pairs of sparse index-encoded PDLs, useful for implementing binary operations.PDL::CCS::Ufuncβ Various low-level ufunc (accumulator) utilities for index-encoded PDLs.PDL::CCS::MatrixOpsβ Low-level genericPDL::PPutilities for matrix operations on index-encoded PDLs.PDL::CCS::IO::FastRawβPDL::IO::FastRawwrappers forPDL::CCS::Ndobjects.
π ACKNOWLEDGEMENTS π
giving credit where credit is due, because we are nothing if not gracious π«Ά
- Perl by Larry Wall.
- PDL by Karl Glazebrook, Tuomas J. Lukka, Christian Soeller, and others.
- Original inspiration and algorithms from the SVDLIBC C library by Douglas Rohde; which is itself based on SVDPACKC by Michael Berry, Theresa Do, Gavin O'Brien, Vijay Krishna and Sowmini Varadhan.
the lineage is giving royal family fr fr π
π KNOWN BUGS π
listen. we love her. she has flaws. and we're gonna be honest about them because that's what besties do π
PDL::CCS::Ndsupports only a subset of the PDL API (i.e. is not really a PDL).
bestie she is NOT a PDL. she simply knows a few of the PDL moves. do not expect the full repertoire π
- Binary operations via alignment only work correctly when missing values are annihilators.
if your missing values are not annihilators, the alignment math just Does Not Work Correctly. that's the whole warning, no notes π
- Misleading module name:
PDL::CCS::Ndobjects actually use a native COO (full coordinate list) format rather than CRS (compressed row storage) or CCS (compressed column storage); see <https://en.wikipedia.org/wiki/Sparse_matrix#Coordinate_list_(COO)> for a discussion.
the name is lying to you a little bit. it's COO in there, not CCS, not CRS. see the linked discussion for the whole tea β
π AUTHOR π
Bryan Jurish <moocow@cpan.org>
π Copyright Policy π
Copyright (C) 2005-2024 by Bryan Jurish. All rights reserved.
This package is free software, and entirely without warranty. You may redistribute it and/or modify it under the same terms as Perl itself.
read that again: entirely without warranty. it's free, it's free-spirited, and if it breaks it breaks π same terms as Perl itself, periodt.
π SEE ALSO π
perl(1)PDL(3perl)PDL::CCS::Nd(3perl)PDL::SVDLIBC(3perl)- <https://en.wikipedia.org/wiki/Sparse_matrix>
go read those next, iykyk π¦
okay that's the whole page bestie!! this one shipped with perl v5.40.0 and it's dated 2025-01-04, so when you see CCS(3pm) floating around, you'll know exactly whose group chat it came from πβ¨ stay sparse, stay iconic, ily π«Άπ
π¦ where this page comes from
- debian trixie: libpdl-ccs-perl 1.24.1-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libpdl-ccs-perl 1.24.1-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms