/// <summary> /// Given a decomposition method, returns its name. /// </summary> /// <param name="decomposition"> The decomposition method </param> /// <returns> The name of the decomposition method (null if not found) </returns> public static string getDecompositionName <T1>(Decomposition <T1> decomposition) { if (decomposition == null) { return(null); } return(INSTANCE_NAMES[decomposition.GetType()]); }
static DecompositionFactory() { STATIC_INSTANCES = new Dictionary <>(); STATIC_INSTANCES[LU_COMMONS_NAME] = LU_COMMONS; STATIC_INSTANCES[QR_COMMONS_NAME] = QR_COMMONS; STATIC_INSTANCES[SV_COMMONS_NAME] = SV_COMMONS; INSTANCE_NAMES = new Dictionary <>(); INSTANCE_NAMES[LU_COMMONS.GetType()] = LU_COMMONS_NAME; INSTANCE_NAMES[QR_COMMONS.GetType()] = QR_COMMONS_NAME; INSTANCE_NAMES[SV_COMMONS.GetType()] = SV_COMMONS_NAME; }