-
Notifications
You must be signed in to change notification settings - Fork 22
The Hypercube space for binary vectors and labeled unweighted graphs #141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…is_bearable for type-checking to work with Python 3.8 and Python 3.9
stoprightthere
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job! I have left some comments about the code.
| The GeometricKernels space representing the d-dimensional hypercube graph | ||
| $C^d = \{0, 1\}^d$, the combinatorial space of binary vectors of length $d$. | ||
| The elements of this space are represented by d-dimensional boolean vectors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there a particular reason for using boolean vectors, as opposed to, say, integer vectors?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- To save memory. In the implementation of my dreams, they should be actual bit-arrays. This is much harder than what I did here though, especially if the implementation should be backend-independent.
- Interpretation. This is a space of binary vectors. Binary ≈ Boolean.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bool requires as much memory as int, so this argument doesn't quite hold. And everyone knows that binary means zeros and ones :)
…lper.py. For imports to work, add __init__.py throughout the tests/ folder hierarchy
|
Revised. |
…ls/GeometricKernels into slava/binary_graph_space
stoprightthere
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR implements a new space: the hypercube graph space$\{0,1\}^d$ of binary vectors.
It includes a new space (
HypercubeGraph), the respective notebookHypercubeGraph.ipynb, a theory pagedocs/theory/hypercube_graph.rst, and tests.