this is for all  kinds matrix  computation