Skip to content

bloqade.analog.builder.pragmas.Assignable

← Module overview

classAssignablesource

bloqade.analog.builder.pragmas.Assignable

class Assignable

methodassignsource

bloqade.analog.builder.pragmas.Assignable.assign

def assign(**assignments={}) -> Assign

Assign values to variables declared previously in the program.

# define geometry
>>> reg = bloqade.start
... .add_position([(0,0),(1,1),(2,2),(3,3)])
# define variables in program
>>> seq = reg.rydberg.detuning.uniform
... .linear(start="ival", stop=1, duration="span_time")
# assign values to variables
>>> seq = seq.assign(span_time=0.5, ival=0.0)
  • Next steps:
    • ...assign(assignments).bloqade: select the bloqade local emulator backend
    • ...assign(assignments).braket: select braket local emulator or QuEra hardware
    • ...assign(assignments).device(specifier_string): select backend by specifying a string
    • ...assign(assignments).batch_assign(assignments): assign multiple values for a parameter sweep
    • ...assign(assignments).parallelize(cluster_spacing): parallelize the program register
    • ...assign(assignments).args([previously_defined_vars]): defer value assignment to runtime

Parameters

NameTypeDefaultDescription
**assignments—{}

Returns

AssignAssign: A new instance of the Assign class with the specified assignments.

Raises

TypeDescription
ValueErrorIf an invalid assignment is provided.

Note

This is reserved for variables that should take single values or for spatial modulations created with .scale(str). After assigning values, you can choose a backend for emulation or execution.

source