Ejemplo n.º 1
0
        public override IEnumerable <Tuple <int, IGaSymMultivector> > BasisVectorMaps()
        {
            for (var index = 0; index < DomainVSpaceDimension; index++)
            {
                var mv = GaSymMultivector.CreateFromColumn(VectorsMappingMatrix, index);

                if (!mv.IsNullOrZero())
                {
                    yield return(Tuple.Create(index, (IGaSymMultivector)mv));
                }
            }
        }
Ejemplo n.º 2
0
        public static GaSymMapUnilinearCoefSums ToCoefSumsMap(this ISymbolicMatrix linearMapMatrix)
        {
            Debug.Assert(linearMapMatrix.RowCount.IsValidGaSpaceDimension() && linearMapMatrix.ColumnCount.IsValidGaSpaceDimension());

            var resultMap = GaSymMapUnilinearCoefSums.Create(
                linearMapMatrix.ColumnCount.ToVSpaceDimension(),
                linearMapMatrix.RowCount.ToVSpaceDimension()
                );

            for (var id = 0; id < linearMapMatrix.ColumnCount; id++)
            {
                var mv = GaSymMultivector.CreateFromColumn(linearMapMatrix, id);

                if (!mv.IsNullOrZero())
                {
                    resultMap.SetBasisBladeMap(id, mv);
                }
            }

            return(resultMap);
        }
Ejemplo n.º 3
0
 public override IGaSymMultivector this[int id1]
 => GaSymMultivector.CreateFromColumn(InternalMappingMatrix, id1);