Eötvös Quantum Utilities
v4.9.146
Providing the Horsepowers in the Quantum Realm
|
Class to regulerize the H1 problem of the leads by SVD decompozition. More...
Public Member Functions | |
function | AddPotential (V) |
Adds on-site potential to the Hamiltonian H0. More... | |
function | ApplyOverlapMatrices (E) |
Applies the overlap matrices to the Hamiltonians: K = H-ES. More... | |
function | Calc_Effective_Hamiltonians (E) |
Calculates the effective Hamiltonians according to Eq (48) of of PRB 78, 035407. More... | |
function | CalcSpektrum (varargin) |
Calculates the band structure of the lead. More... | |
function | Clear (MemberName) |
Clears the value of an attribute in the interface. More... | |
function | CreateClone (varargin) |
Creates a clone of the present object. More... | |
function | CreateHamiltonians (varargin) |
Creates the Hamiltonians H_0 and H_1 of the lead. More... | |
function | Decimate_Hamiltonians () |
Decimates the Hamiltonians (if the singular sites are predefined). More... | |
function | display (message, nosilent) |
Displays output messages on the screen. More... | |
function | Get_Effective_Coordinates () |
Gets the coordinates of the sites of the effective Hamiltonians. More... | |
function | Get_Effective_Hamiltonians () |
Gets the effective Hamiltonians K0_eff, K1_eff, K1adj_eff according to Eq (48) of of PRB 78, 035407. More... | |
function | Get_Effective_Overlaps () |
Gets the effective Hamiltonians S0_eff, S1_eff, S1adj_eff according to Eq (48) of of PRB 78, 035407. More... | |
function | Get_Neff () |
Gets the effective number of sites after the elimination of the singular values. More... | |
function | Get_V () |
Gets the total transformation U related to the SVD transformation. More... | |
function | getOpt () |
Retrives the structure containing the calculation parameters. More... | |
function | is_SVD_needed () |
Decides whether SVD regularization is needed or not. More... | |
function | isSuperconducting () |
Test, whether the lead is in the superconducting phase or not. More... | |
function | MomentumDependentHamiltonian (k, q) |
Construct a momentum dependent (Fourier-transformed) Hamiltonian. More... | |
function | Read (MemberName) |
Query for the value of an attribute in the interface. More... | |
function | Reset () |
Resets all elements in the object. More... | |
function | saveLeads () |
Save Lead Hamiltonians into a file 'Hamiltoni_Lead_' + num2str(Hanyadik_Lead) + '.mat'. More... | |
function | ShiftCoordinates (shift) |
Shifts the coordinates of the sites by an integer multiple of the lattice vector Coordinates.a. More... | |
function | ShiftLead (Energy) |
Shifts the on-site energies in the leads by a given energy. More... | |
function | SVD_transform () |
Regularize the Hamiltonians of the lead by SVD regularization. More... | |
function | SVDdecompozition () |
Calculates the SVD decomposition of the matrix H1. More... | |
function | SVDregularizationLead (Opt, param, varargin) |
Constructor of the class. More... | |
function | Transform2BdG () |
Transforms the Hamiltonians and the overlap matrices into the BdG model in the Nambu space representation according to New Journal of Physics 9 (2007) 278. More... | |
function | Transform2Spin () |
Transforms the Hamiltonians and the overlap matrices to include electron spin. More... | |
function | Unitary_Transform (Umtx) |
Transforms the effective Hamiltonians by a unitary transformation. More... | |
function | Write (MemberName, input) |
Sets the value of an attribute in the interface. More... | |
Static Public Member Functions | |
static function | BadInputType (variable, type) |
Throws a "bad input type" warning, with using the default value. More... | |
static function | BadInputTypeNoDefault (variable, type) |
Throws a "bad input type" warning without setting it to default. More... | |
static function | ExceedIteration () |
Throws an "iteration exceeded" warning. More... | |
Protected Member Functions | |
function | Extend_Wavefnc (wavefnc_reduced, expk) |
Extend a reduced wave function to the original basis before the SVD regularization (Eq (45) in PRB 78 035407. More... | |
function | Initialize () |
Initializes class properties. More... | |
function | InputParsing (varargin) |
Parses the optional parameters for the class constructor. More... | |
function | setM () |
Updates the number of sites in the cross section. More... | |
Protected Attributes | |
Property | coordinates |
An instance of the structure coordinates. More... | |
Property | fazis_mtx_H0 |
The matrix of the Peierls phases in the unit cell. More... | |
Property | fazis_mtx_H1 |
The matrix of the Peierls phases in the coupling matrix between the unit cells. More... | |
Property | fazis_mtx_H1t |
The matrix of the Peierls phases in the transverse coupling matrix between the unit cells. More... | |
Property | GaugeTransformationApplied |
A logical value. True if a gauge transformation was incorporated into the Hamiltonians or false otherwise. More... | |
Property | H0 |
The Hamiltonian of a unit cell. More... | |
Property | H00 |
Obsolete. More... | |
Property | H1 |
The coupling Hamiltonian between the unit cells. More... | |
Property | H1_skew_left |
The skew coupling (in the positive direction) between Hamiltonians H0 for transverse calculations. More... | |
Property | H1_skew_right |
The skew upward (in the negative direction) coupling between Hamiltonians H0 for transverse calculations. More... | |
Property | H1_transverse |
The transverse coupling between the slabs for transverse calculations. More... | |
Property | H1adj |
The coupling Hamiltonian between the unit cells in the opposite direction as H1. (For complex energies they differ from each other.) More... | |
Property | HamiltoniansCreated |
A logical value. True if the Hamiltonians were created, false otherwise. More... | |
Property | HamiltoniansDecimated |
A logical value. True if the Hamiltonians were decimated, false otherwise. More... | |
Property | Hanyadik_Lead |
The id number of the current lead. More... | |
Property | is_SVD_transformed |
true if the Hamiltonians were SVD transformed, false otherwise More... | |
Property | K0 |
K0=H0-E*S0, see Eq (4) of PRB 78, 035407. More... | |
Property | K1 |
K1=H1-E*S1, see Eq (4) of PRB 78, 035407. More... | |
Property | K1_transverse |
K1_transverse=H1_transverse-E*S1_transverse. More... | |
Property | K1adj |
K1adj=H1adj-E*S1', see Eq (4) of PRB 78, 035407. More... | |
Property | kulso_szabfokok |
List of sites in the unit cell that should be kept after decimation. More... | |
Property | Lead_Orientation |
The orientation of the lead. Set +1 is the "incoming" direction of the propagating states is defined in the +x or +y direction, and "-1" otherwise. More... | |
Property | M |
The number of the sites in the cross section. More... | |
Property | MagneticFieldApplied |
A logical value. True if magnetic field was applied in the Hamiltonians, false otherwise. More... | |
Property | Neff |
Effective number of sites after the elimination of the singular values. More... | |
Property | next_SVD_cycle |
Somethimes it is needed to perform another SVD cycle to regularize the H1 matrix. More... | |
Property | Opt |
An instance of structure Opt. More... | |
Property | OverlapApplied |
A logical value. True if the overlap integrals were applied, false otherwise. More... | |
Property | param |
An instance of the structure param. More... | |
Property | params |
An instance of the structure lead_param. More... | |
Property | q |
The tranverse momentum for transverse computations. More... | |
Property | S |
S matrix from the SVD decompozition, see Eq (41) of PRB 78, 035407. More... | |
Property | S0 |
The overlap integrals of a unit cell. More... | |
Property | S1 |
The overlap integrals between the unit cells. More... | |
Property | S1_transverse |
The overlap integrals between the slabs for transverse calculations. More... | |
Property | S1adj |
The adjungate of the overlap integrals between the unit cells. More... | |
Property | tolerance |
SVD tolerance to identify singular values. More... | |
Property | U |
U matrix from the SVD decompozition, see Eq (41) of PRB 78, 035407. More... | |
Property | V |
V matrix from the SVD decompozition, see Eq (41) of PRB 78, 035407. More... | |
Property | varargin |
list of optional parameters (see http://www.mathworks.com/help/matlab/ref/varargin.html for details) More... | |
Class to regulerize the H1 problem of the leads by SVD decompozition.
The notations and the structure of the Hamiltonian is defined accroding to the following image:
EQuUs v4.8 or later
Definition at line 29 of file SVDregularizationLead.m.
Constructor of the class.
Opt | An instance of the structure Opt. |
param | An instance of structure param. |
varargin | Cell array of optional parameters identical to CreateLeadHamiltonians.CreateLeadHamiltonians. |
|
inherited |
Adds on-site potential to the Hamiltonian H0.
V | The potential calculated on the sites. |
|
inherited |
Applies the overlap matrices to the Hamiltonians: K = H-ES.
E | The energy value. |
|
staticinherited |
Throws a "bad input type" warning, with using the default value.
variable | A string conatining the name of the variable. |
type | A string describing the desired type. |
|
staticinherited |
Throws a "bad input type" warning without setting it to default.
variable | A string conatining the name of the variable. |
type | A string describing the desired type. |
function SVDregularizationLead::Calc_Effective_Hamiltonians | ( | E | ) |
Calculates the effective Hamiltonians according to Eq (48) of of PRB 78, 035407.
E | The energy value |
Calculates the band structure of the lead.
varargin | Cell array of optional parameters: |
'toPlot' | Set 1 in order to plot the calculated spectrum, 0 (default) otherwise |
'ka_min' | The lower bound of the wave numbers. (Default is -pi.) |
'ka_max' | The upper bound of the wave numbers. (Default is pi.) |
'ka_num' | The number of wave number points involved in the calculations. (Default is 300.) |
'ka_vec' | One dimensional array of the k-pints. (Overrides previous attributes related to the k-vector array.) |
'center' | The calculated energy eigenvalues are centered around this value. (Default is 0.001.) |
'db' | The number of the calculated eigenvalues. |
'offset' | Offset value to shift the spectrum along the energy axis. |
'calcWaveFnc' | Logical value. Set true to calculate also the wave functions, or false (default) otherwise. |
function SVDregularizationLead::Clear | ( | MemberName | ) |
Clears the value of an attribute in the interface.
MemberName | The name of the attribute to be cleared. |
Creates a clone of the present object.
varargin | Cell array of optional parameters:. |
Creates the Hamiltonians H_0 and H_1 of the lead.
The created Hamiltonians are stored by within the object.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'toSave' | Logical value. If true, the created Hamiltonians are saved into a file 'Hamiltoni_Lead_' + num2str(Hanyadik_Lead) + '.mat'. |
'CustomHamiltonian' | An instance of class Custom_Hamiltonians describing external source of Hamiltonians. |
function SVDregularizationLead::Decimate_Hamiltonians | ( | ) |
Decimates the Hamiltonians (if the singular sites are predefined).
|
inherited |
Displays output messages on the screen.
message | String containing the message to be displayed |
nosilent | Set true to override the silent option given in Opt.Silent. |
|
staticinherited |
Throws an "iteration exceeded" warning.
|
protected |
Extend a reduced wave function to the original basis before the SVD regularization (Eq (45) in PRB 78 035407.
wavefnc_reduced | The reduced wavefunction of the effective system |
expk | e^(i*k) |
function SVDregularizationLead::Get_Effective_Coordinates | ( | ) |
Gets the coordinates of the sites of the effective Hamiltonians.
(Has sense if the singular sites were given directly)
function SVDregularizationLead::Get_Effective_Hamiltonians | ( | ) |
Gets the effective Hamiltonians K0_eff, K1_eff, K1adj_eff according to Eq (48) of of PRB 78, 035407.
function SVDregularizationLead::Get_Effective_Overlaps | ( | ) |
Gets the effective Hamiltonians S0_eff, S1_eff, S1adj_eff according to Eq (48) of of PRB 78, 035407.
function SVDregularizationLead::Get_Neff | ( | ) |
Gets the effective number of sites after the elimination of the singular values.
function SVDregularizationLead::Get_V | ( | ) |
Gets the total transformation U related to the SVD transformation.
|
inherited |
Retrives the structure containing the calculation parameters.
|
protected |
Initializes class properties.
Parses the optional parameters for the class constructor.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'Hanyadik_Lead' | The ID number of the current lead. Set to empty (default) for using parameters of the scatter region. |
'Lead_Orientation' | Orientation of the lead. Set +1 (default) is the "incoming" direction of the propagating states is defined in the +x or +y direction, and "-1" otherwise. |
'q' | The transverse momentum. Set to empty (default) for computations without transverse momentums. |
function SVDregularizationLead::is_SVD_needed | ( | ) |
Decides whether SVD regularization is needed or not.
|
inherited |
Test, whether the lead is in the superconducting phase or not.
Construct a momentum dependent (Fourier-transformed) Hamiltonian.
k | The longitudinal momentum times the lattice constant. |
q | The transverse momentum times the lattice constant. |
function SVDregularizationLead::Read | ( | MemberName | ) |
Query for the value of an attribute in the interface.
MemberName | The name of the attribute to be set. |
function SVDregularizationLead::Reset | ( | ) |
Resets all elements in the object.
|
inherited |
Save Lead Hamiltonians into a file 'Hamiltoni_Lead_' + num2str(Hanyadik_Lead) + '.mat'.
|
protectedinherited |
Updates the number of sites in the cross section.
|
inherited |
Shifts the coordinates of the sites by an integer multiple of the lattice vector Coordinates.a.
shift | Integer by which the coordinates are shifted. |
|
inherited |
Shifts the on-site energies in the leads by a given energy.
Energy | The enrgy value. |
function SVDregularizationLead::SVD_transform | ( | ) |
Regularize the Hamiltonians of the lead by SVD regularization.
function SVDregularizationLead::SVDdecompozition | ( | ) |
Calculates the SVD decomposition of the matrix H1.
|
inherited |
Transforms the Hamiltonians and the overlap matrices into the BdG model in the Nambu space representation according to New Journal of Physics 9 (2007) 278.
It is assumed, that the Hamiltonian is already transfromed to the grand canonical operator:
|
inherited |
Transforms the Hamiltonians and the overlap matrices to include electron spin.
function SVDregularizationLead::Unitary_Transform | ( | Umtx | ) |
Transforms the effective Hamiltonians by a unitary transformation.
Umtx | The matrix of the unitary transformation. |
function SVDregularizationLead::Write | ( | MemberName | , |
input | |||
) |
Sets the value of an attribute in the interface.
MemberName | The name of the attribute to be set. |
input | The value to be set. |
|
protectedinherited |
An instance of the structure coordinates.
Definition at line 58 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The matrix of the Peierls phases in the unit cell.
Definition at line 106 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The matrix of the Peierls phases in the coupling matrix between the unit cells.
Definition at line 109 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The matrix of the Peierls phases in the transverse coupling matrix between the unit cells.
Definition at line 112 of file CreateLeadHamiltonians.m.
|
protectedinherited |
A logical value. True if a gauge transformation was incorporated into the Hamiltonians or false otherwise.
Definition at line 127 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The Hamiltonian of a unit cell.
Definition at line 73 of file CreateLeadHamiltonians.m.
|
protectedinherited |
Obsolete.
Definition at line 82 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The coupling Hamiltonian between the unit cells.
Definition at line 76 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The skew coupling (in the positive direction) between Hamiltonians H0 for transverse calculations.
Definition at line 91 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The skew upward (in the negative direction) coupling between Hamiltonians H0 for transverse calculations.
Definition at line 88 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The transverse coupling between the slabs for transverse calculations.
Definition at line 85 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The coupling Hamiltonian between the unit cells in the opposite direction as H1. (For complex energies they differ from each other.)
Definition at line 79 of file CreateLeadHamiltonians.m.
|
protectedinherited |
A logical value. True if the Hamiltonians were created, false otherwise.
Definition at line 115 of file CreateLeadHamiltonians.m.
|
protectedinherited |
A logical value. True if the Hamiltonians were decimated, false otherwise.
Definition at line 118 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The id number of the current lead.
Definition at line 43 of file CreateLeadHamiltonians.m.
|
protected |
true if the Hamiltonians were SVD transformed, false otherwise
Definition at line 37 of file SVDregularizationLead.m.
|
protectedinherited |
K0=H0-E*S0, see Eq (4) of PRB 78, 035407.
Definition at line 61 of file CreateLeadHamiltonians.m.
|
protectedinherited |
K1=H1-E*S1, see Eq (4) of PRB 78, 035407.
Definition at line 64 of file CreateLeadHamiltonians.m.
|
protectedinherited |
K1_transverse=H1_transverse-E*S1_transverse.
Definition at line 70 of file CreateLeadHamiltonians.m.
|
protectedinherited |
K1adj=H1adj-E*S1', see Eq (4) of PRB 78, 035407.
Definition at line 67 of file CreateLeadHamiltonians.m.
|
protectedinherited |
List of sites in the unit cell that should be kept after decimation.
Definition at line 55 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The orientation of the lead. Set +1 is the "incoming" direction of the propagating states is defined in the +x or +y direction, and "-1" otherwise.
Definition at line 40 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The number of the sites in the cross section.
Definition at line 46 of file CreateLeadHamiltonians.m.
|
protectedinherited |
A logical value. True if magnetic field was applied in the Hamiltonians, false otherwise.
Definition at line 124 of file CreateLeadHamiltonians.m.
|
protected |
Effective number of sites after the elimination of the singular values.
Definition at line 55 of file SVDregularizationLead.m.
|
protected |
Somethimes it is needed to perform another SVD cycle to regularize the H1 matrix.
Definition at line 52 of file SVDregularizationLead.m.
|
protectedinherited |
An instance of structure Opt.
Definition at line 31 of file Messages.m.
|
protectedinherited |
A logical value. True if the overlap integrals were applied, false otherwise.
Definition at line 121 of file CreateLeadHamiltonians.m.
|
protectedinherited |
An instance of the structure param.
Definition at line 37 of file CreateLeadHamiltonians.m.
|
protectedinherited |
An instance of the structure lead_param.
Definition at line 49 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The tranverse momentum for transverse computations.
Definition at line 52 of file CreateLeadHamiltonians.m.
|
protected |
S matrix from the SVD decompozition, see Eq (41) of PRB 78, 035407.
Definition at line 43 of file SVDregularizationLead.m.
|
protectedinherited |
The overlap integrals of a unit cell.
Definition at line 94 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The overlap integrals between the unit cells.
Definition at line 97 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The overlap integrals between the slabs for transverse calculations.
Definition at line 103 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The adjungate of the overlap integrals between the unit cells.
Definition at line 100 of file CreateLeadHamiltonians.m.
|
protected |
SVD tolerance to identify singular values.
Definition at line 49 of file SVDregularizationLead.m.
|
protected |
U matrix from the SVD decompozition, see Eq (41) of PRB 78, 035407.
Definition at line 40 of file SVDregularizationLead.m.
|
protected |
V matrix from the SVD decompozition, see Eq (41) of PRB 78, 035407.
Definition at line 46 of file SVDregularizationLead.m.
|
protectedinherited |
list of optional parameters (see http://www.mathworks.com/help/matlab/ref/varargin.html for details)
Definition at line 130 of file CreateLeadHamiltonians.m.