class_docstr: Class for the space of matrices (m, n).
  
  Parameters
  ----------
  m, n : int
      Integers representing the shapes of the matrices: m x n.
class_docstr_tok: ["Class","for","the","space","of","matrices","(","m",",","n",")",".","Parameters","--","--","--","--","--","m",",","n",":","int","Integers","representing","the","shapes","of","the","matrices",":","m","x","n","."]
docstr: Check if a matrix is positive definite.
  
  Parameters
  ----------
  mat : array-like, shape=[..., n, n]
      Matrix.
  
  Returns
  -------
  is_pd : array-like, shape=[...,]
      Boolean evaluating if the matrix is positive definite.
docstr_tok: ["Check","if","a","matrix","is","positive","definite",".","Parameters","--","--","--","--","--","mat",":","array-like",",","shape=","[","...",",","n",",","n","]","Matrix",".","Returns","--","--","--","-","is_pd",":","array-like",",","shape=","[","...",",","]","Boolean","evaluating","if","the","matrix","is","positive","definite","."]
code: def is_pd(cls, mat):
      """Check if a matrix is positive definite.
  
      Parameters
      ----------
      mat : array-like, shape=[..., n, n]
          Matrix.
  
      Returns
      -------
      is_pd : array-like, shape=[...,]
          Boolean evaluating if the matrix is positive definite.
      """
      if mat.ndim == 2:
          return gs.array(gs.linalg.is_single_matrix_pd(mat))
  
      shape = mat.shape
      if mat.ndim > 3:
          mat = gs.reshape(mat, (-1,) + shape[-2:])
  
      is_pd = gs.array([gs.linalg.is_single_matrix_pd(m) for m in mat])
      return gs.reshape(is_pd, shape[:-2])
  
imports: import logging
  import math
  from functools import reduce
  import geomstats.backend
  import geomstats.errors
  from geomstats.algebra_utils import flip_determinant, from_vector_to_diagonal_matrix
  from geomstats.geometry.base import MatrixVectorSpace
  from geomstats.geometry.euclidean import EuclideanMetric
  from geomstats.vectorization import repeat_out
label_desc: Use image node_id 17 for calling the Matrices obj's underlying member method code with example usage: obj.is_pd(cls, mat) and returns: gs, gs