示例#1
0
 public TensorContraction(BinaryExpression expr, TensorIndexExpression tie, params Dimension[] shape) : base(expr, shape)
 {
     {
         expr.ThrowIfNotType <TensorExpression>();
         this.LHSTensor   = tie.LHSTensor;
         this.LHSIndexSet = tie.LHSIndexSet;
     }
 }
示例#2
0
 public static TensorIndexExpression Sum(TensorIndexExpression l) =>
 new TensorIndexExpression(GetOpMethodCall("Sum", l));
示例#3
0
 private static TensorIndexExpression Op_Min(TensorIndexExpression l) => null;
示例#4
0
 private static TensorIndexExpression Op_Product(TensorIndexExpression l) => null;
示例#5
0
        public static TensorIndexExpression Mean(TensorIndexExpression l)
        {
            var mulExpr = l.GetDimensionProductExpression();

            return(Sum(l) / mulExpr);
        }
示例#6
0
 public static TensorIndexExpression Min(TensorIndexExpression l) =>
 new TensorIndexExpression(GetOpMethodCall("Min", l));
示例#7
0
 public static TensorIndexExpression Product(TensorIndexExpression l) =>
 new TensorIndexExpression(GetOpMethodCall("Product", l));
示例#8
0
 public TensorIndexExpression this[TensorIndexExpression e] => Operation(e);
示例#9
0
 public static TensorIndexExpression Square(TensorIndexExpression l) => l * l;
示例#10
0
 public Scalar(string name, TensorIndexExpression expr) : this(name)
 {
     this.ContractionDefinition = (null, new TensorContraction(expr, this));
 }
示例#11
0
 public TensorContraction(TensorIndexExpression expr, Tensor lhsTensor, IndexSet lhsIndexSet, params Dimension[] shape)
     : base(expr, shape)
 {
     this.LHSTensor   = lhsTensor;
     this.LHSIndexSet = lhsIndexSet;
 }
示例#12
0
 public TensorContraction(TensorIndexExpression expr, Tensor lhsTensor)
     : base(expr)
 {
     this.LHSTensor = lhsTensor;
 }