class_docstr: A class to perform Linear Discriminant Analysis.
  
  It returns the low dimensional representation as per LDA.
  
  Arguments
  ---------
  reduced_dim : int
      The dimension of the output representation.
docstr: Performs LDA and projects the vectors onto lower dimension space.
  
  Arguments
  ---------
  stat_server : object of speechbrain.processing.PLDA_LDA.StatObject_SB.
      Contains vectors and meta-information to perform LDA.
  reduced_dim : int
      Dimension of the reduced space.
docstr_tok: ["Performs","LDA","and","projects","the","vectors","onto","lower","dimension","space",".","Arguments","--","--","--","--","-","stat_server",":","object","of","speechbrain.processing.PLDA_LDA.StatObject_SB",".","Contains","vectors","and","meta-information","to","perform","LDA",".","reduced_dim",":","int","Dimension","of","the","reduced","space","."]
code: def do_lda(self, stat_server=None, reduced_dim=2, transform_mat=None):
      """Performs LDA and projects the vectors onto lower dimension space.
  
      Arguments
      ---------
      stat_server : object of speechbrain.processing.PLDA_LDA.StatObject_SB.
          Contains vectors and meta-information to perform LDA.
      reduced_dim : int
          Dimension of the reduced space.
      """
  
      # Get transformation matrix and project
      if transform_mat is None:
          self.transform_mat = stat_server.get_lda_matrix_stat1(
              reduced_dim
          )
      else:
          self.transform_mat = transform_mat
  
      # Projection
      new_train_obj = copy.deepcopy(stat_server)
      new_train_obj.rotate_stat1(self.transform_mat)
  
      return new_train_obj
  
imports: import numpy
  import copy
  import pickle
  from scipy import linalg
label_desc: Use image node_id 2 for calling the LDA obj's underlying member method code with example usage: obj.do_lda(stat_server, reduced_dim, transform_mat) and returns: new_train_obj