Boost logo

Ublas :

Subject: [ublas] Function 'equals' in matrix_assign.hpp
From: Shangtong Zhang (zhangshangtong.cpp_at_[hidden])
Date: 2016-03-04 00:46:00


Hello,

I’m trying to contribute to toeplitz matrix, here is my prototype
https://github.com/ShangtongZhang/ublas/blob/toeplitz/include/boost/numeric/ublas/toeplitz.hpp <https://github.com/ShangtongZhang/ublas/blob/toeplitz/include/boost/numeric/ublas/toeplitz.hpp>

However I have a problem.
When I execute code
matrix<int> m_new(m)
where m is a toeplitz matrix, it will raise exception.
When matrix_assign is executed, it calls ‘equals' in matrix_assign.hpp
https://github.com/ShangtongZhang/ublas/blob/toeplitz/include/boost/numeric/ublas/detail/matrix_assign.hpp <https://github.com/ShangtongZhang/ublas/blob/toeplitz/include/boost/numeric/ublas/detail/matrix_assign.hpp> line 32
However the parameter epsilon is 0, norm_inf (e1 - e2 ) < 0 will never succeed.
So it will return false and raise exception.
Same things happen even m is a banded matrix.
Why is it ‘<' rather than '<= '? Is it by design?

Thanks,

Shangtong Zhang,
Senior Student,
School of Computer Science,
Fudan University, PRC.