Пример #1
0
        public void SumAsEinsteinSumMatchesSum()
        {
            var x = NN.Random.Uniform(-1f, 1f, 10);
            var y = NN.Ones(1);

            AssertArray.AreEqual(x.Sum(axis: 0), NN.EinsteinSum(x, y, "i,->"));
        }
Пример #2
0
        public void DotAsEinsteinSumMatchesDot()
        {
            var x = NN.Random.Uniform(-1f, 1f, 10, 20);
            var y = NN.Random.Uniform(-1f, 1f, 20, 13);

            AssertArray.AreAlmostEqual(x.Dot(y), NN.EinsteinSum(x, y, "ij,jk->ik"));
        }
Пример #3
0
        public void OuterAsEinsteinSumMatchesOuter()
        {
            var x = NN.Random.Uniform(-1f, 1f, 10);
            var y = NN.Random.Uniform(-1f, 1f, 15);

            AssertArray.AreEqual(x.Outer(y), NN.EinsteinSum(x, y, "i,j->ij"));
        }
Пример #4
0
 public static Array <float> EinsteinSum(Array <float> x, Array <float> y, string einstein) =>
 NN.EinsteinSum(x, y, einstein);