You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-35Lines changed: 11 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,13 +3,11 @@
3
3
4
4
5
5
# Nbed
6
-
7
6
This package implements projection-based embedding methods to reduce the size of a molecular Hamiltonain via embedding in DFT. Output qubit hamiltonains can be solved by a suitable quantum algorithm.
8
7
9
8
Nbed uses PySCF as a backend for chemistry caluculations, which is not supported on Windows. Alternative chemistry backends are planned, however in the mean time this package will work only for Linux and MacOS.
10
9
11
10
## Documentation
12
-
13
11
Full documentation is available at [https://nbed.readthedocs.io](https://nbed.readthedocs.io).
14
12
15
13
## Installation
@@ -20,21 +18,19 @@ The package is available on [PyPI](https://pypi.org/project/nbed/) and can be in
20
18
```
21
19
pip install nbed
22
20
```
23
-
### Poetry
24
21
25
-
Development of Nbed uses the packaging and dependency manager Poetry, to install it from the command line run::
26
-
27
-
pip install poetry
22
+
### Dependencies
28
23
24
+
Development of Nbed uses the packaging and dependency manager uv, to install it from the command line run::
25
+
```shell
26
+
pip install uv
27
+
```
29
28
with this installed, you can start working on the package by running:
29
+
```shell
30
+
uv venv .venv/
31
+
uv pip install .
32
+
```
30
33
31
-
poetry install
32
-
33
-
which will create a virtual environment with the required dependencies.
34
-
35
-
This virtual environment subsequently can be activated with:
36
-
37
-
poetry shell
38
34
## Use
39
35
40
36
The package has three main interfaces, each to the same function `embed/nbed`.
@@ -121,38 +117,18 @@ from nbed import load_hamiltonian
121
117
qham = load_hamiltonian(<path to hamiltonian JSON>, <output type>)
122
118
```
123
119
124
-
## Structure
125
-
126
-
```
127
-
Nbed
128
-
docs_source
129
-
nbed
130
-
notebooks
131
-
logs
132
-
tests
133
-
```
134
-
### nbed
135
-
136
-
Main functionality of the package.
120
+
## Overview
137
121
138
122
-`embed.py` - main functionality
139
123
-`driver.py` - Class which carries out the algorithm. Main point of access for functionality.
140
124
-`ham_converter.py` - class to convert between Hamiltonian formats as well as save to and read from JSON.
141
125
-`ham_builder.py` - class to build Hamiltonians from quantum chemistry calculations.
142
126
-`localizers/` - Classes which perform localization.
143
-
-`mol_plot.py` - functions to plot the systems localised molecular orbitals.
144
127
-`utils.py` - log settings and cli parsing.
145
128
146
-
### Notebooks
129
+
##Examples and Explainers
147
130
This [folder](https://github.com/UCL-CCS/Nbed/tree/master/docs/source/notebooks) contains jupyter notebooks which explain the embedding procedure in detail, including relevant theory. Notebooks to replicate results presented in publications can also be found here.
148
131
149
132
150
-
### Tests
151
-
152
-
Contains all tests of the package. These can be run from the command line using `pytest`.
153
-
154
-
### Logs
155
-
Each time the package is initialised a new log will be started in the top level director at `Nbed/.nbed.log`.
156
-
157
133
## Development
158
134
If you would like to contribute to this code base please first create an issue and a fork of the repo from which to make your pull request.
0 commit comments