public static GaSymMapUnilinearMatrix ToMatrixMap(this Dictionary <int, GaSymMultivector> basisBladeMaps, int domainVSpaceDim, int targetVSpaceDim) { var targetGaSpaceDim = targetVSpaceDim.ToGaSpaceDimension(); var zeroMvArray = new Expr[targetGaSpaceDim]; return(GaSymMapUnilinearMatrix.Create( MathematicaMatrix.CreateFullMatrixFromColumns( SymbolicUtils.Cas, Enumerable .Range(0, domainVSpaceDim.ToGaSpaceDimension()) .Select( id => { GaSymMultivector mv; basisBladeMaps.TryGetValue(id, out mv); return mv?.TermsToExprArray() ?? zeroMvArray; } ) ) )); }
public static GaSymMapUnilinearMatrix ToMatrixMap(this ISymbolicMatrix linearMapMatrix) { return(GaSymMapUnilinearMatrix.Create(linearMapMatrix)); }
public static GaSymMapUnilinearMatrix ToMatrixMap(this IGaSymMapUnilinear linearMap) { return(GaSymMapUnilinearMatrix.Create(linearMap.ToMatrix())); }