  Arikan's recursive code construction is designed to polarize a collection of
memoryless channels into a set of good and a set of bad channels, and it can be
efficiently decoded using successive cancellation. It was recently shown that
the same construction also polarizes channels with memory, and a generalization
of successive cancellation decoder was proposed with a complexity that scales
like the third power of the channel's memory size. In another line of work, the
polar code construction was extended by replacing the block polarization kernel
by a convoluted kernel. Here, we present an efficient decoding algorithm for
finite-state memory channels that can be applied to polar codes and
convolutional polar codes. This generalization is most effectively described
using the tensor network formalism, and the manuscript presents a
self-contained description of the required basic concepts. We use numerical
simulations to study the performance of these algorithms for practically
relevant code sizes and find that the convolutional structure outperforms the
standard polar codes on a variety of channels with memory.
