SMS: Separable type representations of matrices and fast algorithms :