DOKK / manpages / debian 12 / libpdl-ccs-perl / PDL::CCS.3pm.en
CCS(3pm) User Contributed Perl Documentation CCS(3pm)

PDL::CCS - Sparse N-dimensional PDLs with compressed column storage

 use PDL;
 use PDL::CCS;
 ## ... stuff happens ...

PDL::CCS is now just a wrapper package which pulls in a number of submodules. See the documentation of the respective modules for details.

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.
Backwards-compatibility module for Harwell-Boeing compressed row- or column-storage.
Some useful generic pure-perl functions for dealing directly with CCS-, CRS-, and index-encoded PDLs.
Low-level generic PDL::PP utilities for Harwell-Boeing encoding and decoding "pointers" along arbitrary dimensions of a sparse PDL given an index list.
Low-level generic PDL::PP utilities for blockwise alignment of pairs of sparse index-encoded PDLs, useful for implementing binary operations.
Various low-level ufunc (accumulator) utilities for index-encoded PDLs.
Low-level generic PDL::PP utilities for matrix operations on index-encoded PDLs.
PDL::IO::FastRaw wrappers for PDL::CCS::Nd objects.

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.

  • PDL::CCS::Nd supports only a subset of the PDL API (i.e. is not really a PDL).
  • Binary operations via alignment only work correctly when missing values are annihilators.
  • Misleading module name: PDL::CCS::Nd objects 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.

Bryan Jurish <moocow@cpan.org>

Copyright (C) 2005-2022 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.

perl(1), PDL(3perl), PDL::CCS::Nd(3perl), PDL::SVDLIBC(3perl), <https://en.wikipedia.org/wiki/Sparse_matrix>.

2022-12-02 perl v5.36.0