Compare commits
2 Commits
9134ebcff6
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 2d0adf1038 | |||
| cb000c6067 |
38
README.md
38
README.md
@@ -18,4 +18,40 @@ See the [docs/*.ipynb](docs) files.
|
||||
**Note:** The Git provider _Gitea_ does not have a display format for ipynb-files.
|
||||
To properly view and run the notebooks, users require python v3.10.x and the jupyter module.
|
||||
To install the package requirements, call `just build`
|
||||
or `python3 -m pip install -r requirements.txt`.
|
||||
or `python3 -m pip install -r requirements.txt`.#
|
||||
|
||||
## Usage ##
|
||||
|
||||
To run the presentations:
|
||||
|
||||
- Ensure you have a working copy of [**python 3.10.x**](https://www.python.org/downloads) on your system with rights to install packages.
|
||||
- Clone the repository.
|
||||
- Install the requirements. Navigate to the root of the repository and carry out:
|
||||
```bash
|
||||
python3 -m pip install --disable-pip-version-check -r requirements.txt
|
||||
# for Windows users:
|
||||
py -3 -m pip install --disable-pip-version-check -r requirements.txt
|
||||
```
|
||||
- Start the desired notebooks using the [jupyter](https://jupyter.org) UI or run
|
||||
```bash
|
||||
python3 -m jupyter notebook notebooks/xyz.ipynb
|
||||
# for Windows users:
|
||||
py -3 -m jupyter notebook notebooks/xyz.ipynb
|
||||
```
|
||||
to run the notebook `docs/xyz.ipynb`.
|
||||
|
||||
Alternatively we recommend the following:
|
||||
|
||||
- Ensure you have a working copy of [**python 3.10.x**](https://www.python.org/downloads) on your system with rights to install packages.
|
||||
- Ensure you have **bash** (for Windows users see the [Git SCM](https://gitforwindows.org))
|
||||
and the [**justfile**](https://github.com/casey/just#installation) tool
|
||||
(Windows users may wish to install [Chocolatey](https://chocolatey.org/install) beforehand).
|
||||
- Clone the repository.
|
||||
- Navigate in a bash terminal to the root of the repository and make use of the following commands:
|
||||
```bash
|
||||
# for setup:
|
||||
just build
|
||||
# to run the notebook docs/xyz.ipynb:
|
||||
just run xyz
|
||||
```
|
||||
(ensure that the extension is no included in the command!).
|
||||
|
||||
@@ -30,9 +30,8 @@
|
||||
"import sys;\n",
|
||||
"\n",
|
||||
"# NOTE: need this to force jupyter to reload imports:\n",
|
||||
"for key in list(sys.modules.keys()):\n",
|
||||
" if key.startswith('src.'):\n",
|
||||
" del sys.modules[key];\n",
|
||||
"for key in filter(lambda key: key.startswith('src.'), list(sys.modules.keys())):\n",
|
||||
" del sys.modules[key];\n",
|
||||
"\n",
|
||||
"os.chdir(os.path.dirname(_dh[0]));\n",
|
||||
"sys.path.insert(0, os.getcwd());\n",
|
||||
@@ -48,18 +47,12 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# User input:\n",
|
||||
"N = 4; # dimension of the Hilbert space.\n",
|
||||
"N = 6; # dimension of the Hilbert space; must be divisible by 2 for this construction.\n",
|
||||
"d = 4;\n",
|
||||
"\n",
|
||||
"# If you ensure that the failure of S_{T,K} >= 0 only occurs for K = {1,2,...,d}\n",
|
||||
"# + you want S_TK > 0 (strictly) for all K ≠ {1,2,...,d}:\n",
|
||||
"alpha = 1/math.sqrt(d - 0.5);\n",
|
||||
"\n",
|
||||
"# If you ensure that the failure of S_{T,K} >= 0 only occurs for K = {1,2,...,d}\n",
|
||||
"# alpha = 1/math.sqrt(d - 1);\n",
|
||||
"\n",
|
||||
"# Otherwise:\n",
|
||||
"# alpha = 1;"
|
||||
"# force k-th order dissipation operators to be strictly postive for k < k0\n",
|
||||
"# force k-th order dissipation operators to be non-positive for k >= k0\n",
|
||||
"# one can choose 2 <= k0 <= d\n",
|
||||
"k0 = d;"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -69,6 +62,7 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# create the generators `A_i` of the marginal semigroups `T_i`:`\n",
|
||||
"alpha = 1/math.sqrt(k0 - 0.5);\n",
|
||||
"A = [\n",
|
||||
" generate_semigroup_generator(\n",
|
||||
" shape = [N, N],\n",
|
||||
|
||||
@@ -46,7 +46,7 @@ def generate_semigroup_generator(
|
||||
- `base` - <int> If `rational = True`, fixes the denominator of the rational numbers.
|
||||
- `alpha` - <float> Additional parameter to scale the D_i operators.
|
||||
|
||||
NOTE: in the paper `α = 1` was chosen. However one can choose any value in `(1/√d, \infty)`.
|
||||
NOTE: One can choose any value of `α ∈ (1/√d, \infty)`.
|
||||
By choosing any value `α ≥ 1/√(d-1)`, by the computations in Proposition 5.3
|
||||
one can force that the S_TK operators only fail to be positive when |K| > d-1.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user