pyhdc: Top-Level Module
Version and availability
Convenience functions
These functions are thin wrappers that delegate to the first hypervector’s encoding. They are provided for concise one-off calls.
- pyhdc.generate(encoding, size=None, use_generator=None)[source]
Generate one or more hypervectors using
encoding.- Parameters:
encoding – An instantiated
Encodingobject.size –
Noneor omitted for a single(D,)vector; anintfor a single vector of that dimension; atuple(D, N)for a dimension-first batch ofNvectors (each column a hypervector).use_generator – Override the encoding’s generator setting.
Trueforces the custom generator;Falseforces NumPy’s default.
- Returns:
A
Hypervector.
enc = pyhdc.MAP_C(dimension=10_000) hv = pyhdc.generate(enc) # (10000,) batch = pyhdc.generate(enc, size=(10_000, 100)) # (10000, 100)
- pyhdc.zeros(encoding, size=None)[source]
Return a zero-valued hypervector (or batch) for
encoding.- Parameters:
encoding – An instantiated
Encodingobject.size – Same as for
generate().
- Returns:
A
Hypervectorfilled with zeros.
zero = pyhdc.zeros(enc)
- pyhdc.bundle(*hypervectors)[source]
Bundle two or more hypervectors using the encoding of the first argument.
- Parameters:
hypervectors – Two or more
Hypervectorobjects produced by the same encoding.- Returns:
A
Hypervector.
result = pyhdc.bundle(hv1, hv2, hv3)
- pyhdc.bind(*hypervectors)[source]
Bind two or more hypervectors using the encoding of the first argument.
- Parameters:
hypervectors – Two or more
Hypervectorobjects.- Returns:
A
Hypervector.
result = pyhdc.bind(key, value)
- pyhdc.stack(hypervectors)[source]
Combine hypervectors and/or batches into one dimension-first
(D, N)batch by concatenating along the batch axis. A 1-D(D,)vector is treated as a single column(D, 1). Backend-agnostic (NumPy or PyTorch).- Parameters:
hypervectors – A list of
Hypervectorobjects (vectors or(D, N)batches) sharing a backend.- Returns:
A single
Hypervectorof shape(D, total_columns).
proto = enc.generate() # (10000,) codebook = enc.generate(size=(10_000, 50)) # (10000, 50) combined = pyhdc.stack([proto, codebook]) # (10000, 51); proto is column 0
Global backend and device defaults
Set a process-wide default backend/device; encodings created without an
explicit backend / device argument inherit it.
- pyhdc.prefer_torch(device=None)[source]
Make PyTorch the default backend (optionally pinning
device). RaisesImportErrorif PyTorch is not installed.
Encoding classes
All encoding classes are imported at the top level:
See Encoding Classes for full documentation of each class.
Exception classes
All exception classes are imported at the top level:
See Exceptions for details.
Generator base classes
HDCGenerator: abstract base for all generatorsDefaultGenerator: NumPy-backed default
See Generation Module for the full family listing.