public GaSymMapUnilinearComposed ResetToIdentity(int vSpaceDim) { _mappingsList.Clear(); _mappingsList.Add(GaSymMapUnilinearIdentity.Create(vSpaceDim)); return(this); }
public static GaSymOutermorphism Create(ISymbolicMatrix vectorsMappingMatrix, GaUnilinearMapImplementation multivectorsMappingKind) { if (multivectorsMappingKind == GaUnilinearMapImplementation.Identity) { var vSpaceDim = vectorsMappingMatrix.ColumnCount; return(new GaSymOutermorphism( MathematicaMatrix.CreateIdentity(SymbolicUtils.Cas, vSpaceDim), GaSymMapUnilinearIdentity.Create(vSpaceDim), GaUnilinearMapImplementation.Identity )); } var mvMappingDictionaryDict = vectorsMappingMatrix.ToOutermorphismDictionary(); GaSymMapUnilinear multivectorsMap; switch (multivectorsMappingKind) { case GaUnilinearMapImplementation.Array: multivectorsMap = mvMappingDictionaryDict.ToArrayMap( vectorsMappingMatrix.ColumnCount, vectorsMappingMatrix.RowCount ); break; case GaUnilinearMapImplementation.Hash: multivectorsMap = mvMappingDictionaryDict.ToHashMap( vectorsMappingMatrix.ColumnCount, vectorsMappingMatrix.RowCount ); break; case GaUnilinearMapImplementation.Matrix: multivectorsMap = mvMappingDictionaryDict.ToMatrixMap( vectorsMappingMatrix.ColumnCount, vectorsMappingMatrix.RowCount ); break; case GaUnilinearMapImplementation.CoefSums: multivectorsMap = mvMappingDictionaryDict.ToCoefSumsMap( vectorsMappingMatrix.ColumnCount, vectorsMappingMatrix.RowCount ); break; default: multivectorsMap = mvMappingDictionaryDict.ToTreeMap( vectorsMappingMatrix.ColumnCount, vectorsMappingMatrix.RowCount ); break; } return(new GaSymOutermorphism( vectorsMappingMatrix, multivectorsMap, multivectorsMappingKind )); }
public static GaSymOutermorphism CreateIdentity(int vSpaceDim) { return(new GaSymOutermorphism( MathematicaMatrix.CreateIdentity(SymbolicUtils.Cas, vSpaceDim), GaSymMapUnilinearIdentity.Create(vSpaceDim), GaUnilinearMapImplementation.Identity )); }
private GaSymMapUnilinearComposed(int vSpaceDim) { _mappingsList.Add(GaSymMapUnilinearIdentity.Create(vSpaceDim)); }