Features
-
Added
job_nameto speqtrum'ssubmitmethod to allow the user to give a custom name to their job. (PR #86) -
SpeQtrum jobs now retain their concrete result types from submission through retrieval, so every handle produced by
submitreturns the rightFunctionalResultwhether you are sampling, evolving in time, or orchestrating a variational loop. Waiting for a fresh job still takes a single call, but the typed detail that comes back no longer needs manual casting:job_handle = speqtrum.submit(Sampling(circuit), device="cuda_state_vector") job = speqtrum.wait_for_job(job_handle) results = job.get_results() # Your IDE will now know this is a SamplingResult
The same strong typing applies when inspecting historical runs. Recreate a handle with the appropriate class method, pass it to
get_job, and the returnedTypedJobDetailexposes the precise payload you expect:job_handle = JobHandle.sampling(1200853) job = speqtrum.get_job(job_handle) results = job.get_results() # Your IDE will now know this is a SamplingResult
Variational programs are the only scenario that needs an extra hint: because they wrap another functional, recreate the handle with the inner functional’s result type so the execution results can be validated against your expectations:
job_handle = JobHandle.variational_program(1200853, result_type=SamplingResult) job = speqtrum.get_job(job_handle) results = job.get_results() # Your IDE will now know this is a VariationalProgramResult optimal = results.optimal_execution_results # Your IDE will now know this is a SamplingResult
Passing a bare integer job identifier to
wait_for_joborget_jobremains valid for quick checks and backwards-compatibility, but doing so skips the handle metadata and yields an untypedJobDetail, so you will need to inspect or cast the result manually. (PR #87)
Bugfixes
- Fixed the
HardwareEfficientAnsatzso the first layer of single-qubit gates is not duplicated, restoring the expected gate and parameter counts. (PR #90) - Fixed the scheduler so numpy floats are accepted without errors. Fixed the QuTiP backend by aligning the schedule-to-backend mapping structure. (PR #91)
Improved Documentation
- Updating the documentation and README to correspond to the latest version of QiliSDK. (PR #80)
- Added extra doc-strings, and fixed outdated doc-strings. (PR #84)