# How to delete unnecessary white space?

You need to put the matrix somewhere, e.g. using \rput. This is the way to nest pspictures.

\documentclass[border=10pt]{standalone}
\begin{document}
\begin{pspicture}[showgrid,arrowinset=0](-.5,-1)(4,2)
\rput[bl](0,0){\begin{psmatrix}[colsep=.5cm,rowsep=1.2cm]
& [name=A]\,\,\,\,\,\,\,\,\,\,\,\,$M_{0,4} \times \mathbb{P}^1$\\
[name=B]$B$ & [name=C]\,\,\,\,\,\,$M_{0,4}$
\end{psmatrix}}
\pcline[nodesep=.3]{->}(B)(C)       \nbput{$\kappa$}
\pcline[nodesep=.3]{->}(A)(C)       \nbput[labelsep=.1]{$\pi$}
\naput{\foreach \i in {0.1,0.25,0.4,0.55}{%
\pcline{->}(\i,-.4)(\i,.45)} \nbput[labelsep=.1]{$\sigma_i$}}
\end{pspicture}
\end{document}


If you make the picture smaller, it will become smaller.

  \begin{pspicture}[showgrid,arrowinset=0](-.5,-0.3)(3,2)


It makes no sense to use the pspicture envorimnent in this case:

\documentclass[border=10pt]{standalone}
\usepackage{pst-node,amsmath,amssymb}
\begin{document}

\begin{psmatrix}[colsep=.5cm,rowsep=1.2cm]
& [name=A]\qquad$M_{0,4} \times \mathbb{P}^1$\\
[name=B]$B$ & [name=C]\quad$M_{0,4}$
\end{psmatrix}
\pcline[nodesep=.3]{->}(B)(C)       \nbput{$\kappa$}
\pcline[nodesep=.3]{->}(A)(C)       \nbput[labelsep=.1]{$\pi$}
\naput{\foreach \i in {0.1,0.25,0.4,0.55}{%
\pcline{->}(\i,-.4)(\i,.45)} \nbput[labelsep=.1]{$\sigma_i$}}

\end{document}


If you really need the grid, then write the \psmatrix, which is internally nothing else than an array, into a box of zero width:

\documentclass[border=10pt]{standalone}
\usepackage{pst-node,amsmath,amssymb}
\begin{document}

\begin{pspicture}[showgrid,arrowinset=0](0,-1)(4,2)
\makebox[0pt][l]{%
\begin{psmatrix}[colsep=.5cm,rowsep=1.2cm]
& [name=A]\qquad$M_{0,4} \times \mathbb{P}^1$\\
[name=B]$B$ & [name=C]\quad$M_{0,4}$
\end{psmatrix}}
\pcline[nodesep=.3]{->}(B)(C)       \nbput{$\kappa$}
\pcline[nodesep=.3]{->}(A)(C)       \nbput[labelsep=.1]{$\pi$}
\naput{\foreach \i in {0.1,0.25,0.4,0.55}{%
\pcline{->}(\i,-.4)(\i,.45)} \nbput[labelsep=.1]{$\sigma_i$}}
\end{pspicture}

\end{document}


\makebox does the same as \rput. It is the same behaviour as mentioned in your question Why do directly-inserted labels in pspicture displace other following objects? The array (\psmatrix) has a width and that's the reason why the old coordinate system is shifted to the right and you get the whitespace. Real PSTricks objects have no width. However, \psmatrix should not be inside pspicture.