Functions for printing channels.
More...
Functions for printing channels.
◆ reportKrausMap()
Prints a KrausMap.
- Example
KrausMap map = createInlineKrausMap(1, 3, {
{{1,2},{3,4}},
{{5,5},{6,6}},
{{1i,2i},{-3i,-4i}}
});
void reportKrausMap(KrausMap map)
KrausMap (1 qubit, 3 2x2 matrices, 1 4x4 superoperator, 528 bytes):
[matrix 0]
1 2
3 4
[matrix 1]
5 5
6 6
[matrix 2]
i 2i
-3i -4i
- Parameters
-
- Exceptions
-
- Author
- Tyson Jones
Definition at line 471 of file channels.cpp.
471 {
472 validate_krausMapFields(map, __func__);
473 validate_numReportedNewlinesAboveZero(__func__);
474
475
476
477 validate_krausMapIsSynced(map, __func__);
478
479
480 bool isDense = true;
481 int numNodes = 1;
482 size_t krausMem = mem_getLocalMatrixMemoryRequired(map.
numQubits, isDense, numNodes) * map.
numMatrices;
484 size_t strucMem = sizeof(map);
485
486 printer_sync();
487
488
489 size_t totalMem = krausMem + superMem + strucMem;
490 print_header(map, totalMem);
491 print_elems(map);
492
493
494 print_oneFewerNewlines();
495
496 printer_sync();
497}
◆ reportSuperOp()
Prints a SuperOp.
- Example
SuperOp op = createInlineSuperOp(1, {
{1,2,3,4},
{5,-(10E-2)*3.14i,7,8},
{9,10,11,12},
{13,14,15,16+1.23i}
});
void reportSuperOp(SuperOp op)
SuperOp (1 qubit, 4x4 qcomps, 304 bytes):
1 2 3 4
5 -0.314i 7 8
9 10 11 12
13 14 15 16+1.23i
- Parameters
-
- Exceptions
-
- Author
- Tyson Jones
Definition at line 447 of file channels.cpp.
447 {
448 validate_superOpFields(op, __func__);
449 validate_numReportedNewlinesAboveZero(__func__);
450
451
452
453 validate_superOpIsSynced(op, __func__);
454
455
456 size_t elemMem = mem_getLocalSuperOpMemoryRequired(op.
numQubits);
457 size_t structMem = sizeof(op);
458
459 printer_sync();
460
461 print_header(op, elemMem + structMem);
462 print_elems(op);
463
464
465 print_oneFewerNewlines();
466
467 printer_sync();
468}