giotto-ai / giotto-ph

High performance implementation of Vietoris-Rips persistence.
https://giotto-ai.github.io/giotto-ph/
Other
43 stars 12 forks source link

Consistency in index dtypes #30

Closed ulupo closed 2 years ago

ulupo commented 2 years ago

Here:

https://github.com/giotto-ai/giotto-ph/blob/1d0c628fe5e5c5c4f712bbc1fb9ddc3acc347f9d/gph/python/ripser_interface.py#L458-L459

we convert indices to 32-bit ints. In the C++ code, is every index a 64-bit integer? It seems to me that the case of sparse matrices is one in which indices can be very large, so 64-bit ints might make sense. For dense matrices, there is no way int32 is not enough!

MonkeyBreaker commented 2 years ago

You are right.

In the C++ backend and the bindings, we use int64_t as index vertice type. But as you point out, not in the Python interface. This is a legacy from ripser.py where they cast to int32 for their bindings.