code: def get_identifiability_dataframe(self,singular_value=None,precondition=False):
          
          if singular_value is None:
              singular_value = int(min(self.pst.nnz_obs, self.pst.npar_adj))
          #v1_df = self.qhalfx.v[:, :singular_value].to_dataframe() ** 2
          xtqx = self.xtqx
          if precondition:
              xtqx = xtqx + self.parcov.inv
          #v1_df = self.xtqx.v[:, :singular_value].to_dataframe() ** 2
          v1_df = xtqx.v[:, :singular_value].to_dataframe() ** 2
          v1_df["ident"] = v1_df.sum(axis=1)
          return v1_df
docs: get the parameter identifiability as a pandas dataframe
  
          Parameters
          ----------
          singular_value : int
              the singular spectrum truncation point. Defaults to minimum of
              non-zero-weighted observations and adjustable parameters
          precondition : bool
              flag to use the preconditioned hessian (xtqt + sigma_theta^-1).
              Default is False
  
          Returns
          -------
          pandas.DataFrame : pandas.DataFrame
              A pandas dataframe of the V_1**2 Matrix with the
              identifiability in the column labeled "ident"