'Initialize the object.
Parameters
A : a dense or sparse square numpy matrix or ndarray
The matrix to be exponentiated.
structure : str, optional
A string describing the structure of matrix `A`.
Only `upper_triangular` is currently supported.
use_exact_onenorm : bool, optional
If True then only the exact one-norm of matrix powers and products
will be used. Otherwise, the one-norm of powers and products
may initially be estimated.'

def __init__(self, A, structure=None, use_exact_onenorm=False):

    self.A = A
    self._A2 = None
    self._A4 = None
    self._A6 = None
    self._A8 = None
    self._A10 = None
    self._d4_exact = None
    self._d6_exact = None
    self._d8_exact = None
    self._d10_exact = None
    self._d4_approx = None
    self._d6_approx = None
    self._d8_approx = None
    self._d10_approx = None
    self.ident = _ident_like(A)
    self.structure = structure
    self.use_exact_onenorm = use_exact_onenorm
