class_docstr: Construct a stiffness matrix in various formats of Mikota pair.
  
  The stiffness matrix `K` is square real tri-diagonal symmetric
  positive definite with integer entries. 
  
  Parameters
  ----------
  shape : tuple of int
      The shape of the matrix.
  dtype : dtype
      Numerical type of the array. Default is ``np.int32``.
  
  Methods
  -------
  toarray()
      Construct a dense array from Mikota data
  tosparse()
      Construct a sparse array from Mikota data
  tobanded()
      The format for banded symmetric matrices,
      i.e., (2, n) ndarray with 2 upper diagonals
      placing the main diagonal at the bottom.
docstr: Construct matrix-free callable banded-matrix-vector multiplication by
  the Mikota stiffness matrix without constructing or storing the matrix
  itself using the knowledge of its entries and the 3-diagonal format.
docstr_tok: ["Construct","matrix-free","callable","banded-matrix-vector","multiplication","by","the","Mikota","stiffness","matrix","without","constructing","or","storing","the","matrix","itself","using","the","knowledge","of","its","entries","and","the","3-diagonal","format","."]
code: def _matvec(self, x):
      """
      Construct matrix-free callable banded-matrix-vector multiplication by
      the Mikota stiffness matrix without constructing or storing the matrix
      itself using the knowledge of its entries and the 3-diagonal format.
      """
      x = x.reshape(self.shape[0], -1)
      result_dtype = np.promote_types(x.dtype, self.dtype)
      kx = np.zeros_like(x, dtype=result_dtype)
      d1 = self._diag1
      d0 = self._diag0
      kx[0, :] = d0[0] * x[0, :] + d1[0] * x[1, :]
      kx[-1, :] = d1[-1] * x[-2, :] + d0[-1] * x[-1, :]
      kx[1:-1, :] = (
          d1[:-1, None] * x[:-2, :]
          + d0[1:-1, None] * x[1:-1, :]
          + d1[1:, None] * x[2:, :]
      )
      return kx
  
imports: import numpy
  from scipy.sparse.linalg import LinearOperator
  from scipy.sparse import kron, eye, dia_array
label_desc: Use image node_id 5 for calling the MikotaK obj's underlying member method code with example usage: obj._matvec(x) and returns: kx