![]() |
Eötvös Quantum Utilities
v5.0.144
Providing the Horsepowers in the Quantum Realm
|
A class to calculate the Green functions and self energies of a translational invariant lead The notations and the structure of the Hamiltonian is defined accroding to the following image: 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 class. More... | |
function | CreateClone (varargin) |
Creates a clone of the present Lead 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 | Determine_Open_Channels () |
Determines the open channels in the lead. The data are storen within the attribute open_channels. More... | |
function | diagInv (A) |
Calculates the diagonal part of the inverse of a sparse matrix. More... | |
function | display (message, nosilent) |
Displays output messages on the screen. More... | |
function | eig (A, B) |
Calculates the generalized eigenvalue problem based on the zggev and dggev LAPACK functions. More... | |
function | FiniteGreenFunction (z1, z2, varargin) |
Eq (20), (17) and (36) in PRB 78 035407 g00 = inv(Normamtx) More... | |
function | Gamma () |
Calculates the effective coupling of the lead to the scattering region according to Eq (3) in Eur. 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 | getProgramName () |
Gets the name of the package. More... | |
function | getProgramShortName () |
Gets the short name of the package. More... | |
function | getVersion () |
Gets the current version of the package. More... | |
function | Group_Velocity () |
Calculates the group velocities corresponding to the propagating states. The calculated group velocities are stored within the class. More... | |
function | InfGreenFunction (z1, z2, varargin) |
Calculates the Green function of the infinite lead for eregy E between slabs z1 and z2. More... | |
function | is_SVD_needed () |
Decides whether SVD regularization is needed or not. More... | |
function | IsDeployedMKL () |
Checks whether the MKL component is deployed. More... | |
function | isSuperconducting () |
Test, whether the lead is in the superconducting phase or not. More... | |
function | Lead (Opt, param, varargin) |
Constructor of the class. More... | |
function | MomentumDependentHamiltonian (ka, qb) |
Construct a momentum dependent (Fourier-transformed) Hamiltonian. More... | |
function | NormamtxSzamolo () |
right SGF Eq (33) in PRB 78, 035407 (2008) g00 = inv(Normamtx) More... | |
function | partialInv (A, sizeInv) |
Calculates a partial inverse of a sparse matrix. More... | |
function | qDependentHamiltonians () |
Construct a K0 and K1 Hamiltonians (transformed to the grand canonical potential) for a given subspace of the transverse momentum number q. More... | |
function | qDependentOverlaps () |
Construct a S0 and S1 overlap matrices for a given subspace of the transverse momentum number q. More... | |
function | Read (MemberName) |
Query for the value of an attribute in the class. 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 | SelfEnergy () |
Calculates the retarded self energy of the semi-infinite lead according to Eq (36) of Ref PRB 78, 035407 (2008). 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 | SurfaceGreenFunction (varargin) |
Calculates the surface Green function of a semi-infinite lead for eregy E. More... | |
function | SVD_transform () |
Regularize the Hamiltonians of the lead by SVD regularization. More... | |
function | SVDdecompozition (K1) |
Calculates the SVD decomposition of the matrix H1. More... | |
function | szetvalaszto (tolerance) |
Sorts the left and right propagating (decaying) modes. 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 | TrukkosSajatertekek (E) |
Calculates the wave numbers corresponding to the propagating states at given energy. More... | |
function | Unitary_Transform (Umtx) |
Transforms the effective Hamiltonians and the calculated surface Green operator and selfenergy by a unitary transformation. More... | |
function | Write (MemberName, input) |
Sets the value of an attribute in the class. More... | |
function | xmlread (filename) |
Function to load XML files (based on xerces libraries), providing octave compatibility. More... | |
function | xmlwrite (filename, DOM) |
Function to export XML files (based on xerces libraries), providing octave compatibility. 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 | checkMEXfile (fncname) |
Checks the presence of a given MEX file. More... | |
static function | ExceedIteration () |
Throws an "iteration exceeded" warning. More... | |
static function | inv_SVD (A) |
Inverts badly conditioned matrix A with SVD regularization. More... | |
static function | isOctave () |
Checks whether the running environment is matlab or octave. More... | |
static function | SimphsonInt (y, h) |
Simphson integral: y is a vector of function values at equal distant points: y_i = f(x_i), x_i-x_{i-1}=h. More... | |
Protected Member Functions | |
function | calcDualModes () |
Calculates the dual modes. The dual modes is stored by attributes d_modusmtx_m and d_modusmtx_p. More... | |
function | CalcDualModesEigenvec (modusmtx) |
Calculates the dual modes by inverting the right-sided eigenvectors. More... | |
function | CalcDualModesEigenvecWithLeftModes (modusmtx_left, vcsop) |
Calculates the dual modes using the left-sided eigenvectors. More... | |
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 | GinfCalcWithDualModes (z1, z2, z1points, z2points) |
Calculates the Green function of the infinite ribbon with dual modes. More... | |
function | GinfCalcWithLeftModes (z1, z2, z1points, z2points) |
Calculates the Green function of the infinite ribbon with with the left-sided modes. More... | |
function | GsurfSzamoloWithDualModes () |
Calculates the surface Green function with dual modes. The calculated Green function is stored by attribute gsurf. More... | |
function | GsurfSzamoloWithLeftModes () |
Calculates the surface Green function with the left-sided modes according to Eq (33) in PRB 78, 035407 (2008). The calculated Green function is stored by attribute gsurf. More... | |
function | Initialize () |
Eq (20) in PRB 78, 035407 (2008) More... | |
function | InputParsing (varargin) |
Parses the optional parameters for the class constructor. More... | |
function | NormamtxSzamoloWithDualModes () |
Calculates the normalization matrix to calculate the Green function using the dual modes. The calculated normalization matrix is stored by attribute Normamtx. More... | |
function | NormamtxSzamoloWithLeftModes () |
Calculates the normalization matrix to calculate the Green function using the left-sided modes. The calculated normalization matrix is stored by attribute Normamtx. More... | |
function | SelfEnergyCalcWithDualModes () |
Calculates the self energy with dual modes according to Eqs (17) and (36) in PRB 78 035407. More... | |
function | SelfEnergyCalcWithLeftModes () |
Eq (17) and (36) in PRB 78 035407 g00 = inv(Normamtx) 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 | csoportseb |
The unsorted group velocities. More... | |
Property | d_modusmtx_m |
The dual basis of the right-sided wave functions of the eigenstates, that propagates or decays in the negative direction. More... | |
Property | d_modusmtx_p |
The dual basis of the right-sided wave functions of the eigenstates, that propagates or decays in the positive direction. More... | |
Property | degenerate_k_subspaces |
Logical matrix containing the degenerate k subspaces. More... | |
Property | DeployedMKL |
True if MKL component is built, false otherwise. More... | |
Property | E |
The energy value for which the TrukkosSajatertekek eigenvalue problem was solved. More... | |
Property | expk |
The unsorted wave numbers in form exp(1i*k). More... | |
Property | expk_m |
The wave numbers of the eigenstates in form exp(1i*k), that propagates or decays in the negative direction. More... | |
Property | expk_p |
The wave numbers of the eigenstates, that propagates or decays in the positive direction. 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_H1_skew_left |
The matrix of the Peierls phases in the skew coupling matrix in the left direction between the unit cells. More... | |
Property | fazis_mtx_H1_skew_right |
The matrix of the Peierls phases in the skew coupling matrix in the right direction 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 | gfin |
The matrix of the retarded surface Greens function of a finite ribbon. More... | |
Property | gfininv |
The inverse of the retarded surface Greens function of a finite ribbon. More... | |
Property | ginf |
The matrix of the retarded Greens function of the infinite ribbon. More... | |
Property | GinfCalc |
Function handle to calculate the retarded infinite Greens function. More... | |
Property | gsurf |
The matrix of the surface Greens function of the semi-infinite ribbon. More... | |
Property | gsurfinv |
The inverse of the retarded surface Greens function. 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 left direction between Hamiltonians H0 for transverse calculations. More... | |
Property | H1_skew_right |
The skew coupling in the right direction 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 | invNormamtx |
The inverse of the normalization matrix. 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_skew_left |
K1_skew_left = H1_skew_left - E*S1_skew_left. More... | |
Property | K1_skew_right |
K1_skew_right = H1_skew_right - E*S1_skew_right. 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 | MaxSize |
Maximal size of full matrixes to be handled. More... | |
Property | modusmtx |
The unsorted right-sided eigenstates. More... | |
Property | modusmtx_left |
The unsorted left-sided eigenstates. More... | |
Property | modusmtx_m |
The right-sided wave functions of the eigenstates, that propagates or decays in the negative direction. More... | |
Property | modusmtx_m_left |
The left-sided wave functions of the eigenstates, that propagates or decays in the negative direction. More... | |
Property | modusmtx_p |
The right sided wave functions of the eigenstates, that propagates or decays in the positive direction. More... | |
Property | modusmtx_p_left |
The left-sided wave numbers of the eigenstates, that propagates or decays in the positive direction. 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 | Normamtx |
The normalization matrix in the Greens function. More... | |
Property | open_channels |
A structure open_channels containing info on the open channels. 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 | ProgramName |
Name of the package. More... | |
Property | ProgramShortName |
Short name of the package. More... | |
Property | q |
The tranverse momentum for transverse computations. More... | |
Property | retarted |
true for calculating the retarded Green function, or false for the advanced Green function. 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_skew_left |
The overlap integrals for the skew coupling in the left direction between Hamiltonians H0 for transverse calculations. More... | |
Property | S1_skew_right |
The overlap integrals for the skew coupling in the right direction between Hamiltonians H0 for transverse calculations. 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 | SelfEnergyCalc |
function handle to calculate the self energy More... | |
Property | Sigma |
The retarded self-energy of the semi-infinite ribbon. More... | |
Property | sort_tolerance |
A real number corresponding to the tolerance used to sort the left and right moving (decaying) modes. 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... | |
Property | vcsop_m |
The group velocities of the eigenstates, that propagates or decays in the negative direction. More... | |
Property | vcsop_p |
The group velocities of the eigenstates in form exp(1i*k), that propagates or decays in the positive direction. More... | |
Property | version |
The current version of the package. More... | |
A class to calculate the Green functions and self energies of a translational invariant lead The notations and the structure of the Hamiltonian is defined accroding to the following image:
EQuUs v4.8 or later
Constructor of the class.
Opt | An instance of the structure Opt. |
param | An instance of structure param. |
varargin | Cell array of optional parameters. For details see EigenProblemLead.EigenProblemLead. |
function Lead::AddPotential | ( | V | ) |
Adds on-site potential to the Hamiltonian H0.
V | The potential calculated on the sites. The normalization matrix is set to empty. |
|
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. |
|
inherited |
Calculates the effective Hamiltonians according to Eq (48) of of PRB 78, 035407.
E | The energy value |
|
protected |
Calculates the dual modes. The dual modes is stored by attributes d_modusmtx_m and d_modusmtx_p.
|
protected |
Calculates the dual modes by inverting the right-sided eigenvectors.
modusmtx | The right-sided eigenvectors. |
|
protected |
Calculates the dual modes using the left-sided eigenvectors.
modusmtx_left | The left-sided eigenvectors. |
vcsop | The group velocities. |
|
inherited |
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. |
|
staticinherited |
Checks the presence of a given MEX file.
fncname | The name of the function. |
function Lead::Clear | ( | MemberName | ) |
Clears the value of an attribute in the class.
MemberName | The name of the attribute to be cleared. |
function Lead::CreateClone | ( | varargin | ) |
Creates a clone of the present Lead object.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'empty' | Set true to create an empty clone, or false (default) to clone all atributes. |
|
inherited |
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. |
|
inherited |
Decimates the Hamiltonians (if the singular sites are predefined).
|
inherited |
Determines the open channels in the lead. The data are storen within the attribute open_channels.
|
inherited |
Calculates the diagonal part of the inverse of a sparse matrix.
If MKL component is advised to build.
A | A sparse matrix to be inverted |
|
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. |
|
inherited |
Calculates the generalized eigenvalue problem based on the zggev and dggev LAPACK functions.
A | A square matrix on the left side. |
B | A square matrix on the right side. |
|
staticinherited |
Throws an "iteration exceeded" warning.
|
protectedinherited |
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 Lead::FiniteGreenFunction | ( | z1 | , |
z2 | , | ||
varargin | |||
) |
Eq (20), (17) and (36) in PRB 78 035407 g00 = inv(Normamtx)
Calculates the Green function of a finite piece of the lead for eregy E between slabs z1 and z2. The calculated Greens function is stored by attribute gfin.
z1 | The index of the first slab. |
z2 | The index of the second slab. |
varargin | Optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'onlygfininv' | If true, only the inverse of the Green function is calculated. (Default value is false) |
function Lead::Gamma | ( | ) |
Calculates the effective coupling of the lead to the scattering region according to Eq (3) in Eur.
Phys. J. B 53, 537-549 (2006)
|
inherited |
Gets the coordinates of the sites of the effective Hamiltonians.
(Has sense if the singular sites were given directly)
|
inherited |
Gets the effective Hamiltonians K0_eff, K1_eff, K1adj_eff according to Eq (48) of of PRB 78, 035407.
|
inherited |
Gets the effective Hamiltonians S0_eff, S1_eff, S1adj_eff according to Eq (48) of of PRB 78, 035407.
|
inherited |
Gets the effective number of sites after the elimination of the singular values.
|
inherited |
Gets the total transformation U related to the SVD transformation.
|
inherited |
Retrives the structure containing the calculation parameters.
|
inherited |
Gets the name of the package.
|
inherited |
Gets the short name of the package.
|
inherited |
Gets the current version of the package.
|
protected |
Calculates the Green function of the infinite ribbon with dual modes.
The calculated Greens function is stored by attribute ginf.
z1 | The index of the first slab. |
z2 | The index of the second slab. |
z1points | Site indexes in the slab at z1. |
z2points | Site indexes in the slab at z2. |
|
protected |
Calculates the Green function of the infinite ribbon with with the left-sided modes.
The calculated Greens function is stored by attribute ginf.
z1 | The index of the first slab. |
z2 | The index of the second slab. |
z1points | Site indexes in the slab at z1. |
z2points | Site indexes in the slab at z2. |
|
inherited |
Calculates the group velocities corresponding to the propagating states. The calculated group velocities are stored within the class.
|
protected |
Calculates the surface Green function with dual modes. The calculated Green function is stored by attribute gsurf.
|
protected |
Calculates the surface Green function with the left-sided modes according to Eq (33) in PRB 78, 035407 (2008). The calculated Green function is stored by attribute gsurf.
function Lead::InfGreenFunction | ( | z1 | , |
z2 | , | ||
varargin | |||
) |
Calculates the Green function of the infinite lead for eregy E between slabs z1 and z2.
The calculated Greens function is stored by attribute ginf.
z1 | The index of the first slab. |
z2 | The index of the second slab. |
varargin | Optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'z1points' | Array of sites in the slab z1 to include in the calculations. By default each site in the given slab is included. |
'z2points' | Array of sites in the slab z2 to include in the calculations. By default each site in the given slab is included. |
|
protected |
Eq (20) in PRB 78, 035407 (2008)
Initializes class attributes.
|
protectedinherited |
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. |
|
staticinherited |
Inverts badly conditioned matrix A with SVD regularization.
A | A square matrix to be inverted. |
|
inherited |
Decides whether SVD regularization is needed or not.
|
inherited |
Checks whether the MKL component is deployed.
|
staticinherited |
Checks whether the running environment is matlab or octave.
|
inherited |
Test, whether the lead is in the superconducting phase or not.
|
inherited |
Construct a momentum dependent (Fourier-transformed) Hamiltonian.
ka | The longitudinal momentum times the lattice constant. |
qb | The transverse momentum times the transverse lattice constant. |
function Lead::NormamtxSzamolo | ( | ) |
right SGF Eq (33) in PRB 78, 035407 (2008) g00 = inv(Normamtx)
left SGF Eq (33) in PRB 78, 035407 (2008) g00 = inv(Normamtx) The normalization matrix to calculate the Green function. The calculated normalization matrix is stored by attribute Normamtx.
|
protected |
Calculates the normalization matrix to calculate the Green function using the dual modes. The calculated normalization matrix is stored by attribute Normamtx.
|
protected |
Calculates the normalization matrix to calculate the Green function using the left-sided modes. The calculated normalization matrix is stored by attribute Normamtx.
|
inherited |
Calculates a partial inverse of a sparse matrix.
If MKL component is not developed, the backslash operator is used insted.
A | A sparse matrix to be inverted |
sizeInv | The size of partial inverse to be calculated. |
|
inherited |
Construct a K0 and K1 Hamiltonians (transformed to the grand canonical potential) for a given subspace of the transverse momentum number q.
|
inherited |
Construct a S0 and S1 overlap matrices for a given subspace of the transverse momentum number q.
function Lead::Read | ( | MemberName | ) |
Query for the value of an attribute in the class.
MemberName | The name of the attribute to be set. |
function Lead::Reset | ( | ) |
Resets all elements in the object.
|
inherited |
Save Lead Hamiltonians into a file 'Hamiltoni_Lead_' + num2str(Hanyadik_Lead) + '.mat'.
function Lead::SelfEnergy | ( | ) |
Calculates the retarded self energy of the semi-infinite lead according to Eq (36) of Ref PRB 78, 035407 (2008).
The calculated self energy is stored by attribure Sigma.
|
protected |
Calculates the self energy with dual modes according to Eqs (17) and (36) in PRB 78 035407.
|
protected |
Eq (17) and (36) in PRB 78 035407 g00 = inv(Normamtx)
Calculates the self energy with the left-sided modes according to Eqs (20), (17) and (36) in PRB 78 035407
|
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. |
function Lead::ShiftLead | ( | Energy | ) |
Shifts the on-site energies in the leads by a given energy.
The normalization matrix is set to empty.
Energy | The enrgy value. |
|
staticinherited |
Simphson integral: y is a vector of function values at equal distant points: y_i = f(x_i), x_i-x_{i-1}=h.
y | Function values to be integrated |
h | Increment between the x_i points. |
function Lead::SurfaceGreenFunction | ( | varargin | ) |
Calculates the surface Green function of a semi-infinite lead for eregy E.
The calculated Green function is stored in attribute gsurf.
varargin | Optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'OnlyInverse' | If true (default), only the inverse of the Green function is calculated. |
'CalcInverse' | If true (default), the inverse of the Green function is also calculated. |
|
inherited |
Regularize the Hamiltonians of the lead by SVD regularization.
|
inherited |
Calculates the SVD decomposition of the matrix H1.
The | transverse momentum dependent coulping between the unit cell (K1 is transverse momentum dependent, only if skew coupling H1_skew_right or H1_skew_left and the transverse momentum q are not empty). |
|
inherited |
Sorts the left and right propagating (decaying) modes.
tolerance | The tolerance to be used during the sort. |
|
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 Lead::TrukkosSajatertekek | ( | E | ) |
Calculates the wave numbers corresponding to the propagating states at given energy.
The calculated wave numbers are stored in attribute expk. The normalization matrix is set to empty.
E | The energy value used in the calculations. |
function Lead::Unitary_Transform | ( | Umtx | ) |
Transforms the effective Hamiltonians and the calculated surface Green operator and selfenergy by a unitary transformation.
Umtx | The matrix of the unitary transformation. |
function Lead::Write | ( | MemberName | , |
input | |||
) |
Sets the value of an attribute in the class.
MemberName | The name of the attribute to be set. |
input | The value to be set. |
|
inherited |
Function to load XML files (based on xerces libraries), providing octave compatibility.
filename | Absolute path to the file to be opened. (In matlab relative path is sufficient) |
|
inherited |
Function to export XML files (based on xerces libraries), providing octave compatibility.
filename | Absolute path to the file to be opened. (In matlab relative path is sufficient) |
DOM | The loaded document object model (see http://www.mathworks.com/help/matlab/ref/xmlread.html#outputarg_DOMnode for details.) |
|
protectedinherited |
An instance of the structure coordinates.
Definition at line 58 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The unsorted group velocities.
Definition at line 46 of file EigenProblemLead.m.
|
protectedinherited |
The dual basis of the right-sided wave functions of the eigenstates, that propagates or decays in the negative direction.
Definition at line 76 of file EigenProblemLead.m.
|
protectedinherited |
The dual basis of the right-sided wave functions of the eigenstates, that propagates or decays in the positive direction.
Definition at line 73 of file EigenProblemLead.m.
|
protectedinherited |
Logical matrix containing the degenerate k subspaces.
Definition at line 85 of file EigenProblemLead.m.
|
protectedinherited |
True if MKL component is built, false otherwise.
Definition at line 32 of file CommonFunctions.m.
|
protectedinherited |
The energy value for which the TrukkosSajatertekek eigenvalue problem was solved.
Definition at line 88 of file EigenProblemLead.m.
|
protectedinherited |
The unsorted wave numbers in form exp(1i*k).
Definition at line 43 of file EigenProblemLead.m.
|
protectedinherited |
The wave numbers of the eigenstates in form exp(1i*k), that propagates or decays in the negative direction.
Definition at line 52 of file EigenProblemLead.m.
|
protectedinherited |
The wave numbers of the eigenstates, that propagates or decays in the positive direction.
Definition at line 49 of file EigenProblemLead.m.
|
protectedinherited |
The matrix of the Peierls phases in the unit cell.
Definition at line 118 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The matrix of the Peierls phases in the coupling matrix between the unit cells.
Definition at line 121 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The matrix of the Peierls phases in the skew coupling matrix in the left direction between the unit cells.
Definition at line 130 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The matrix of the Peierls phases in the skew coupling matrix in the right direction between the unit cells.
Definition at line 127 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The matrix of the Peierls phases in the transverse coupling matrix between the unit cells.
Definition at line 124 of file CreateLeadHamiltonians.m.
|
protectedinherited |
A logical value. True if a gauge transformation was incorporated into the Hamiltonians or false otherwise.
Definition at line 145 of file CreateLeadHamiltonians.m.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protectedinherited |
The Hamiltonian of a unit cell.
Definition at line 79 of file CreateLeadHamiltonians.m.
|
protectedinherited |
Obsolete.
Definition at line 88 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The coupling Hamiltonian between the unit cells.
Definition at line 82 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The skew coupling in the left direction between Hamiltonians H0 for transverse calculations.
Definition at line 97 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The skew coupling in the right direction between Hamiltonians H0 for transverse calculations.
Definition at line 94 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The transverse coupling between the slabs for transverse calculations.
Definition at line 91 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 85 of file CreateLeadHamiltonians.m.
|
protectedinherited |
A logical value. True if the Hamiltonians were created, false otherwise.
Definition at line 133 of file CreateLeadHamiltonians.m.
|
protectedinherited |
A logical value. True if the Hamiltonians were decimated, false otherwise.
Definition at line 136 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The id number of the current lead.
Definition at line 43 of file CreateLeadHamiltonians.m.
|
protected |
|
protectedinherited |
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_skew_left = H1_skew_left - E*S1_skew_left.
Definition at line 76 of file CreateLeadHamiltonians.m.
|
protectedinherited |
K1_skew_right = H1_skew_right - E*S1_skew_right.
Definition at line 73 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 142 of file CreateLeadHamiltonians.m.
|
protectedinherited |
Maximal size of full matrixes to be handled.
Definition at line 44 of file CommonFunctions.m.
|
protectedinherited |
The unsorted right-sided eigenstates.
Definition at line 37 of file EigenProblemLead.m.
|
protectedinherited |
The unsorted left-sided eigenstates.
Definition at line 40 of file EigenProblemLead.m.
|
protectedinherited |
The right-sided wave functions of the eigenstates, that propagates or decays in the negative direction.
Definition at line 64 of file EigenProblemLead.m.
|
protectedinherited |
The left-sided wave functions of the eigenstates, that propagates or decays in the negative direction.
Definition at line 70 of file EigenProblemLead.m.
|
protectedinherited |
The right sided wave functions of the eigenstates, that propagates or decays in the positive direction.
Definition at line 61 of file EigenProblemLead.m.
|
protectedinherited |
The left-sided wave numbers of the eigenstates, that propagates or decays in the positive direction.
Definition at line 67 of file EigenProblemLead.m.
|
protectedinherited |
Effective number of sites after the elimination of the singular values.
Definition at line 55 of file SVDregularizationLead.m.
|
protectedinherited |
Somethimes it is needed to perform another SVD cycle to regularize the H1 matrix.
Definition at line 52 of file SVDregularizationLead.m.
|
protected |
|
protectedinherited |
A structure open_channels containing info on the open channels.
Definition at line 82 of file EigenProblemLead.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 139 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 |
Name of the package.
Definition at line 38 of file CommonFunctions.m.
|
protectedinherited |
Short name of the package.
Definition at line 41 of file CommonFunctions.m.
|
protectedinherited |
The tranverse momentum for transverse computations.
Definition at line 52 of file CreateLeadHamiltonians.m.
|
protectedinherited |
true for calculating the retarded Green function, or false for the advanced Green function.
Definition at line 34 of file EigenProblemLead.m.
|
protectedinherited |
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 100 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The overlap integrals between the unit cells.
Definition at line 103 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The overlap integrals for the skew coupling in the left direction between Hamiltonians H0 for transverse calculations.
Definition at line 115 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The overlap integrals for the skew coupling in the right direction between Hamiltonians H0 for transverse calculations.
Definition at line 112 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The overlap integrals between the slabs for transverse calculations.
Definition at line 109 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The adjungate of the overlap integrals between the unit cells.
Definition at line 106 of file CreateLeadHamiltonians.m.
|
protected |
|
protected |
|
protectedinherited |
A real number corresponding to the tolerance used to sort the left and right moving (decaying) modes.
Definition at line 79 of file EigenProblemLead.m.
|
protectedinherited |
SVD tolerance to identify singular values.
Definition at line 49 of file SVDregularizationLead.m.
|
protectedinherited |
U matrix from the SVD decompozition, see Eq (41) of PRB 78, 035407.
Definition at line 40 of file SVDregularizationLead.m.
|
protectedinherited |
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 148 of file CreateLeadHamiltonians.m.
|
protectedinherited |
The group velocities of the eigenstates, that propagates or decays in the negative direction.
Definition at line 58 of file EigenProblemLead.m.
|
protectedinherited |
The group velocities of the eigenstates in form exp(1i*k), that propagates or decays in the positive direction.
Definition at line 55 of file EigenProblemLead.m.
|
protectedinherited |
The current version of the package.
Definition at line 35 of file CommonFunctions.m.