class_docstr: Class for two-set partitions of sets.
  
  Two-set partitions of a smaller subset of :math:`\{0,...,n-1\}` are also allowed,
  where :math:`n` is a positive integer, which is not passed as an argument as it is
  nowhere needed.
  
  The parameters ``part1`` and ``part2`` are assigned to the attributes ``self.part1``
  and ``self.part2`` in a unique sorted way: the one that contains the smallest
  minimal value is assigned to ``self.part1`` for consistency.
  
  Parameters
  ----------
  part1 : iterable
      The first part of the split, an iterable that is a subset of
      :math:`\{0,\dots,n-1\}`. It may be empty, but must have empty intersection with
      ``part2``.
  part2 : iterable
      The second part of the split, an iterable that is a subset of
      :math:`\{0,\dots,n-1\}`. It may be empty, but must have empty intersection with
      ``part1``.
class_docstr_tok: ["Class","for","two-set","partitions","of","sets",".","Two-set","partitions","of","a","smaller","subset","of",":","math",":","`","\\","{","0",",","...",",","n-1\\","}","`","are","also","allowed",",","where",":","math",":","`","n","`","is","a","positive","integer",",","which","is","not","passed","as","an","argument","as","it","is","nowhere","needed",".","The","parameters","``","part1","``","and","``","part2","``","are","assigned","to","the","attributes","``","self.part1","``","and","``","self.part2","``","in","a","unique","sorted","way",":","the","one","that","contains","the","smallest","minimal","value","is","assigned","to","``","self.part1","``","for","consistency",".","Parameters","--","--","--","--","--","part1",":","iterable","The","first","part","of","the","split",",","an","iterable","that","is","a","subset","of",":","math",":","`","\\","{","0",",","\\dots",",","n-1\\","}","`",".","It","may","be","empty",",","but","must","have","empty","intersection","with","``","part2","``",".","part2",":","iterable","The","second","part","of","the","split",",","an","iterable","that","is","a","subset","of",":","math",":","`","\\","{","0",",","\\dots",",","n-1\\","}","`",".","It","may","be","empty",",","but","must","have","empty","intersection","with","``","part1","``","."]
docstr: Return the fancy printable string representation of the split.
  
  This string representation does NOT require that one can retrieve all necessary
  information from the string, but this string representation is required to be
  readable by a human.
  
  Returns
  -------
  string_of_split : str
      Return the fancy readable string representation of the split.
code: def __str__(self):
      """Return the fancy printable string representation of the split.
  
      This string representation does NOT require that one can retrieve all necessary
      information from the string, but this string representation is required to be
      readable by a human.
  
      Returns
      -------
      string_of_split : str
          Return the fancy readable string representation of the split.
      """
      return f"{self.part1}|{self.part2}"
  
imports: import functools
  import itertools
  import geomstats.backend
  import geomstats.geometry.spd_matrices
  from geomstats.geometry.stratified.point_set import Point, PointSet, _vectorize_point
label_desc: Use image node_id 7 for calling the Split obj's underlying member method code with example usage: obj.__str__() and returns: self, str, self