Let k be an effective infinite perfect field, k[x1, ..., xn] the polynomial ring in n variables and F ∈ k[x1, ..., xn] M ×M a square polynomial matrix verifying F 2 = F. Suppose that the entries of F are polynomials given by a straight line program of size L and their total degrees are bounded by an integer D. We show that there exists a well parallelizable algorithm which computes bases of the kernel and the image of F in time (nL) O(1) (M D) O(n). By means of this result we obtain a single exponential algorithm to compute a basis of a complete intersection ring in Noether position. More precisely: let f1, ..., fn−r ∈ k[x1, ..., xn] be a regular sequence of polynomials given by a slp of size , whose degrees are bounded by d. Let R := k[x1, ..., xr] and S := k[x1, ..., xn]/ (f1, ..., fn−r) such that S is integral over R; we show that there exists an algorithm running in time O (n) d O(n 2) which computes a basis of S over R. Also, as a consequence of our techniques, we show a single exponential well parallelizable algorithm which decides the freeness of a finite k[x1, ..., xn]−module given by a presentation matrix, and in the affirmative case it computes a basis.