function [ l, u ] = gfpp_plu ( n, alpha )

%*****************************************************************************80
%
%% gfpp_lu() returns the LU factorization of the GFPP matrix.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    28 October 2021
%
%  Author:
%
%    John Burkardt
%
%  Input:
%
%    integer N, the order of the matrix.
%
%    real ALPHA, determines subdiagonal elements.
%
%  Output:
%
%    real L(N,N), U(N,N), the L, U factors.
%
  l = zeros ( n, n );
  for i = 1 : n
    l(i,1:i-1) = - abs ( alpha );
    l(i,i) = 1.0;
    l(i,i+1:n) = 0.0;
  end

  u = zeros ( n, n );
  u(1:n,1:n) = 0.0;
  for i = 1 : n
    u(i,i) = 1.0;
  end
  
  u(1,n) = 1.0;
  for i = 2 : n
    u(i,n) = 1.0 + abs ( alpha ) * sum ( u(1:i-1,n) );
  end

  return
end
