|
319 | 319 | "Properties are not guaranteed to be reported, but backends without Pulse access typically also provide this data.\n", |
320 | 320 | "\n", |
321 | 321 | "## Defaults\n", |
322 | | - "\n" |
| 322 | + "\n", |
| 323 | + "Unlike the other two sections, `PulseDefaults` are only available for Pulse-enabled backends. It contains the default program settings run on the device." |
323 | 324 | ] |
324 | 325 | }, |
325 | 326 | { |
326 | 327 | "cell_type": "code", |
327 | 328 | "execution_count": 12, |
328 | 329 | "metadata": {}, |
| 330 | + "outputs": [], |
| 331 | + "source": [ |
| 332 | + "defaults = backend.defaults()" |
| 333 | + ] |
| 334 | + }, |
| 335 | + { |
| 336 | + "cell_type": "markdown", |
| 337 | + "metadata": {}, |
| 338 | + "source": [ |
| 339 | + "### Drive frequencies\n", |
| 340 | + "\n", |
| 341 | + "Defaults contains the default frequency settings for the drive and measurement signal channels:" |
| 342 | + ] |
| 343 | + }, |
| 344 | + { |
| 345 | + "cell_type": "code", |
| 346 | + "execution_count": 13, |
| 347 | + "metadata": {}, |
329 | 348 | "outputs": [ |
| 349 | + { |
| 350 | + "name": "stdout", |
| 351 | + "output_type": "stream", |
| 352 | + "text": [ |
| 353 | + "DriveChannel(0) defaults to a modulation frequency of 4.974293640960457 GHz.\n", |
| 354 | + "MeasureChannel(0) defaults to a modulation frequency of 6.993427855 GHz.\n" |
| 355 | + ] |
| 356 | + }, |
330 | 357 | { |
331 | 358 | "name": "stderr", |
332 | 359 | "output_type": "stream", |
|
337 | 364 | } |
338 | 365 | ], |
339 | 366 | "source": [ |
340 | | - "defaults = backend.defaults()\n", |
| 367 | + "q0_freq = defaults.qubit_freq_est[0] # Hz\n", |
| 368 | + "q0_meas_freq = defaults.meas_freq_est[0] # Hz\n", |
341 | 369 | "\n", |
342 | | - "q0_freq = defaults.qubit_freq_est[0] \n", |
343 | | - "q0_meas_freq = defaults.meas_freq_est[0]\n", |
| 370 | + "GHz = 1e-9\n", |
| 371 | + "print(f\"DriveChannel(0) defaults to a modulation frequency of {q0_freq*GHz} GHz.\")\n", |
| 372 | + "print(f\"MeasureChannel(0) defaults to a modulation frequency of {q0_meas_freq*GHz} GHz.\")" |
| 373 | + ] |
| 374 | + }, |
| 375 | + { |
| 376 | + "cell_type": "markdown", |
| 377 | + "metadata": {}, |
| 378 | + "source": [ |
| 379 | + "### Pulse Schedule definitions for QuantumCircuit instructions\n", |
344 | 380 | "\n", |
345 | | - "inst_map = defaults.instruction_schedule_map" |
| 381 | + "Finally, one of the most important aspects of the `backend` for `Schedule` building is the `InstructionScheduleMap`. This is a basic mapping from a circuit operation's name and qubit to the default pulse-level implementation of that instruction. " |
| 382 | + ] |
| 383 | + }, |
| 384 | + { |
| 385 | + "cell_type": "code", |
| 386 | + "execution_count": 14, |
| 387 | + "metadata": {}, |
| 388 | + "outputs": [ |
| 389 | + { |
| 390 | + "name": "stdout", |
| 391 | + "output_type": "stream", |
| 392 | + "text": [ |
| 393 | + "<InstructionScheduleMap(1Q instructions:\n", |
| 394 | + " q0: {'MEAS', 'measure', 'id', 'u1', 'u3', 'x', 'u2'}\n", |
| 395 | + "Multi qubit instructions:\n", |
| 396 | + ")>\n" |
| 397 | + ] |
| 398 | + } |
| 399 | + ], |
| 400 | + "source": [ |
| 401 | + "inst_map = defaults.instruction_schedule_map\n", |
| 402 | + "print(inst_map)" |
346 | 403 | ] |
347 | 404 | }, |
348 | 405 | { |
349 | 406 | "cell_type": "markdown", |
350 | 407 | "metadata": {}, |
351 | 408 | "source": [ |
352 | | - "### Pulse Schedule definitions for QuantumCircuit instructions" |
| 409 | + "Rather than build a measurement schedule from scratch, let's see what was calibrated by the backend to measure the qubits on this device:" |
353 | 410 | ] |
354 | 411 | }, |
355 | 412 | { |
356 | 413 | "cell_type": "code", |
357 | | - "execution_count": 13, |
| 414 | + "execution_count": 15, |
358 | 415 | "metadata": {}, |
359 | 416 | "outputs": [ |
360 | 417 | { |
361 | 418 | "data": { |
| 419 | + "image/png": "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\n", |
362 | 420 | "text/plain": [ |
363 | | - "False" |
| 421 | + "<Figure size 720x864 with 1 Axes>" |
364 | 422 | ] |
365 | 423 | }, |
366 | | - "execution_count": 13, |
| 424 | + "execution_count": 15, |
367 | 425 | "metadata": {}, |
368 | 426 | "output_type": "execute_result" |
369 | 427 | } |
370 | 428 | ], |
371 | 429 | "source": [ |
372 | | - "inst_map.get('measure', (q for q in range(config.n_qubits)))\n", |
373 | | - "\n", |
374 | | - "inst_map.get('u1', 0, P0=3.1415)\n", |
| 430 | + "measure_schedule = inst_map.get('measure', [q for q in range(config.n_qubits)])\n", |
| 431 | + "measure_schedule.draw()" |
| 432 | + ] |
| 433 | + }, |
| 434 | + { |
| 435 | + "cell_type": "markdown", |
| 436 | + "metadata": {}, |
| 437 | + "source": [ |
| 438 | + "This can easily be appended to your own Pulse `Schedule` (`sched += inst_map.get('measure', <qubits>) << sched.duration`)!\n", |
375 | 439 | "\n", |
376 | | - "inst_map.has('x', 3) # Does qubit 3 have an x gate defined on it?" |
| 440 | + "Likewise, each qubit will have a `Schedule` defined for each basis gate, and they can be appended directly to any `Schedule` you build." |
| 441 | + ] |
| 442 | + }, |
| 443 | + { |
| 444 | + "cell_type": "code", |
| 445 | + "execution_count": 16, |
| 446 | + "metadata": {}, |
| 447 | + "outputs": [ |
| 448 | + { |
| 449 | + "data": { |
| 450 | + "text/plain": [ |
| 451 | + "False" |
| 452 | + ] |
| 453 | + }, |
| 454 | + "execution_count": 16, |
| 455 | + "metadata": {}, |
| 456 | + "output_type": "execute_result" |
| 457 | + } |
| 458 | + ], |
| 459 | + "source": [ |
| 460 | + "# You can use `has` to see if an operation is defined. Ex: Does qubit 3 have an x gate defined?\n", |
| 461 | + "inst_map.has('x', 3)" |
| 462 | + ] |
| 463 | + }, |
| 464 | + { |
| 465 | + "cell_type": "code", |
| 466 | + "execution_count": 17, |
| 467 | + "metadata": {}, |
| 468 | + "outputs": [ |
| 469 | + { |
| 470 | + "data": { |
| 471 | + "text/plain": [ |
| 472 | + "Schedule((0, FrameChangeInstruction(FrameChange(phase=-3.142, name=\"fc0\"), DriveChannel(0))), name=\"u1\")" |
| 473 | + ] |
| 474 | + }, |
| 475 | + "execution_count": 17, |
| 476 | + "metadata": {}, |
| 477 | + "output_type": "execute_result" |
| 478 | + } |
| 479 | + ], |
| 480 | + "source": [ |
| 481 | + "# Some circuit operations take parameters. U1 takes a rotation angle:\n", |
| 482 | + "inst_map.get('u1', 0, P0=3.1415)" |
| 483 | + ] |
| 484 | + }, |
| 485 | + { |
| 486 | + "cell_type": "markdown", |
| 487 | + "metadata": {}, |
| 488 | + "source": [ |
| 489 | + "While building your schedule, you can also use `inst_map.add(name, qubits, schedule)` to store useful `Schedule`s that you've made yourself. " |
377 | 490 | ] |
378 | 491 | }, |
379 | 492 | { |
|
0 commit comments