channels
Functional direct-channel constructors and reusable kernels.
Channel(dims, apply, *, params=None, kraus=None, name='Channel')
Create a channel from a pure density-matrix kernel.
Source code in jaxquantum/circuits/channels.py
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | |
ElementwiseChannel(dims, factor, *, params=None, kraus=None, name='ElementwiseChannel')
Create rho[m,n] *= factor[m,n] channel.
Source code in jaxquantum/circuits/channels.py
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | |
ShiftedChannel(dimension, coefficients, shifts, *, params=None, kraus=None, name='ShiftedChannel')
Create a channel from output coefficients and input-index shifts.
Source code in jaxquantum/circuits/channels.py
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | |
apply_channel(channel, rho, axes=(-2, -1))
Apply a channel to density-matrix axes, with Kraus fallback.
Source code in jaxquantum/circuits/channels.py
69 70 71 72 73 74 75 76 77 78 79 80 | |
apply_elementwise_channel(rho, params)
Multiply trailing density-matrix axes by a channel factor.
Source code in jaxquantum/circuits/channels.py
15 16 17 | |
apply_kraus_map(kraus, rho)
Apply a dense Kraus stack whose leading axis indexes branches.
Source code in jaxquantum/circuits/channels.py
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | |
apply_shifted_channel(rho, params)
Apply output-indexed shifted Kraus branches.
Source code in jaxquantum/circuits/channels.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | |