kwant issueshttps://gitlab.kwant-project.org/kwant/kwant/-/issues2020-10-22T08:57:46Zhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/391Profiling of Cython cdef functions is enabled permanently2020-10-22T08:57:46ZChristoph GrothProfiling of Cython cdef functions is enabled permanentlyOur `setup.py` enables Cython's "[linetrace](https://cython.readthedocs.io/en/latest/src/tutorial/profiling_tutorial.html#enabling-line-tracing)" directive. This does not yet enable line tracing (doing so requires defining the C macro `...Our `setup.py` enables Cython's "[linetrace](https://cython.readthedocs.io/en/latest/src/tutorial/profiling_tutorial.html#enabling-line-tracing)" directive. This does not yet enable line tracing (doing so requires defining the C macro `CYTHON_TRACE`), but it has the unwelcome effect of permanently enabling Cython's support for profiling. At least in some cases (for example automatic magnetic gauge computations) this seriously degrades performance.
This issue was introduced by 10faf93a16bee7c596283d97bb31a85b48304ea9. Any fix should preserve the ability to enable line tracing (and profiling) through the `build.conf` file.
See also the [related mailing list discussion](https://mail.python.org/archives/list/kwant-discuss@python.org/message/24VUFSFR3637U72I2QK333JYZNOD5NJS/).Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/350Release 1.4.22020-09-03T16:26:12ZAnton AkhmerovRelease 1.4.2# Release %v1.4.2
This is a checklist based on the [release document](RELEASE.rst); consult it for more details.
## Preflight checks
- [x] All the issues from this milestone are resolved
- [x] Ensure that tests pass (either on [stable...# Release %v1.4.2
This is a checklist based on the [release document](RELEASE.rst); consult it for more details.
## Preflight checks
- [x] All the issues from this milestone are resolved
- [x] Ensure that tests pass (either on [stable](https://gitlab.kwant-project.org/kwant/kwant/tree/stable) or on [master](https://gitlab.kwant-project.org/kwant/kwant/tree/master) branch)
- [x] Documentation looks correct https://test.kwant-project.org/doc/<branch name>
- [x] [Whatnew](doc/source/pre/whatsnew) is up to date
- [x] `AUTHORS.rst` and `.mailmap` are up to date (run `git shortlog -s | sed -e "s/^ *[0-9\t ]*//"| xargs -i sh -c 'grep -q "{}" AUTHORS.rst || echo "{}"'`)
## Make a release, but do not publish it yet
- [x] Tag the release
- [x] Build the source tarball and inspect it
- [x] Build the documentation
## Test packaging
These steps may be done in parallel
### Debian
- [x] Follow the steps for building the Debian packages from [RELEASE.rst](RELEASE.rst)
### Conda
- [x] Publish the release candidate source tarball "somewhere on the internet" (SOTI)
- [x] open a PR to the [conda-forge/kwant-feedstock](https://github.com/conda-forge/kwant-feedstock/) repo on Github. Make sure to mark the PR as WIP so that it doesn't get merged in accidentally
- [x] set the upstream tarball URL (in meta.yaml) to SOTI
- [x] update the tarball hash in meta.yaml
- [x] See if the package builds
## Publish the release
- [x] push the tag
- [x] upload the source tarball to PyPI
- [x] upload the source tarball to the Kwant website
- [x] publish the debian packages
- [x] publish the ubuntu packages
- [x] create a new version of the Kwant conda-forge feedstock, and open a pull request to upstream
- [ ] upload the documentation to the Kwant websiteKwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/303`attach_lead` remove lead discrete symmetries when expanding greater than nea...2019-07-04T06:37:58ZJoseph Weston`attach_lead` remove lead discrete symmetries when expanding greater than nearest-neighbor hoppingsAn easy fix; just need to set `conservation_law` etc. when copying the builder.An easy fix; just need to set `conservation_law` etc. when copying the builder.Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/283List bugfixes in whatsnew2019-04-23T12:27:21ZChristoph GrothList bugfixes in whatsnewWe decided to start listing user-visible changes to stable versions (that's mostly bugfixes) starting with 1.4.
However, for now, 1.4.0's whatsnew file still contains a link to a diff between `1.4.0` and `latest-1.4`. That's not a prob...We decided to start listing user-visible changes to stable versions (that's mostly bugfixes) starting with 1.4.
However, for now, 1.4.0's whatsnew file still contains a link to a diff between `1.4.0` and `latest-1.4`. That's not a problem, though, because there are no fixes yet.
The RELEASE-file should be also updated accordingly.Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/279KPM tutorial: set the RNG seed?2019-06-12T13:00:53ZChristoph GrothKPM tutorial: set the RNG seed?I noticed that the KPM tutorial produces different figures each time that is run. This is of course because of the way that KPM works. However, shouldn't the tutorial script set the RNG seed to some specific value to make sure that the...I noticed that the KPM tutorial produces different figures each time that is run. This is of course because of the way that KPM works. However, shouldn't the tutorial script set the RNG seed to some specific value to make sure that the figures are exactly reproducible? In practice, when using KPM isn't it also a good idea to set the seed in order to simplify debugging and exact reproducibility of results?
(I do not consider this issue particularly important, but important enough to write it down.)Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/278update RELEASE.rst to allow a more parallel workflow2019-02-17T09:57:01ZJoseph Westonupdate RELEASE.rst to allow a more parallel workflowThis issue will contain observations about the release process (as experienced when releasing 1.4) and proposals for how to improve the workflowThis issue will contain observations about the release process (as experienced when releasing 1.4) and proposals for how to improve the workflowKwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/277add zenodo to documentation2019-03-01T16:37:01ZAnton Akhmerovadd zenodo to documentationI can think of two places:
- RELEASE.rst
- Citing (needs a discussion of how to describe it)I can think of two places:
- RELEASE.rst
- Citing (needs a discussion of how to describe it)Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/274MUMPS not being linked against in 'stable' test environment2022-03-17T15:48:27ZJoseph WestonMUMPS not being linked against in 'stable' test environmentLooking at any of the CI logs for testing in the 'stable' environment (uses Conda with the oldest supported dependency versions)
shows that the mumps tests are skipped.
This indicates that mumps is not being linked against, however it i...Looking at any of the CI logs for testing in the 'stable' environment (uses Conda with the oldest supported dependency versions)
shows that the mumps tests are skipped.
This indicates that mumps is not being linked against, however it is not clear *why*.
Initially I thought that it may be due to `include_dirs` and `library_dirs` not being set correctly (to the appropriate paths of the conda environment), however if this were the case then the `latest` environment should also have this problem, and it doesn't.Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/234Improve html representation of discretizer's builders2019-11-28T14:39:32ZAnton AkhmerovImprove html representation of discretizer's buildersHere is what we have now (as of v1.4.0a1):
![image](/uploads/b4f8ed42c49384a463b71d57586befe7/image.png)
Several improvements come to mind:
- It's already an html representation, we could sparingly apply a couple of tags
- We should me...Here is what we have now (as of v1.4.0a1):
![image](/uploads/b4f8ed42c49384a463b71d57586befe7/image.png)
Several improvements come to mind:
- It's already an html representation, we could sparingly apply a couple of tags
- We should mention that this is a template builder produced by discretization
- We should hide the internal names and expose the parameters that this builder expects, as well as the number of d.o.f.Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/215hoppings due to Rashba term in Kwant tutorial 2.32019-07-22T12:38:06ZLin Wanghoppings due to Rashba term in Kwant tutorial 2.3Hamiltonian:
```math
H =-\frac{\hbar^2}{2m}(\partial^2_x + \partial^2_y) - i \alpha(\partial_x \sigma_y - \partial_y \sigma_x) + E_Z \sigma_z + V(y)
```
I take hoppings due to Rashba term along x direction for example.
```python
syst[...Hamiltonian:
```math
H =-\frac{\hbar^2}{2m}(\partial^2_x + \partial^2_y) - i \alpha(\partial_x \sigma_y - \partial_y \sigma_x) + E_Z \sigma_z + V(y)
```
I take hoppings due to Rashba term along x direction for example.
```python
syst[kwant.builder.HoppingKind((1, 0), lat, lat)] = \
-t * sigma_0 + 1j * alpha * sigma_y / 2
```
Note that `+ 1j * alpha * sigma_y / 2` should change to `- 1j * alpha * sigma_y / 2`. Things are similar for
hoppings along y direction.Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/214plots in tutorial issue warnings about data over/underflow2019-06-12T11:44:10ZJoseph Westonplots in tutorial issue warnings about data over/underflow82baedca2ad07113729fb34e8d20c541756017a2 added heuristics for setting colormap limits in `plotter.map`, however the `discretize.py` and `magnetic_texture.py` tutorial scripts now complain that a small amount (~ 1%) of the data is overflo...82baedca2ad07113729fb34e8d20c541756017a2 added heuristics for setting colormap limits in `plotter.map`, however the `discretize.py` and `magnetic_texture.py` tutorial scripts now complain that a small amount (~ 1%) of the data is overflowing the limitsKwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/192Simplify plotting tutorial2020-10-22T09:03:10ZAnton AkhmerovSimplify plotting tutorialAfter !162 we color sites by site family by default. This makes parts of the plotting tutorial look weird :smiley: :
> Hey by default Kwant system looks boring like this
> ![image](/uploads/6c4939865caa02eda80c339be6f77f87/image.png)
...After !162 we color sites by site family by default. This makes parts of the plotting tutorial look weird :smiley: :
> Hey by default Kwant system looks boring like this
> ![image](/uploads/6c4939865caa02eda80c339be6f77f87/image.png)
> ...but if we provide a couple of extra options we get this exciting plot which is much easier to understand:
> ![image](/uploads/c65e6851c0df89d2b9df58069a3830b6/image.png)
I think we should remove the duplicate parts of the tutorial (also important for plotting of 3D systems).Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/187Dummy methods of Builders appear in documentation2022-10-06T15:44:33ZJoseph WestonDummy methods of Builders appear in documentationIn !182 we add dummy methods to `Builder` to tell users when they should finalize their systems.
However, these methods *also* appear in [the documentation][docs] for `Builder`, which is confusing.
[docs]: https://kwant-project.org/doc...In !182 we add dummy methods to `Builder` to tell users when they should finalize their systems.
However, these methods *also* appear in [the documentation][docs] for `Builder`, which is confusing.
[docs]: https://kwant-project.org/doc/1/reference/generated/kwant.builder.Builder#kwant.builder.Builder.hamiltonian
---
I am not sure how to tell sphinx not to document certain methods, as all of the reference documentation pages are generated automatically using [`autosummary`][sum]. Probably we will have to dig our hands inside sphinx (again).
[sum]: http://www.sphinx-doc.org/en/stable/ext/autosummary.htmlKwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/152Improve treatment of value functions in the tutorial2020-10-22T09:08:38ZChristoph GrothImprove treatment of value functions in the tutorialIn the Kwant tutorial value functions are introduced in the section "Spatially dependent values through functions" of "More interesting systems: spin, potential, shape". The first presentation is without parameters and the (equally impo...In the Kwant tutorial value functions are introduced in the section "Spatially dependent values through functions" of "More interesting systems: spin, potential, shape". The first presentation is without parameters and the (equally important) use as system-wide parameters is quite hidden. I suggest to rename the section to "Using function as builder values" and explain both usages on equal footing.
Also, we should switch the complete tutorial from args to params.Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/151List the Kwant features that are highlighted in each tutorial text2020-10-22T09:08:12ZChristoph GrothList the Kwant features that are highlighted in each tutorial textI was explaining to someone how value functions in Kwant work, and wanted to refer him to the tutorial. it was not immediately clear to me which tutorial first covers value functions. By grepping the tutorial scripts for "args" I found...I was explaining to someone how value functions in Kwant work, and wanted to refer him to the tutorial. it was not immediately clear to me which tutorial first covers value functions. By grepping the tutorial scripts for "args" I found out that it's the chapter "More interesting systems: spin, potential, shape". I think it's good to have such physical titles, but we should also clearly list which Kwant features are highlighted. This information is actually present, but it's hidden in the example scripts themselves. I think that it should be moved into the tutorials. We could show it after the section titles.Kwant 1.4.xhttps://gitlab.kwant-project.org/kwant/kwant/-/issues/87Revisit tutorial building2019-05-23T07:54:00ZAnton AkhmerovRevisit tutorial buildingRight now our tutorial build machinery can be improved in several ways:
* I believe we should aim at having notebooks as one of the possible formats of interacting with the tutorial contents.
* We can make it more robust and user-friendl...Right now our tutorial build machinery can be improved in several ways:
* I believe we should aim at having notebooks as one of the possible formats of interacting with the tutorial contents.
* We can make it more robust and user-friendly to modify. The current solution is only ever used in Kwant, and requires intricate knowledge of the machinery to implement anything beyond trivial changes.
I am not sure how we should address those. We may consider using notebooks as sources via e.g. `nbsphinx` extension, however in order to understand what we may use also requires listing the requirements of what we want to achieve. I'll make a list in a followup message.Kwant 1.4.x