working  eigen computation