Releases: pedrorrivero/qrand
EntanglementProtocol
Introducing the brand new EntanglementProtocol
.
CHANGELOG
Feat
- protocols: add EntanglementProtocol
Fix
- QiskitBackend: correct configuration_dict entry for max_qubits
- QuantumBitGenerator: raise error if _refill_cache fails
Unitary Hack
A major architecture redesign introducing QuantumBitGenerator
, QuantumPlatform
, and QuantumProtocol
. This allows to have a variety of possible quantum platforms (e.g. Qiskit, Cirq, Q#), as well as cross-compatible QRNG protocols along with a classical entropy validation suite that can be used to decorate any base quantum protocol.
Eventually these changes will deprecate the original QiskitBitGenerator
approach, being therefore the basis for the next major release 1.0.0.
This release was put together for, and during, unitaryHACK 2021.
Contributors
- Avhijit Nair
- Vishnu Ajith
CHANGELOG
Refactor
- validation: add type hints
- blockbit_frequency: rename to block_frequency
- validate_natural_number: rename to validate_natural
- qsharp: add validation and check imports
- QsharpCircuit: Update type validaof gate angles
- QsharpBackend: Remove #type: ignore
- QsharpCircuit: Make gates a private property
- QsharpJob: Add author, update date
- QsharpJob: Remove generate_code, update azure shots
- QsharpCircuit: Set type validation, add generate_code
- QsharpBackend: Set validate_type for resource_id and target_id
- QsharpCircuit: Fix 'else' indentation
- Make Q# code better readable
- QsharpJob: Update generate_code(),num_measurements
- QsharpCircuit: Update measure()
- Qrng: remove init
- validate_natural_number: condense if statement
- QsharpBackend: Update max_measurements
- QsharpBackend: Update max_qubits and max_measurements
- QsharpJob: Remove max_shots and max_experiments
- QsharpCircuit: Update U3 gate
- validate_type: rename type_class to classinfo
- helpers: rename numeral_* to *_numeral
- protocols: use raise_not_implemented_error function
- move argument_validation from helpers to errors
- errors: add raise_not_implemented_error
- move argument_validation from errors to helpers
- errors: add validate_natural_number function
- errors: add validate_type function
- errors: rename raise_deprecation_warn. to raise_future_warning
Perf
- BlockFrequencyValidation: simplify floored quotient
- compute_bounded_factorization: simplify algorithm
Fix
- RunsValidation: correct frequency check
- BlockFrequencyValidation: correct p_value calculation
- MonobitFrequencyValidation: add input validation and min size
- QsharpJob: fix datetime import
- MonobitFrequencyValidation: fix return inequality
- QiskitPlatform: add type validation
- QiskitJob: add backend and circuit type validation
Feat
- validation: adding RunsValidation
- validation: cleaning doctring presentation for blockbit frequency
- validation: fixing blockbit_frequency and adding doctring
- validation: fixing blockbit_frequency validation
- validation: adding blockbit_frequency validation
- validation: add MonobitFrequencyValidation
- validate_type: add multi-type input support
- QsharpCircuit: Implement U2 and U3 gate
- helpers: add validate_numeral
- Implement Qsharp support
Unitary Hack
DESCRIPTION
A major architecture redesign introducing QuantumBitGenerator
, QuantumPlatform
, and QuantumProtocol
. This allows to have a variety of possible quantum platforms (e.g. Qiskit, Cirq, Q#), as well as cross-compatible QRNG protocols along with a classical entropy verification suite that can be used to decorate any base quantum protocol.
Eventually these changes will deprecate the original QiskitBitGenerator
approach.
This pre-release was put together for unitaryHACK 2021.
CHANGELOG
Refactor
- helpers: merge numeral encoding functions in one module
- Qrng: update get_complex_rect argument defaults
- Qrng: convert to class wrapper [issue #14]
- Qrng: redesign get_random_base32 and get_random_base64
- QuantumBitGenerator: remove argument checks in random_uint
- reverse_endian: rename bitstrings to numerals
- HadamardProtocol: rename output to measurements
- Qrng: reorder in public and private API
Fix
- ValidationDecorator: fix BareQuantumProtocol instance check
- QuantumBitGenerator: verify attribute types on set
Feat
- QuantumBitGenerator: add default protocol [issue #14]
- Qrng: add get_random_string
- Qrng: add quantum_bit_generator property
Perf
- Qrng: minimize bit consumption in get_random_float
- QuantumBitGenerator: minimize bit consumption in random_uint
Unitary Hack
DESCRIPTION
A major architecture redesign introducing QuantumBitGenerator
, QuantumPlatform
, and QuantumProtocol
. This allows to have a variety of possible quantum platforms (e.g. Qiskit, Cirq, Q#), as well as cross-compatible QRNG protocols along with a classical entropy verification suite that can be used to decorate any base quantum protocol.
Eventually these changes will deprecate the original QiskitBitGenerator
approach.
This pre-release was put together for unitaryHACK 2021.
CHANGELOG
Refactor
- platforms: remove unnecessary type ignore tags
- QuantumBitGenerator: random bitstring and uint signature
- HadamardProtocol: update private API signatures
- restrict max_bits attribute to protocols
Feat
- compute_bounded_factorization: add argument validation
Unitary Hack
DESCRIPTION
A major architecture redesign introducing QuantumBitGenerator
, QuantumPlatform
, and QuantumProtocol
. This allows to have a variety of possible quantum platforms (e.g. Qiskit, Cirq, Q#), as well as cross-compatible QRNG protocols along with a classical entropy verification suite that can be used to decorate any base quantum protocol.
Eventually these changes will deprecate the original QiskitBitGenerator
approach.
This pre-release was put together for unitaryHACK 2021.
CHANGELOG
Refactor
- ValidationDecorator: remove validation_strategy setter
- platforms: extract max_bits_per_request from QuantumBackend
- QuantumBitGenerator: introduce BitCache interface
Feat
- QuantumBitGenerator: add max_bits_per_request attribute
- QuantumBitGenerator: add bitcache attribute
- errors: add raise_deprecation_warning
Fix
- platforms: update QuantumPlatform fetch_random_bits signature
Unitary Hack
DESCRIPTION
A major architecture redesign introducing QuantumBitGenerator
, QuantumPlatform
, and QuantumProtocol
. This allows to have a variety of possible quantum platforms (e.g. Qiskit, Cirq, Q#), as well as cross-compatible QRNG protocols along with a classical entropy verification suite that can be used to decorate any base quantum protocol.
Eventually these changes will deprecate the original QiskitBitGenerator
approach.
This pre-release was put together for unitaryHACK 2021.
CHANGELOG
Feat
- platforms: new gates for quantum circuits
Refactor
- caches: move BitCache to caches subpackage
- protocols: rename PlaintResult to BasicResult
- helpers: add is_bitstring
- reverse_endian: rename argument
Unitary Hack
DESCRIPTION
A major architecture redesign introducing QuantumBitGenerator
, QuantumPlatform
, and QuantumProtocol
. This allows to have a variety of possible quantum platforms (e.g. Qiskit, Cirq, Q#), as well as cross-compatible QRNG protocols along with a classical entropy verification suite that can be used to decorate any base quantum protocol.
Eventually these changes will deprecate the original QiskitBitGenerator
approach.
This pre-release was put together for unitaryHACK 2021.
CHANGELOG
Feat
- helpers: add reverse_endian
- Qrng: add get_random_uint
- Qrng: add get_random_decimal
- Qrng: add get_random_bytes
- Qrng: add random OCTAL, HEX, BASE32, and BASE64
Refactor
- platforms: update QiskitJob constructor
- platforms: extract QuantumBackend from QuantumJob
- Qrng: rename get_bit_string to get_random_bitstring
- Qrng: order methods alphabetically
- Qrng: order methods alphabetically
- Qrng: clean-up base32, base64, hex and octal
Fix
- Qrng: reimplement get_bit_string with deprecation warning
- Qrng: set default num_bits in get_random_bytes
- Qrng: replace decode for encode in b32 and b64
- Qrng: update output types in base32 and base64
- Qrng: update random complex precision to double
Perf
- Qrng: simplify imports
Unitary Hack
DESCRIPTION
A major architecture redesign introducing QuantumBitGenerator
, QuantumPlatform
, and QuantumProtocol
. This allows to have a variety of possible quantum platforms (e.g. Qiskit, Cirq, Q#), as well as cross-compatible QRNG protocols along with a classical entropy verification suite that can be used to decorate any base quantum protocol.
Eventually these changes will deprecate the original QiskitBitGenerator
approach.
This pre-release was put together for unitaryHACK 2021.
CHANGELOG
Refactor
- protocols: rename stream to measurement
- protocols: rename SimpleResult to PlainResult
- platforms: change job output to list of measurements
- rename repetitions to num_measurements
Fix
- QiskitJob: update error and warning messages
Unitary Hack
DESCRIPTION
A major architecture redesign introducing QuantumBitGenerator
, QuantumPlatform
, and QuantumProtocol
. This allows to have a variety of possible quantum platforms (e.g. Qiskit, Cirq, Q#), as well as cross-compatible QRNG protocols along with a classical entropy verification suite that can be used to decorate any base quantum protocol.
Eventually these changes will deprecate the original QiskitBitGenerator
approach.
This pre-release was put together for unitaryHACK 2021.
CHANGELOG
Fix
- QiskitBitGenerator: move deprecation warning
- update qiskit version dependency
- platform-protocol circular dependency
Feat
- add quantum_bit_generator
Refactor
- platforms: rename quantum factory
- imports
- platforms: upgrade architecture
- bit_cache: extract BitCache to a separate module
- update package and module names
- quantum_platforms: update circuit and job models
- redesign architecture (preliminary)
Perf
- QiskitPlatform: upgrade _compute_bounded_factorization
Qrng
An integrated implementation of the QRNG PyPI package which makes use of QRAND's enhanced random bit generation and caching capabilities.
CHANGELOG
Feat
- qrng: add default parameter values