is_tridiagonal Function

public function is_tridiagonal(A) result(is_tridiag)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: A

Return Value logical


Source Code

    function is_tridiagonal(A) result(is_tridiag)
        real(dp), dimension(:, :), intent(in) :: A
        logical :: is_tridiag
        integer :: i, j, N

        N = size(A, 1)
        is_tridiag = .true.

        do i = 1, N
            do j = 1, N
                if (abs(i - j) > 1) then
                    if (abs(A(i, j)) > TOL_TEST_dp) then
                        is_tridiag = .false.
                        return
                    end if
                end if
            end do
        end do

    end function is_tridiagonal