basis_1D Module Function

pure function basis_1D(x, alpha, dx) result(y)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: x
real(kind=wp), intent(in), dimension(:):: alpha
integer, intent(in) :: dx

Return Value real(kind=wp), dimension(:),allocatable


Contents

Source Code


Source Code

  pure module function basis_1D(x, alpha, dx) result(y)
    ! Input/output variables
    integer,  intent(in)                            :: dx
    real(wp), intent(in), dimension(:)              :: x
    real(wp), intent(in), dimension(:)              :: alpha
    real(wp),             dimension(:), allocatable :: y, yx

    ! Local variables
    integer :: ii, N

    allocate(y, mold=x)
    allocate(yx, mold=x)

    N = size(alpha)
    y = 0._wp

    do ii = 1+dx, N

      yx = dble((ii-1)**dx) * alpha(ii) * x ** dble(ii-1-dx)

      y = y + yx

    enddo

    return
  end function basis_1D