fock_evolution
qoptcraft.evolution.fock_evolution
fock_evolution(scattering_matrix, fock_in, method='permanent glynn')
Evolution of a single Fock state using the definition given by basic quantum mechanics.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
scattering_matrix |
NDArray
|
scattering matrix of a linear optical interferometer. |
required |
fock_in |
Fock
|
fock state to evolve. |
required |
method |
str
|
method to calculate the evolution of the Fock state. Options are 'heisenberg', 'permanent glynn' or 'permanent ryser'. Default is 'permanent glynn'. |
'permanent glynn'
|
Returns:
Name | Type | Description |
---|---|---|
NDArray |
NDArray
|
fock state given in the photon basis. |
Source code in qoptcraft/evolution/fock_evolution.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
fock_evolution_heisenberg(scattering_matrix, fock_in)
Evolution of a single Fock state using the definition given by basic quantum mechanics.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
scattering_matrix |
NDArray
|
scattering matrix of a linear optical interferometer. |
required |
fock_in |
Fock
|
fock state to evolve. |
required |
Returns:
Name | Type | Description |
---|---|---|
NDArray |
NDArray
|
fock state given in the photon basis. |
Source code in qoptcraft/evolution/fock_evolution.py
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
|
fock_evolution_permanent(scattering_matrix, fock_in, method='glynn', photon_basis=None)
Evolution of a single Fock state using the definition given by basic quantum mechanics.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
scattering_matrix |
NDArray
|
scattering matrix of a linear optical interferometer. |
required |
fock_in |
Fock
|
fock state to evolve. |
required |
method |
str
|
method to compute the permanent. Must be 'glynn' or 'ryser'. Defaults to 'glynn'. |
'glynn'
|
Returns:
Name | Type | Description |
---|---|---|
NDArray |
NDArray
|
fock state given in the photon basis. |
Source code in qoptcraft/evolution/fock_evolution.py
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
|
in_out_submatrix(matrix, fock_in, fock_out)
Return a matrix with row index 'i' repeated 'row_rep' times and column index 'j' repeated 'col_rep' times.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
matrix |
m, m) array
|
Linear optical scattering matrix with m modes. |
required |
Returns:
Type | Description |
---|---|
NDArray
|
(n, n) array: Optical scattering matrix with m modes and n photons. |
Source code in qoptcraft/evolution/fock_evolution.py
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
|