BlockDiagonals.jl icon indicating copy to clipboard operation
BlockDiagonals.jl copied to clipboard

Allow block multiplication of non-square blocks

Open cvsvensson opened this issue 2 years ago • 3 comments

Currently, BlockDiagonals keeps the block structure in matrix multiplication only if the blocks that are multiplied together have the same size. This is overly restrictive and rules out multiplication with non-square blocks.

This PR modifies the check done when multiplying BlockDiagonals to permit multiplication with non-square blocks while retaining the block diagonal structure.

In addition, the overhead of checking if blocks can be multiplied or added has been reduced.

cvsvensson avatar Apr 15 '23 16:04 cvsvensson

Codecov Report

Merging #127 (db43d04) into master (00fab43) will increase coverage by 0.04%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #127      +/-   ##
==========================================
+ Coverage   98.89%   98.93%   +0.04%     
==========================================
  Files           5        5              
  Lines         361      375      +14     
==========================================
+ Hits          357      371      +14     
  Misses          4        4              
Impacted Files Coverage Δ
src/base_maths.jl 100.00% <100.00%> (ø)
src/linalg.jl 95.91% <100.00%> (-0.09%) :arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov[bot] avatar Apr 15 '23 16:04 codecov[bot]

What is the status of this PR? Can we get this done and merged?

nathanaelbosch avatar Feb 23 '24 08:02 nathanaelbosch

I think development will be easier if support for old versions of Julia is dropped. I'll create a PR for that, following which we may rebase this PR and check.

jishnub avatar Feb 23 '24 08:02 jishnub