class_docstr: A symbolic companion matrix of a polynomial.
  
  Examples
  ========
  
  >>> from sympy import Poly, Symbol, symbols
  >>> from sympy.matrices.expressions import CompanionMatrix
  >>> x = Symbol('x')
  >>> c0, c1, c2, c3, c4 = symbols('c0:5')
  >>> p = Poly(c0 + c1*x + c2*x**2 + c3*x**3 + c4*x**4 + x**5, x)
  >>> CompanionMatrix(p)
  CompanionMatrix(Poly(x**5 + c4*x**4 + c3*x**3 + c2*x**2 + c1*x + c0,
  x, domain='ZZ[c0,c1,c2,c3,c4]'))
code: def __new__(cls, poly):
      poly = _sympify(poly)
      if not isinstance(poly, Poly):
          raise ValueError("{} must be a Poly instance.".format(poly))
      if not poly.is_monic:
          raise ValueError(
              "{} must be a monic polynomial.".format(poly)
          )
      if not poly.is_univariate:
          raise ValueError(
              "{} must be a univariate polynomial.".format(poly)
          )
      if not poly.degree() >= 1:
          raise ValueError(
              "{} must have degree not less than 1.".format(poly)
          )
  
      return super().__new__(cls, poly)
  
file_path: sympy/sympy/matrices/expressions/companion.py
imports: from sympy.core.singleton import S
  from sympy.core.sympify import _sympify
  from sympy.polys.polytools import Poly
  from .matexpr import MatrixExpr
label_desc: Use image node_id 1 for calling the CompanionMatrix obj's underlying member method code with example usage: obj.__new__(cls, poly) and returns: super