访问 UBLAS 稀疏向量中非零元素的索引
我如何知道 ublas 中的稀疏向量中的第一个非零元素以及每个后续非零元素的索引?函数 begin() 为我提供了一个迭代器,可用于了解存储的第一个非零值,而不是其在向量中的索引。
How can I know the index of the first non-zero element in a sparse_vector in ublas and each subsequent nonzero element as well? The function begin() gives me an iterator that can be used to know the first non-zero value stored, not its index in the vector.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下是 Oswin Krause 的答案,来自 ublas mainling 列表:
Here is the answer, after Oswin Krause, from the ublas mainling list:
如果不对向量进行线性扫描,这似乎是不可能实现的。 API 根本不公开非零索引。 (如果我是你,我会写信给作者,因为他们隐瞒了在序列化稀疏向量时非常有用的信息。)
过去我在 UBLAS 的稀疏矩阵方面也遇到过类似的问题,最终迫使我自己推出自己的矩阵。
This seems impossible to achieve without a linear scan over the vector. The API simply doesn't expose the non-zero indices. (I'd write to the authors if I were you, since they are withholding information that can be very useful when serializing sparse vectors.)
I've had similar problems with UBLAS's sparse matrices in the past, eventually forcing me to roll my own.