fhelium.engine.rns.chain
Mathematical Q/P modulus-chain layout for rank-local CKKS values.
RnsChain
class View source
python
RnsChain(num_q_primes: int, num_p_primes: int)1
Prime identities and active bases for a CKKS modulus chain.
Prime ids follow the engine's canonical parameter order [Q | P]. For Q ids (0, ..., num_q_primes - 1) and P ids in the fixed suffix, public level
include_p=True appends every P id and therefore describes j to parameter prime prime_ids[j] exactly.
Attributes
| Name | Type | Default/value |
|---|---|---|
num_q_primes | int | |
num_p_primes | int |
rns_basis_level_count
property
python
rns_basis_level_count: int1
total_modulus_count
property
python
total_modulus_count: int1
q_prime_ids
property
python
q_prime_ids: tuple[int, ...]1
p_prime_ids
property
python
p_prime_ids: tuple[int, ...]1
base_q_prime_id
property
python
base_q_prime_id: int1
check_level
method
python
def check_level(level: int) -> None: ...1
q_prime_ids_at_level
method
python
def q_prime_ids_at_level(level: int) -> tuple[int, ...]: ...1
Return ordered ids for
qp_prime_ids_at_level
method
python
def qp_prime_ids_at_level(level: int) -> tuple[int, ...]: ...1
Return ordered ids for
prime_ids
method
python
def prime_ids(level: int, *, include_p: bool=False) -> tuple[int, ...]: ...1
parameter_rows
method
python
def parameter_rows(level: int, *, include_p: bool=False) -> slice: ...1
Return the zero-copy interval for the selected canonical basis.