id summary reporter owner description type status priority milestone component version resolution keywords cc
363 Weighted Mutable Matrix Peter Peter "I think this is a missing feature. One could of course deal with weights as it is done in WeNNI, using two matrices: one data matrix and one weight matrix. However, if we are turning towards more of iterator interfaces this will not suit so well. One would like an iterator that iterator over data-weight pairs akin `MatrixLookupWeighted`.
Two obvious designs could be used here:
1. store data as two matrices
2. store data as e.g. `std::vector >`
1.) is likely to involve less work since most implementation is to call matrix functions. This is essentially how `MatrixLookupWeighted` is implemented. 2.) is more natural in some sence since the atom here is the data-weight pair, and thus it is natural to bind them tight together (i.e. not separate them into different matrices). The downside of this strategy is that gsl_matrix cannot be used directly. Perhaps one could utilize gsl_matrix_complex...
However, if we'll decide to go for 2.) I think the the ''type'' should be
`std::pair`. We should also take into account that how this class will interact with `MatrixLookupWeighted`. It should be parallel to how Matrix interacts with `MatrixLookup`. In fact, we have to analyze how all these four classes would interact...
I just realized that another alternative would be to use MTL. I guess as it is templatized it would work using `T=std::pair`, right?
" discussion closed major yat 0.5 utility trunk fixed