![]() |
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.
1.8.16