  In this paper, we study the ideas of composition and decomposition in the
context of vector spaces, graphs and matroids. For vector spaces $\V_{AB},$
treated as collection of row vectors, with specified column set $A\uplus B,$ we
define $\V_{SP}\lrarv \V_{PQ}, S\cap Q= \emptyset, $ to be the collection of
all vectors $(f_S,f_Q)$ such that $(f_S,f_P)\in \V_{SP}, (f_P,f_Q)\in \V_{PQ}$.
An analogous operation $\G_{SP}\lrarg \G_{PQ}\equivd \G_{PQ}$ can be defined in
relation to graphs $\G_{SP}, \G_{PQ},$ on edge sets $S\uplus P, P\uplus Q,$
respectively in terms of an overlapping subgraph $\G_P$ which gets deleted in
the right side graph (see for instance the notion of $k-sum$ \cite{oxley}). For
matroids we define the `linking' $\M_{SP}\lrarm \M_{PQ} \equivd (\M_{SP}\vee
\M_{PQ})\times (S\uplus Q)$, denoting the contraction operation by '$\times$'.
In each case, we examine how to minimize the size of the `overlap' set $P,$
without affecting the right side entity. In the case of vector spaces, there is
a polynomial time algorithm for achieving the minimum, which we present.
Similar ideas work for graphs and for matroids under appropriate conditions.
  Next we consider the problem of decomposition. Here, in the case of vector
spaces, the problem is to decompose $\V_{SQ}$ as $\V_{SP}\lrarv \V_{PQ},$ with
minimum size $P.$ We give a polynomial time algorithm for this purpose. In the
case of graphs and matroids we give a solution to this problem under certain
restrictions.
