Decimation

  Copyright (C) 2009-2016 Peter Rakyta, Ph.D.
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  You should have received a copy of the GNU General Public License
  along with this program.  If not, see http://www.gnu.org/licenses/.

Description

Class to reduce the number of sites in the Hamiltonian via decimation procedure.

Class references

Syntax

handle = Decimation(Opt, varargin)

Parameters
Opt An instance of structure Opt.
varargin Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
  • ForcedDecimation

    Set true to override the parameter Opt.Decimation to 4.

Attributes (public)

  • DecimationFunc

    The function handle of the chosen decimation method (according to parameter Opt.Decimation)

Methods (public)

Methods (protected)

Decimation::decimation_4

Description

Algorithm to reduce the number of the sites in the Hamiltonian via decimation. The number of the decimated sites in one turn varies dynamically in order to avoid badly conditioned matrices. Equally fast as decimation_3, but more stable and more accurate.

Syntax

object.decimation_4(E, Way2Hamiltonian, NameOfH, NameOfKulso_szabfokok )

Parameters
E The energy used in the calculations.
Way2Hamiltonian An instance of a class CreateHamiltonians (or a derived class) or CreateLeadHamiltonians (or a derived class).
NameOfH String containing the name of the attribute related to the Hamiltonian. The Hamiltonian is accessed by the "Read()" function of the class "Way2Hamiltonian" (use "Hscatter" or either "Hamiltonian2Dec").
NameOfKulso_szabfokok String containing the name of the attribute related to the list of sites to be kept after the deciamtion. The list is obtained by the "Read()" function of the class "Way2Hamiltonian". (Typically used "kulso_szabfokok").



Decimation::decimation_3

Description

Algorithm to reduce the number of the sites in the Hamiltonian via decimation. The number of the decimated sites in one turn varies dynamically in order to avoid badly conditioned matrices.

Syntax

object.decimation_3(E, Way2Hamiltonian, NameOfH, NameOfKulso_szabfokok )

Parameters
E The energy used in the calculations.
Way2Hamiltonian An instance of a class CreateHamiltonians (or a derived class) or CreateLeadHamiltonians (or a derived class).
NameOfH String containing the name of the attribute related to the Hamiltonian. The Hamiltonian is accessed by the "Read()" function of the class "Way2Hamiltonian" (use "Hscatter" or either "Hamiltonian2Dec").
NameOfKulso_szabfokok String containing the name of the attribute related to the list of sites to be kept after the deciamtion. The list is obtained by the "Read()" function of the class "Way2Hamiltonian". (Typically used "kulso_szabfokok").



Decimation::decimation_1_and_2

Description

Algorithm to reduce the number of sites in the Hamiltonian via decimation. The number of the decimated sites is fixed during the calculations.

Syntax

object.decimation_1_and_2(E, Way2Hamiltonian, NameOfH, NameOfKulso_szabfokok )

Parameters
E The energy used in the calculations.
Way2Hamiltonian An instance of a class CreateHamiltonians (or a derived class) or CreateLeadHamiltonians (or a derived class).
NameOfH String containing the name of the attribute related to the Hamiltonian. The Hamiltonian is accessed by the "Read()" function of the class "Way2Hamiltonian" (use "Hscatter" or either "Hamiltonian2Dec").
NameOfKulso_szabfokok String containing the name of the attribute related to the list of sites to be kept after the deciamtion. The list is obtained by the "Read()" function of the class "Way2Hamiltonian". (Typically used "kulso_szabfokok").



Decimation::setCoordinates

Description

Sets the coordinates of the remaining sites after the decimation is finshed.

Syntax

object.setCoordinates( Way2Hamiltonian, kulso_szabfokok )

Parameters
Way2Hamiltonian An instance of a class CreateHamiltonians (or a derived class) or CreateLeadHamiltonians (or a derived class).
kulso_szabfokok Array of idexes of sites kept after the decimation.