class_docstr: DimensionSystem represents a coherent set of dimensions.
  
  The constructor takes three parameters:
  
  - base dimensions;
  - derived dimensions: these are defined in terms of the base dimensions
    (for example velocity is defined from the division of length by time);
  - dependency of dimensions: how the derived dimensions depend
    on the base dimensions.
  
  Optionally either the ``derived_dims`` or the ``dimensional_dependencies``
  may be omitted.
docstr: Useless method, kept for compatibility with previous versions.
  
  DO NOT USE.
  
  Compute the inverse transformation matrix from the base to the
  canonical dimension basis.
  
  It corresponds to the matrix where columns are the vector of base
  dimensions in canonical basis.
  
  This matrix will almost never be used because dimensions are always
  defined with respect to the canonical basis, so no work has to be done
  to get them in this basis. Nonetheless if this matrix is not square
  (or not invertible) it means that we have chosen a bad basis.
docstr_tok: ["Useless","method",",","kept","for","compatibility","with","previous","versions",".","DO","NOT","USE",".","Compute","the","inverse","transformation","matrix","from","the","base","to","the","canonical","dimension","basis",".","It","corresponds","to","the","matrix","where","columns","are","the","vector","of","base","dimensions","in","canonical","basis",".","This","matrix","will","almost","never","be","used","because","dimensions","are","always","defined","with","respect","to","the","canonical","basis",",","so","no","work","has","to","be","done","to","get","them","in","this","basis",".","Nonetheless","if","this","matrix","is","not","square","(","or","not","invertible",")","it","means","that","we","have","chosen","a","bad","basis","."]
code: def inv_can_transf_matrix(self):
      """
      Useless method, kept for compatibility with previous versions.
  
      DO NOT USE.
  
      Compute the inverse transformation matrix from the base to the
      canonical dimension basis.
  
      It corresponds to the matrix where columns are the vector of base
      dimensions in canonical basis.
  
      This matrix will almost never be used because dimensions are always
      defined with respect to the canonical basis, so no work has to be done
      to get them in this basis. Nonetheless if this matrix is not square
      (or not invertible) it means that we have chosen a bad basis.
      """
      matrix = reduce(
          lambda x, y: x.row_join(y),
          [self.dim_can_vector(d) for d in self.base_dims],
      )
      return matrix
  
imports: from __future__ import annotations
  import collections
  from functools import reduce
  from sympy.core.basic import Basic
  from sympy.core.containers import Dict, Tuple
  from sympy.core.singleton import S
  from sympy.core.sorting import default_sort_key
  from sympy.core.symbol import Symbol
  from sympy.core.sympify import sympify
  from sympy.matrices.dense import Matrix
  from sympy.functions.elementary.trigonometric import TrigonometricFunction
  from sympy.core.expr import Expr
  from sympy.core.power import Pow
label_desc: Use image node_id 11 for calling the DimensionSystem obj's underlying member method code with example usage: obj.inv_can_transf_matrix() and returns: matrix