but I want to use a handwritten analytical method.
I see.
So this answer is going to based off of Perry and DaftWullie's answers to a question for constructing the CNOT gate. Check out their answers if you want to see their explanations (it's much better than mine).
To create a CXX gate we again see that we only have one control and we are simply applying the $X$ or $\mathbb{I}$ to two qubits instead of one. Taking these projectors: $$P_0=|0\rangle\langle 0|\equiv\left(\begin{array}{cc} 1 & 0 \\ 0 & 0 \end{array}\right)\qquad P_1=|1\rangle\langle 1|\equiv\left(\begin{array}{cc} 0 & 0 \\ 0 & 1 \end{array}\right)$$
which essentially work by only returning their respective state when multiplied by some other state. Ex: The projector multiped with $|0\rangle$ $$\left(\begin{array}{cc} 1 & 0 \\ 0 & 0 \end{array}\right)\left(\begin{array}{cc} 1 \\ 0 \end{array}\right) \equiv \left(\begin{array}{cc} 1 \\ 0 \end{array}\right)$$ while as multipyling by any other state besides $|0\rangle$ gives $\left(\begin{array}{cc} 0 \\ 0 \end{array}\right)$. (You can check this yourself). And so it$P_0 \otimes \mathbb{I}$ achieves the "If the first qubit is $|0\rangle$ leave the second qubit alone". And the $P_1$ projector acheives$P_1 \otimes \mathbb{X}$ achieves the same result withflipping of the qubit if the control is $|1\rangle$. So we can write the CXX as
$$CXX=P_0\otimes\mathbb{I}\otimes\mathbb{I}+P_1\otimes X\otimes X.$$ Using the code from Perry's answer and modifying it for the CXX gate we have: CXX = np.kron(np.kron(zero_matrix, np.eye(2)), np.eye(2)) + np.kron(np.kron(one_matrix, qudot.X.matrix), qudot.X.matrix) which gives us the Pauli-XX matrix you were looking for.