diff --git a/docs/source/graphene_example.md b/docs/source/graphene_example.md index 74cc1469573b777a2d442c1de87b1d7ca8052135..699b9480b6b41dc3b3a93529e34412a004420e27 100644 --- a/docs/source/graphene_example.md +++ b/docs/source/graphene_example.md @@ -15,7 +15,7 @@ kernelspec: ## The physics -This tutorial serves as a simple example of using the meanfield algorithm in two dimensions in combination with using Kwant. We will consider a simple tight-binding model of graphene with a Hubbard interaction. The graphene system is first created using Kwant. For the basics of creating graphene with Kwant we refer to [this](https://kwant-project.org/doc/1/tutorial/graphene) tutorial. +This tutorial serves as a simple example of using the mean-field algorithm in two dimensions in combination with using Kwant. We will consider a simple tight-binding model of graphene with a Hubbard interaction. The graphene system is first created using Kwant. For the basics of creating graphene with Kwant we refer to [this](https://kwant-project.org/doc/1/tutorial/graphene) tutorial. We begin with the basic imports @@ -54,7 +54,7 @@ h_int = kwant_utils.builder_to_tb(int_builder, params) _model = pymf.Model(h_0, h_int, filling=2) ``` -To start the meanfield calculation we also need a starting guess. We will use our random guess generator for this. It creates a random Hermitian hopping dictionary based on the hopping keys provided and the number of degrees of freedom specified. As we don't expect the mean-field solution to contain terms more than the hoppings from the interacting part, we can use the hopping keys from the interacting part. We will use the same number of degrees as freedom as both the non-interacting and interacting part, so that they match. +To start the mean-field calculation we also need a starting guess. We will use our random guess generator for this. It creates a random Hermitian hopping dictionary based on the hopping keys provided and the number of degrees of freedom specified. As we don't expect the mean-field solution to contain terms more than the hoppings from the interacting part, we can use the hopping keys from the interacting part. We will use the same number of degrees as freedom as both the non-interacting and interacting part, so that they match. ```{code-cell} ipython3 guess = pymf.generate_guess(frozenset(h_int), len(list(h_0.values())[0])) @@ -62,7 +62,7 @@ mf_sol = pymf.solver(_model, guess, nk=18, optimizer_kwargs={'M':0}) full_sol = pymf.add_tb(h_0, mf_sol) ``` -After we have defined the guess, we feed it together with the model into the meanfield solver. The meanfield solver will return a hopping dictionary with the meanfield approximation. We can then add this solution to the non-interacting part to get the full solution. In order to get the solution, we specified the number of k-points to be used in the calculation. This refers to the k-grid used in the Brillouin zone for the density matrix. +After we have defined the guess, we feed it together with the model into the mean-field solver. The mean-field solver will return a hopping dictionary with the mean-field approximation. We can then add this solution to the non-interacting part to get the full solution. In order to get the solution, we specified the number of k-points to be used in the calculation. This refers to the k-grid used in the Brillouin zone for the density matrix. ## Creating a phase diagram of the gap diff --git a/docs/source/hubbard_1d.md b/docs/source/hubbard_1d.md index 3508a894496334d761894c78c8968b38b33b1490..a4c6f0c1616b6be22f5e88520071815355cfac26 100644 --- a/docs/source/hubbard_1d.md +++ b/docs/source/hubbard_1d.md @@ -73,7 +73,7 @@ U=0.5 h_int = {(0,): U * np.kron(np.ones((2, 2)), np.eye(2)),} ``` -In order to find a meanfield solution, we combine the non interacting Hamiltonian with the interaction Hamiltonian and the relevant filling into a `Model` object. We then generate a starting guess for the meanfield solution and solve the model using the `solver` function. It is important to note that the guess will influence the possible solutions which the `solver` can find in the meanfield procedure. The `generate_guess` function generates a random Hermitian tight-binding dictionary, with the keys provided as hopping vectors and the values of the size as specified. +In order to find a mean-field solution, we combine the non interacting Hamiltonian with the interaction Hamiltonian and the relevant filling into a `Model` object. We then generate a starting guess for the mean-field solution and solve the model using the `solver` function. It is important to note that the guess will influence the possible solutions which the `solver` can find in the mean-field procedure. The `generate_guess` function generates a random Hermitian tight-binding dictionary, with the keys provided as hopping vectors and the values of the size as specified. ```{code-cell} ipython3 filling = 2 @@ -82,4 +82,4 @@ guess = pymf.generate_guess(frozenset(h_int), ndof=4) mf_sol = pymf.solver(full_model, guess, nk=nk) ``` -The `solver` function returns only the meanfield correction to the non-interacting Hamiltonian. To get the full Hamiltonian, we add the meanfield correction to the non-interacting Hamiltonian. To take a look at whether the result is correct, we first do the meanfield computation for a wider range of $U$ values and then plot the gap as a function of $U$. +The `solver` function returns only the mean-field correction to the non-interacting Hamiltonian. To get the full Hamiltonian, we add the mean-field correction to the non-interacting Hamiltonian. To take a look at whether the result is correct, we first do the mean-field computation for a wider range of $U$ values and then plot the gap as a function of $U$.