initialize with arbitrary matrix