get_partial_left_reverse_kipf_propagate Function

function get_partial_left_reverse_kipf_propagate(this, upstream_grad) result(output)

Arguments

Type IntentOptional Attributes Name
class(array_type), intent(inout) :: this

Forward result node containing saved operands

type(array_type), intent(in) :: upstream_grad

Upstream gradient tensor

Return Value type(array_type)

Gradient tensor for left operand


Source Code

  function get_partial_left_reverse_kipf_propagate( &
       this, upstream_grad &
  ) result(output)
    implicit none
    ! Arguments
    class(array_type), intent(inout) :: this
    !! Forward result node containing saved operands
    type(array_type), intent(in) :: upstream_grad
    !! Upstream gradient tensor
    type(array_type) :: output
    !! Gradient tensor for left operand

    output = kipf_propagate( upstream_grad, &
         this%indices, this%adj_ja &
    )

  end function get_partial_left_reverse_kipf_propagate