public GaNumMapUnilinearComposed ResetToIdentity(int vSpaceDim)
        {
            _mappingsList.Clear();
            _mappingsList.Add(GaNumMapUnilinearIdentity.Create(vSpaceDim));

            return(this);
        }
Exemplo n.º 2
0
        public static GaNumOutermorphism Create(Matrix vectorsMappingMatrix, GaUnilinearMapImplementation multivectorsMappingKind)
        {
            if (multivectorsMappingKind == GaUnilinearMapImplementation.Identity)
            {
                var vSpaceDim = vectorsMappingMatrix.ColumnCount;

                return(new GaNumOutermorphism(
                           DenseMatrix.CreateIdentity(vSpaceDim),
                           GaNumMapUnilinearIdentity.Create(vSpaceDim),
                           GaUnilinearMapImplementation.Identity
                           ));
            }

            var mvMappingDictionaryDict = vectorsMappingMatrix.ToOutermorphismDictionary();
            GaNumMapUnilinear 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 GaNumOutermorphism(
                       vectorsMappingMatrix,
                       multivectorsMap,
                       multivectorsMappingKind
                       ));
        }
Exemplo n.º 3
0
 public static GaNumOutermorphism CreateIdentity(int vSpaceDim)
 {
     return(new GaNumOutermorphism(
                DenseMatrix.CreateIdentity(vSpaceDim),
                GaNumMapUnilinearIdentity.Create(vSpaceDim),
                GaUnilinearMapImplementation.Identity
                ));
 }
 private GaNumMapUnilinearComposed(int vSpaceDim)
 {
     _mappingsList.Add(GaNumMapUnilinearIdentity.Create(vSpaceDim));
 }