Trace Function

public function Trace(A) result(result)

function that calculates the trace of a square matrix

Arguments

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

Return Value real(kind=dp)


Called by

proc~~trace~~CalledByGraph proc~trace Trace proc~faddeev_leverrier Faddeev_Leverrier proc~faddeev_leverrier->proc~trace

Source Code

    function Trace(A) result(result)
        real(dp), dimension(:, :), intent(in) :: A
        real(dp) :: result
        integer :: i, N

        N = size(A, 1)
        if (size(A, 2) /= N) stop "Error: Matrix must be square."

        result = sum([(A(i, i), i=1, N)])

    end function Trace