code: func (r *RS) makeEncodeMatrix(dpHas []int) (em []byte, err error) {
  	d := r.DataCnt
  	m := make([]byte, d*d)
  	for i, l := range dpHas {
  		copy(m[i*d:i*d+d], r.encodeMatrix[l*d:l*d+d])
  	}
  	em, err = matrix(m).invert(d)
  	if err != nil {
  		return
  	}
  	return
  }
docs: // according to encoding_matrix & dpHas make a new encoding_matrix