Randomness As A Computational Strategy : On Matrix And Tensor Decompositions