  Simulating quantum algorithms on classical computers is challenging when the
system size, i.e., the number of qubits used in the quantum algorithm, is
moderately large. However, some quantum algorithms and the corresponding
quantum circuits can be simulated efficiently on a classical computer if the
input quantum state is a low-rank tensor and all intermediate states of the
quantum algorithm can be represented or approximated by low-rank tensors. In
this paper, we examine the possibility of simulating a few quantum algorithms
by using low-rank canonical polyadic (CP) decomposition to represent the input
and all intermediate states of these algorithms. Two rank reduction algorithms
are used to enable efficient simulation. We show that some of the algorithms
preserve the low-rank structure of the input state and can thus be efficiently
simulated on a classical computer. However, the rank of the intermediate states
in other quantum algorithms can increase rapidly, making efficient simulation
more difficult. To some extent, such difficulty reflects the advantage or
superiority of a quantum computer over a classical computer. As a result,
understanding the low-rank structure of a quantum algorithm allows us to
identify algorithms that can benefit significantly from quantum computers.
