Пример #1
0
        public void ReplaceFunction()
        {
            var x = new Symbol("x");
            var f = new SymbolFunction("f");

            Assert.IsTrue(_.Same(1 + 2 * (x + 2), (1 + f._(x + 2)).Replace(
                                     new Rule(f._(~x), 2 * x))));
        }
Пример #2
0
        public void ReplaceFunctionDerivative()
        {
            var x = new Symbol("x");
            var f = new SymbolFunction("f", x);

            Assert.IsTrue(_.Same(1 + 2 * x, (1 + f.D()._(x)).Replace(
                                     new Rule(f._(~x), _.Pow(x, 2)))));
            Assert.IsTrue(_.Same(4 * x, (f.D()._(2 * x)).Replace(
                                     new Rule(f._(~x), _.Pow(x, 2)))));
        }
Пример #3
0
        public void SymbolFunctionString()
        {
            var x = new Symbol("x");
            var f = new SymbolFunction("f");
            var g = new SymbolFunction("g", x);

            Assert.AreEqual("f[]", f.ToString());
            Assert.AreEqual("g[x]", g.ToString());
            Assert.AreEqual("f[x,x+1]", f._(x, x + 1).ToString());
        }
Пример #4
0
        public void SymbolFunctionCreate()
        {
            var x = new Symbol("x");
            var f = new SymbolFunction("f");
            var g = new SymbolFunction("g", x);

            Assert.AreEqual("f", f.Name);
            Assert.AreEqual(0, f.Arguments.Length);
            Assert.AreEqual("g", g.Name);
            Assert.AreEqual(1, g.Arguments.Length);
            var f1 = f._(x);

            Assert.AreEqual("f", f1.Name);
            Assert.AreEqual(1, f1.Arguments.Length);
        }