Canonical polyadic decomposition