# How can we draw kernel diagram in the Math Stackexchange?

I don't know I can ask this kind of question here. Anyway, I propose a question.

How can we draw next type commutative diagram ? My scope of ability of drawing commutative diagram is for example as follows :

1. I can draw next kind of diagram : $$\require{AMScd} \begin{CD} K(X) @>{ch}>> H(X;\mathbb Q);\\ @VVV @VVV \\ K(Y) @>{ch}>> H(Y;\mathbb Q); \end{CD}$$
1. I also can draw next kind of diagram :

$$\begin{CD} A @>f>> B\\ @. {_{\rlap{\ g\circ f}}\style{display: inline-block; transform: rotate(30deg)}{{\xrightarrow[\rule{4em}{0em}]{}}}} @VVgV\\ @. D \end{CD}$$

But I don't know how can I draw the above diagram. How can we draw the left-right triangle of such shape? How can we draw dashed arrow?

Can anyone helps?

First attempt : As attempt, I wrote a code trying to draw the above diagram.

$$\require{AMScd} \require{cancel} \def\diaguparrow#1{\smash{\raise.6em\rlap{\ \ #1} \lower.6em{\cancelto{}{\Space{2em}{1.7em}{0px}}}}} \begin{CD} && X'\\ & \swarrow{f'} @VVpV \searrow{h}\\ Y @>>f> X @>>g >Z \end{CD}$$

My question is,

1. How can we draw the dashed arrow ?

2. How can we draw 'long' diagonal arrow ?