def tensor_product(self, other: BaseDensePauliString) -> Self:
        """Concatenates dense pauli strings and multiplies their coefficients.

        Args:
            other: The dense pauli string to place after the end of this one.

        Returns:
            A dense pauli string with the concatenation of the paulis from the
            two input pauli strings, and the product of their coefficients.
        """
        return type(self)(
            coefficient=self.coefficient * other.coefficient,
            pauli_mask=np.concatenate([self.pauli_mask, other.pauli_mask]),
        )
Concatenates dense pauli strings and multiplies their coefficients.

        Args:
            other: The dense pauli string to place after the end of this one.

        Returns:
            A dense pauli string with the concatenation of the paulis from the
            two input pauli strings, and the product of their coefficients.
        
cirq-core/cirq/ops/dense_pauli_string.py