diff --git a/src/main/java/arb/expressions/nodes/LiteralConstantNode.java b/src/main/java/arb/expressions/nodes/LiteralConstantNode.java index 7b4e4c308..aeb7a3c87 100644 --- a/src/main/java/arb/expressions/nodes/LiteralConstantNode.java +++ b/src/main/java/arb/expressions/nodes/LiteralConstantNode.java @@ -22,7 +22,6 @@ import arb.documentation.BusinessSourceLicenseVersionOnePointOne; import arb.documentation.TheArb4jLibrary; import arb.domains.Domain; -import arb.exceptions.ArbException; import arb.expressions.Compiler; import arb.expressions.Expression; import arb.expressions.Parser; diff --git a/src/main/java/arb/expressions/nodes/VariableNode.java b/src/main/java/arb/expressions/nodes/VariableNode.java index 955c34853..b98c43029 100644 --- a/src/main/java/arb/expressions/nodes/VariableNode.java +++ b/src/main/java/arb/expressions/nodes/VariableNode.java @@ -25,9 +25,6 @@ import arb.expressions.Context; import arb.expressions.Expression; import arb.expressions.VariableReference; -import arb.expressions.nodes.binary.DivisionNode; -import arb.expressions.nodes.binary.ExponentiationNode; -import arb.expressions.nodes.binary.MultiplicationNode; import arb.expressions.nodes.nary.ProductNode; import arb.functions.Function; diff --git a/src/main/java/arb/expressions/nodes/nary/ProductNode.java b/src/main/java/arb/expressions/nodes/nary/ProductNode.java index 3d3e9e6c9..07bfb1ed3 100644 --- a/src/main/java/arb/expressions/nodes/nary/ProductNode.java +++ b/src/main/java/arb/expressions/nodes/nary/ProductNode.java @@ -22,7 +22,7 @@ * {@link TheArb4jLibrary} */ public class ProductNode> extends - NAryOperationNode + NAryOperationNode { public ProductNode(Expression expression) @@ -44,7 +44,7 @@ public Node integrate(VariableNode variable) @Override public Node differentiate(VariableNode variable) { - assert false : "TODO: Auto-generated method stub"; + assert false : "TODO: implement ∂/∂x[∏ᵢ₌₁ᵏfᵢ(x)] = ∑ᵢ₌₁ᵏ[(∂/∂x fᵢ(x))∏ⱼ₌₁,ⱼ≠ᵢᵏfⱼ(x)]"; return null; } diff --git a/src/test/java/arb/expressions/ExpressionTest.java b/src/test/java/arb/expressions/ExpressionTest.java index f31eff10d..3c7951b93 100644 --- a/src/test/java/arb/expressions/ExpressionTest.java +++ b/src/test/java/arb/expressions/ExpressionTest.java @@ -17,7 +17,6 @@ import arb.functions.polynomials.RealPolynomialNullaryFunction; import arb.functions.rational.RationalNullaryFunction; import arb.functions.real.RealFunction; -import arb.functions.real.RealFunctional; import arb.functions.real.RealNullaryFunction; import arb.functions.real.RealNullaryFunctional; import arb.functions.real.TestCompiledDerivative; diff --git a/todoList.txt b/todoList.txt index 02108e1f7..b0ca36c21 100644 --- a/todoList.txt +++ b/todoList.txt @@ -6,3 +6,4 @@ expr compiler: fractional derivatices java.lang.AssertionError: TODO: map functionalDependsOnIndependentVariable=true'k' context=Context(#1858015030)[functions=[],variables=Variables(#25764044)[[]]] depends=true functional=2*(j(k,x))at arb4j/arb.expressions.Expression.generateFunctional(Expression.java:1027)at arb4j/arb.expressions.Expression.generateEvaluationMethod(Expression.java:972)at arb4j/arb.expressions.Expression.generate(Expression.java:817)at arb4j/arb.expressions.Expression.defineClass(Expression.java:583)at arb4j/arb.expressions.Expression.getInstance(Expression.java:1332)at arb4j/arb.expressions.Expression.instantiate(Expression.java:1481)at arb4j/arb.functions.Function.instantiate(Function.java:129)at arb4j/arb.functions.Function.express(Function.java:92)at arb4j/arb.functions.integer.RealFunctionSequence.express(RealFunctionSequence.java:31)at arb4j/arb.functions.integer.RealFunctionSequence.express(RealFunctionSequence.java:26)at arb4j/arb.expressions.nodes.unary.SphericalBesselFunctionNodeOfTheFirstKindTest.testj0ViaRealFunctionalExpression(SphericalBesselFunctionNodeOfTheFirstKindTest.java:23)at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)at java.base/java.lang.reflect.Method.invoke(Method.java:580)at junit@4.13.2/junit.framework.TestCase.runTest(TestCase.java:177)at junit@4.13.2/junit.framework.TestCase.runBare(TestCase.java:142)at junit@4.13.2/junit.framework.TestResult$1.protect(TestResult.java:122)at junit@4.13.2/junit.framework.TestResult.runProtected(TestResult.java:142)at junit@4.13.2/junit.framework.TestResult.run(TestResult.java:125)at junit@4.13.2/junit.framework.TestCase.run(TestCase.java:130)at junit@4.13.2/junit.framework.TestSuite.runTest(TestSuite.java:241)at junit@4.13.2/junit.framework.TestSuite.run(TestSuite.java:236)at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:530)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:758)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:453)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:211) Exception in thread "main" java.lang.AssertionError: value is nullat arb4j/arb.Integer.set(Integer.java:904)at arb4j/arb.functions.real.kfunc.initialize(kfunc.java:47)at arb4j/arb.functions.real.k.evaluate(k.java:40)at arb4j/arb.functions.real.k.evaluate(k.java:1)at arb4j/arb.functions.Function.evaluate(Function.java:243)at arb4j/arb.functions.Function.evaluate(Function.java:223)at arb4j/arb.functions.integer.Sequence.evaluate(Sequence.java:50)at arb4j/arb.functions.real.k.main(k.java:22) java.lang.NoSuchMethodError: 'arb.Complex arb.functions.SphericalBesselFunction.evaluate(arb.Complex, int, int, arb.Complex)'at j(3,2_3)*2.evaluate(Unknown Source)at arb4j/arb.functions.Function.evaluate(Function.java:237)at arb4j/arb.expressions.viz.ExpressionTree.evaluateExpression(ExpressionTree.java:697)at arb4j/arb.expressions.viz.Expressor.executeTabAction(Expressor.java:314)at arb4j/arb.expressions.viz.Expressor.evaluate(Expressor.java:399) +implement ∂/∂x[∏ᵢ₌₁ᵏfᵢ(x)] = ∑ᵢ₌₁ᵏ[(∂/∂x fᵢ(x))∏ⱼ₌₁,ⱼ≠ᵢᵏfⱼ(x)]