code: def test_matrix_grad(self, axis, column):
      def f(a):
          return log_softmax(a, axis=axis)[:, column]
  
      rng = np.random.default_rng(utt.fetch_seed())
      utt.verify_grad(f, [rng.random((3, 4))])
  
imports: import numpy
  import pytest
  from scipy.special import beta
  from scipy.special import factorial
  from scipy.special import log_softmax
  from scipy.special import poch
  from scipy.special import softmax
  from pytensor.compile.function import function
  from pytensor.configdefaults import config
  from pytensor.graph.replace import vectorize_node
  from pytensor.tensor.blockwise import Blockwise
  from pytensor.tensor.special import LogSoftmax, Softmax, SoftmaxGrad, beta, betaln, factorial, log_softmax, poch, softmax
  from pytensor.tensor.type import matrix, tensor, tensor3, tensor4, vector, vectors
  from tests import unittest_tools
  from tests.tensor.utils import random_ranged
label_desc: Use image node_id 1 for calling the TestLogSoftmax obj's underlying member method code with example usage: obj.test_matrix_grad(axis, column) and returns: log_softmax