setBeta Subroutine

public subroutine setBeta(this, i, val)

Arguments

Type IntentOptional Attributes Name
type(LanczosCalcType), intent(inout) :: this
integer, intent(in) :: i
real(kind=dp), intent(in) :: val

Contents

Source Code


Source Code

    subroutine setBeta(this, i, val)
        type(LanczosCalcType), intent(inout) :: this
        integer, intent(in) :: i
        ! subdiagonal and superdiagonal elements of T are norms => always real
        real(dp), intent(in) :: val
        if (i > 1) then
            this%super%projected_hamil(i - 1, i) = val
            this%super%projected_hamil(i, i - 1) = val
            return
        else if (i == 0) then
            this%beta_0 = val
        else
            this%beta_1 = val
        end if
    end subroutine setBeta