public virtual GaNumMapUnilinear Adjoint() { var exprArray = this.ToScalarsArray(); var resultMap = GaNumMapUnilinearTree.Create( TargetVSpaceDimension, DomainVSpaceDimension ); for (var id = 0; id < TargetGaSpaceDimension; id++) { var mv = GaNumMultivector.CreateFromRow(exprArray, id); if (!mv.IsNullOrZero()) { resultMap.SetBasisBladeMap(id, mv); } } return(resultMap); }