/// <summary> /// Creates a new <see cref="VectorProjOperNode"/> projecting <paramref name="a"/> onto <paramref name="b"/>. /// </summary> /// <param name="a">The <see cref="TensorNode"/> to project from.</param> /// <param name="b">The <see cref="TensorNode"/> to project onto.</param> /// <returns>A new <see cref="VectorProjOperNode"/> as <paramref name="a"/> projected onto <paramref name="b"/>.</returns> public static VectorProductOperNode DotProduct(TensorNode a, TensorNode b) { VectorProductOperNode node = new VectorProductOperNode(VectorProductMethod.DOT); node.AddChild(a); node.AddChild(b); return(node); }
public void DotProduct() { // Parse DefaultParser parser = new DefaultParser(); VectorProductOperNode node = new VectorProductOperNode(VectorProductMethod.DOT); parser.ParseString("<2,1,3>"); node.AddChild(parser.Tree.Root); parser = new DefaultParser(); parser.ParseString("<1,2,3>"); node.AddChild(parser.Tree.Root); // Simplify Simplifier simplifier = new Simplifier(); ExpNode exp_result = node.Execute(simplifier); // Print DefaultPrinter printer = new DefaultPrinter(); string str_result = exp_result.Print(printer); // Compare Assert.IsTrue(str_result == "13"); }