Open phillipstanleymarbell opened 6 years ago
This issue has been further enhanced/modified, see #383 and #384. This pass should now be able to sort the labels of parameters lexicographically and return a reordered null space. The weed out has now been moved to #384.
Typo in commit 9071a56: should be "moving on to #383 and #384"
This is merged. Moving to verify.
Create a new pass to convert the Pi groups computed by dimensional matrix analysis into a canonical form and to weed out duplicate kernels:
This pass would ideally be run before the pass being implemented by #358 and #359 (and ideally also run before #354). It however need not be implemented immediately since its effect is not needed for correctness of #358 or #354.
This would likely be best done using Eigen, so I can see its implementation residing in
newton-eigenLibraryInterface.cpp
, e.g., afternewtonEigenLibraryInterfaceGetPiGroups()
, but being called from a new irPass file (e.g.,newton-irPass-dimensionalMatrixPiGroupCanonicalization.c
), in much the same waynewton-irPass-dimensionalMatrixPiGroups.c
is just a wrapper to callnewtonEigenLibraryInterfaceGetPiGroups
. This will allow us to also cleanly enable it or not using flags.