pyhdc: Top-Level Module

Version and availability

pyhdc.__version__: str

Current version string, e.g. "1.1.0".

pyhdc.__author__: str

Primary author identifier, "GNPower".

pyhdc.TORCH_AVAILABLE: bool

True if import torch succeeded at PyHDC import time. False if PyTorch is not installed.

import pyhdc
if pyhdc.TORCH_AVAILABLE:
    enc = pyhdc.MAP_C(backend="torch", device="cuda")

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 Encoding object.

  • sizeNone for a single vector, int for a 1-D batch, or tuple for a multi-dimensional batch.

  • use_generator – Override the encoding’s generator setting. True forces the custom generator; False forces NumPy’s default.

Returns:

A Hypervector.

enc = pyhdc.MAP_C(dimension=10_000)
hv  = pyhdc.generate(enc)
batch = pyhdc.generate(enc, size=100)
pyhdc.zeros(encoding, size=None)[source]

Return a zero-valued hypervector (or batch) for encoding.

Parameters:
  • encoding – An instantiated Encoding object.

  • size – Same as for generate().

Returns:

A Hypervector filled 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 Hypervector objects 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 Hypervector objects.

Returns:

A Hypervector.

result = pyhdc.bind(key, value)

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 generators

  • DefaultGenerator: NumPy-backed default

See Generation Module for the full family listing.