Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > perl.module-authors > #3377

Namespace Math::Matrix::Banded

Newsgroups perl.module-authors
Subject Namespace Math::Matrix::Banded
Date 2020-08-23 11:40 +0200
Message-ID <7011554.XXk20anvnv@fresco> (permalink)
From lrg_ml@gmx.net (Lutz Gehlen)

Show all headers | View raw


Hi all,

I am working on a set of modules dealing with banded matrices (aka
band matrices or band diagonal matrices). These are a certain kind
of sparse matrices where all entries are known to be 0 except close
to the main diagonal. Obviously, this condition can be exploited for
efficient storage and algorithms.

I am planning to use the Math::Matrix::Banded namespace. However, I
require separate namespaces for rectangular (i.e. non-square) and
symmetric systems because they are stored differently and allow a
distinct set of algorithms.

I have considered
Math::Matrix::Banded
Math::Matrix::BandedRectangular
Math::Matrix::BandedSymmetric

What I don't like about this option is that the package name would
be Math-Matrix-Banded, but it would use namespaces outside the top
level namespace.

An obvious alternative would be
Math::Matrix::Banded
Math::Matrix::Banded::Rectangular
Math::Matrix::Banded::Symmetric

What I don't like here is that it suggests that the latter two
classes are subclasses of the first, which is not the case.

The third option I came up with is
Math::Matrix::Banded::Square
Math::Matrix::Banded::Rectangular
Math::Matrix::Banded::Symmetric

This is all within the Math::Matrix::Banded namespace and reflects
the sibling relationship between the three classes. What I can see
as a disadvantage - apart from long names - is that the package
would still be called Math-Matrix-Banded, but there is no class
occupying the top level namespace, which might be confusing for
users.

Do you have any thoughts on this matter?
Thank you and best wishes,
Lutz

Back to perl.module-authors | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Namespace Math::Matrix::Banded lrg_ml@gmx.net (Lutz Gehlen) - 2020-08-23 11:40 +0200
  Re: Namespace Math::Matrix::Banded dpchrist@holgerdanske.com (David Christensen) - 2020-08-23 06:37 -0700
    Re: Namespace Math::Matrix::Banded lrg_ml@gmx.net (Lutz Gehlen) - 2020-08-24 15:46 +0200
      Re: Namespace Math::Matrix::Banded dpchrist@holgerdanske.com (David Christensen) - 2020-08-24 17:17 -0700
        Re: Namespace Math::Matrix::Banded lrg_ml@gmx.net (Lutz Gehlen) - 2020-08-25 11:02 +0200
          Re: Namespace Math::Matrix::Banded dpchrist@holgerdanske.com (David Christensen) - 2020-08-25 13:30 -0700
  Re: Namespace Math::Matrix::Banded lrg_ml@gmx.net (Lutz Gehlen) - 2020-08-25 11:03 +0200

csiph-web