Skip to content

#1127 MatrixDimension<MType>::coldim fails for MType=BCRSMatrix<Diagonal|ScaledIDMatrix>

Metadata

Property Value
Reported by Uli Sack (usack@math.fu-berlin.de)
Reported at Jun 11, 2012 20:29
Type Bug Report
Version Git (pre2.4) [autotools]
Operating System Unspecified / All
Last edited by Oliver Sander (oliver.sander@tu-dresden.de)
Last edited at Jul 4, 2012 21:26
Closed by Oliver Sander (oliver.sander@tu-dresden.de)
Closed at Jul 4, 2012 21:26
Closed in version Unknown
Resolution Fixed
Comment Thanks!

Description

MatrixDimension::coldim fails for MType=BCRSMatrix<[DiagonalMatrix|ScaledIDMatrix]> and MType=DiagonalMatrix|ScaledIDMatrix]. The latter is due to a missing template specialization for these block types. The former is due to the use of operator[] on a shared_ptr on line 256. Using get()[] and implementing the specializations gets rid of both problems. Find a patch attached.

However I don't quite get the intended functionality. In the partial specialization template for MType=BCRSMatrix<B,A> coldim(MType A, size_type c) returns 0 if A has no entry in column c whereas the specialization for BCRSMatrix<FieldMatrix<K,n,m> > invariably returns m no matter whether any entry has the column index c or not. Is that intended or simply inconsistent?

Cheers,Uli

Attachments