code: def set_jac(self, m, val, row, col):
          
          assert m in ('Fx', 'Fy', 'Gx', 'Gy', 'Fx0', 'Fy0', 'Gx0', 'Gy0'), \
              'Wrong Jacobian matrix name <{0}>'.format(m)
  
          if isinstance(val,
                        (int, float)) and isinstance(row,
                                                     (np.ndarray, matrix, list)):
              val = val * ones(len(row), 1)
  
          self._set[m]['I'] = matrix([self._set[m]['I'], matrix(row)])
          self._set[m]['J'] = matrix([self._set[m]['J'], matrix(col)])
          self._set[m]['V'] = matrix([self._set[m]['V'], matrix(val)])
docs: Set the values at (row, col) to val in Jacobian m
  
          :param m: Jacobian name
          :param val: values to set
          :param row: row indices
          :param col: col indices
          :return: None