Boost logo

Boost :

Subject: Re: [boost] Matrix Library
From: Marco Guazzone (marco.guazzone_at_[hidden])
Date: 2009-09-24 05:02:02

On Thu, Sep 24, 2009 at 4:40 AM, Cem Kalyoncu <cemkalyoncu_at_[hidden]> wrote:
> As a part of our graphics study, we have built a 2D matrix class to
> implement few matrix operation. After the study we have expanded our aim for
> matrix operations system and started building a matrix and possibly a math
> library. Currently matrix library is quite near to the finish. To make it as
> generic as possible, we have used templates. Current state of the project
> can be accessed from (SVN:
> A simple search
> revealed that there is no matrix module for boost libraries. We are willing

Have you look at Boost.uBLAS?

> to resolve compatibility issues and lend our support this module. However,
> before taking any action, I would like to ask your opinions.
> Thanks in advance,
> Cem Kalyoncu
> Following functions exists in the library:
> Set/Get/GetData/()
> Resize/GetSize/GetCols/GetRows
> isSquare/isIdentity
> Compare/==/!=
> =/Copy constructor/CopyTo
> [Row|Col|]Min/Max/Average/Sum/Median
> [Row|Col]MinIndex/MaxIndex
> SortRows
> RemoveCol/RemoveRow
> matrix operators (+, -, *, +=, -=, *=)
> scalar operator (+, -, /, *, +=, -=, *=, /=)
> Transpose/Determinant/Inverse/Minor/Cofactor/Adjoint
> Uses a managedbuffer and allows temporary matrixes which are not copied
> Identity/ZeroFilled/RandomFilled/RobertsCross/SobelX|Y
> conversion to string and output to a stream is supported

Mostly of these features are provided by Boost.uBLAS.
Furthermore, uBLAS uses expression-templates, a techniques which
limits the creation of temporary objects.
Maybe, you can help to extend uBLAS with missing functionalities

-- Marco

Boost list run by bdawes at, gregod at, cpdaniel at, john at