Coder Social home page Coder Social logo

axkr / symja_android_library Goto Github PK

View Code? Open in Web Editor NEW
371.0 16.0 83.0 325.09 MB

:coffee: Symja - computer algebra language & symbolic math library. A collection of popular algorithms implemented in pure Java.

Home Page: https://matheclipse.org/

License: GNU General Public License v3.0

Java 59.15% HTML 0.09% MATLAB 3.70% Mercury 0.01% M 0.03% Mathematica 36.26% Batchfile 0.01% XSLT 0.04% Jupyter Notebook 0.01% CSS 0.05% JavaScript 0.64% Limbo 0.01% Objective-C 0.01%
algebra symbolic-math symja computer-algebra calculus android interpreter algorithms java discord-bot

symja_android_library's Introduction

Hi ๐Ÿ‘‹, I'm Axel Kramer

A passionate Java developer from Germany

Connect with me:

Join Symja @ Discord axelclk Symja axelclk

Languages and Tools:

java android gcp javascript

symja_android_library's People

Contributors

axkr avatar dependabot[bot] avatar duytranle avatar gibeoom avatar halirutan avatar hanneswell avatar iils-hwellmann avatar neshkeev avatar nightscape avatar oleksandrmariupol avatar paulmasson avatar phdstudentatcsdepartment avatar rebcabin avatar rjolly avatar seonggwanko avatar shaunlebron avatar tiagocavalcante avatar tranleduy2000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

symja_android_library's Issues

Run scripts from Console or MMAConsole app

For example load a Symja package VectorAnalysis.m and run the DotProduct defined in the package:

org.matheclipse.core.eval.MMAConsole 

with arguments:

 -d matheclipse-core/src/test/resources/mma/VectorAnalysis.m -c DotProduct({a,b,c},{d,e,f})

Print this result to the terminal and exit the app:

a*d+b*e+c*f

For example load a MMA package VectorAnalysis.m and run the DotProduct defined in the package:

org.matheclipse.core.eval.MMAConsole 

with arguments:

 -d matheclipse-core/src/test/resources/mma/VectorAnalysis.m -c DotProduct[{a,b,c},{d,e,f}]

Print this result to the terminal and exit the app:

a*d+b*e+c*f

Program arguments are:

  -c or -code <command>                       run the command
  -d or -default <filename>                   use given textfile for an initial package script

Inconsistent variable name case (upper/lower) treatment

Is this a request for a feature or a bug report?

Bug report

What is the current behavior?

(running current snapshot as of today)

It seems that symja considers single-letter variables names as case-sensitive, but multiple letter variables names are case-insensitive, so they get clobbered:

`

โ–ถ a=0
In [1]: a=0
Out[1]: 0
โ–ถ A=1
In [2]: A=1
Out[2]: 1
โ–ถ a
In [3]: a
Out[3]: 0
โ–ถ A
In [4]: A
Out[4]: 1
โ–ถ foo=0
In [5]: foo=0
Out[5]: 0
โ–ถ Foo=1
In [6]: Foo=1
Out[6]: 1
โ–ถ foo
In [7]: foo
Out[7]: 1
โ–ถ Foo
In [8]: Foo
Out[8]: 1
`

This can also be seen using "Variables()":

`

โ–ถ Variables(b+B+bar+Bar)
In [10]: Variables(b+B+bar+Bar)
Out[10]: {b,B,bar}
`

If this is a bug report, please provide steps to reproduce:

Start the symja console, and run the commands as above.

What is the expected or desired behavior?

Variable names with multiple letters should also be case sensitive.

Please provide use cases for changing the current behavior:

General use, the inconsistent behaviour is unexpected for the user and may result in errors.

Please describe your development environment (OS, browser, etc.):

Android (symja7), but this is upstream from symja8 (tested for symja8 on linux command line)

Thanks!

Bug report - Null pointer exception when define variable

    public void testX2() {
        ExprEvaluator evaluator = new ExprEvaluator();
        evaluator.defineVariable("X", evaluator.parse("2"));
        IExpr evaluate = evaluator.evaluate("2+X");
        assertEquals(evaluate.toString(), "4");
    }
java.lang.NullPointerException
	at org.matheclipse.core.expression.Symbol.set(Symbol.java:950)
	at org.matheclipse.core.eval.ExprEvaluator.defineVariable(ExprEvaluator.java:159)
	at org.matheclipse.core.eval.ExprEvaluator.defineVariable(ExprEvaluator.java:203)

Implement Series() functions

Implement

functions in class org.matheclipse.core.builtin.SeriesFunctions

  • Allow differentiation of series in D()
  • Allow integration of series in Integrate()

You can set org.matheclipse.core.basic.ToggleFeature#SERIES = false to disable the Series() functions which are in a very early alpha state at the moment.

TODO:

  • implement denominator parameter in SeriesData (ASTSeriesData.java)
  • handle positive/negative fractional powers
Series(Sqrt(f(x)), {x, 0, n})
Series(f(x)^(-1/10), {x, 0, n})

Setting for disabling lazy evaluation of multiplication

Is this a request for a feature or a bug report?

Feature

What is the current behavior?

The "lazy evaluation of multiplication" may cause inconsistent or unexpected results (apart from the documented f(x) case), and there is no way to disable it.

Examples:

1E-2 evaluates to -2+E
N(1E-2) evaluates to 0.71828
(E is evaluated to Euler's number, 1E is evaluated as 1*E)

1e-2 evaluates to -2+e
N(1e-2) evaluates to -2.0+e
(e is evaluated as a variable (ok, case sensitive), 1e is evaluated as 1*e)

1.0E-2 evaluates to 0.01
1.0e-2 evaluates to 0.01
(e or E is evaluated as the usual scientific notation)

0x1 is evaluated as 1 (hex 1)
0y1 is evaluated as 0 (0 * y * 1)

Having the option to require the explicit "*", and throwing an error when it's not present would produce consistent and less typing-error-prone results.

What is the expected or desired behavior?

Having a setting, like for relaxedSyntax, for explicitMultiplication, turning off the "lazy evaluation of multiplication"

Please provide use cases for changing the current behavior:

When feeding user input to Symja, most (if not all) calculator users expect the scientific notation, 1e-10 for example, to work as expected (yes, it is possible to "sanitize" the input too, but disabling the feature in Symja would be ideal)

Please describe your development environment (OS, browser, etc.):

Linux, Android Studio 3.0.1

Symja is awesome, Thanks!

The result should be zero.

Hello, when I calculate expression 1/sqrt(2)-sqrt(1/2), the result not return zero value. See this image
image

[Feature request] improve ExprPreprocessor code generator

There is already a tool ExprPreprocessor which converts Symja expressions in Java line comments opened by // [$ ... $] or //[$ ... $] and closed by // $$ or //$$ into Java source code.

In the example from the TrigToExp function the Symja expression 2/(E^x-E^(-x))

 MATCHER.caseOf(Csch(x_), //
  		x -> // [$ 2/(E^x-E^(-x)) $]
 		F.Null); // $$);

will be converted into Java source code

 MATCHER.caseOf(Csch(x_), //
  		x -> // [$ 2/(E^x-E^(-x)) $]
 		F.Times(F.C2, F.Power(F.Plus(F.Negate(F.Power(F.E, F.Negate(x))), F.Power(F.E, x)), -1))); // $$);

The idea is to create a more powerful java codegen tool which can generate:

The ExprPreprocessor tool could be merged with a tool like: java_preprocessor to be a more general standalone tool for Java code generation.

At the moment the ExprPreprocessor tool is a console app. After the โ–ถ prompt, you can input the file path you would like to convert.
In Eclipse you can right click on a Java file and select menu Copy Qualified Name and insert this file path into the console app and press the ENTER button.
The generated source will replace the current file.

Input qualified Java file for converting Symja expressions to Java source
โ–ถ /symja_android_library/matheclipse-core/src/main/java/org/matheclipse/core/reflection/system/TrigToExp.java

See also the very simple java_codegen project

[BUG] Wrong integrate result

I'm calculate undefined integrate of function Integrate(4/(1-3*(x)) + 1/2*Sqrt((x)) - 5,x)
The result must be ln(1-3x) instead of ln(1/3-x) in this image
image

The correct result

image

Matrix power give wrong result

Submit a feature request or bug report

Replace any "X" with your information.


Is this a request for a feature or a bug report?

Yes, this is bug

What is the current behavior?

X

If this is a bug report, please provide steps to reproduce:

X

image

image

What is the expected or desired behavior?

Fix it as soon as possible

Please provide use cases for changing the current behavior:

X

Please describe your development environment (OS, browser, etc.):

X

Other relevant information:

X

Port functionality from PoslavskySV/rings project

Currently we use JAS - kredel/java-algebra-system for polynomial functions (i.e. gcd, factorization,...)

Should we port/use some functionality from PoslavskySV/rings project?
It seeme to be pretty fast.

If yes how should we migrate?
Does it make sense to use the "rings" project only in some parts?

Seems that "rings" uses commons-math3-3.2.jar, whereas Symja uses the hipparchus project
Can we use our own IInteger and IRational data types for coefficients?

Here is an example of a Symja integer polynomial to cc.redberry.rings converter
and an example of Symja expression polynomial to cc.redberry.rings converter

See the /rings25 branch

log(x,b) behavior does not match documentation

Is this a request for a feature or a bug report?

Bug report

What is the current behavior?

log(x,b) shortcut translates to log(b)/log(x)

If this is a bug report, please provide steps to reproduce:

  1. Navigate to the symjaweb demonstration.
  2. Type log(x,b).
  3. Hold shift and press enter, to evaluate the expression.

Alternatively:

ExprEvaluator evaluator = new ExprEvaluator();
IExpr expression = evaluator.eval("log(x,b)");
System.out.println(expression.toString());

What is the expected or desired behavior?

As per the documentation, log(x,b) should translate to log(x)/log(b)

Please provide use cases for changing the current behavior:

The documentation should match the function. Which one should change I do not know, but one should be brought in line with the other.

Please describe your development environment (OS, browser, etc.):

Win 7 pro, Chrome 66.0.3359.139 (Official Build) (64-bit)

Other relevant information:

X

Class cast exception

Is this a request for a feature or a bug report?

Bug report

findroot(abs(x-1)-2x-3==0, {x, -10, 10})

image

Regression on scientific notation results

Is this a request for a feature or a bug report?

Bug report

What is the current behavior?

With symja_java8-2018-03-02:
? 10.0^15
In [1]: 10.0^15
Out[1]: 1000000000000000.0
? 10.0^-15
In [2]: 10.0^-15
Out[2]: 0.0

It seems the regression happened between symja_java8-2017-05-07 and symja_java8-2017-07-05:

symja_java8-2017-05-07:

10.0^15
In [1]: 10.0^15
Out[1]: 1.0E15
10.0^-15
In [2]: 10.0^-15
Out[2]: 1.0E-15

symja_java8-2017-07-05:

10.0^15
In [1]: 10.0^15
Out[1]: 1000000000000000.0
10.0^-15
In [2]: 10.0^-15
Out[2]: 0.0

It looks like internally it keeps the number, but loses it when formatting for the output:
With symja_java8-2018-03-02:
? 10.0^-6
In [6]: 10.0^-6
Out[6]: 0.0
? a=10.0^-6; a10
In [7]: a=10.0^-6; a
10
Out[7]: 0.00001

If this is a bug report, please provide steps to reproduce:

Open the symja console and enter 10.0^-15

What is the expected or desired behavior?

Should return 1E-15, returns 0.0. The output formatting should change to mantissa-exponent if not possible to show the result in simple 'f' form.

Please provide use cases for changing the current behavior:

modifying the testGithub18 with -9 as the exponent instead of -2 would cover this

Please describe your development environment (OS, browser, etc.):

Android SDK on Linux (I'm actually using tranleduy's aar there - same regression, but the tests above were done with symja8 on a Windows 10 powershell, jdk8)

Other relevant information:

Thanks!

Expression "compilation" for evaluating different variable values at near-native speed?

Is this a request for a feature or a bug report?

Feature request

What is the current behavior?

Evaluating an string expression with different variable values is very slow compared to native java compiled code.

Eg.

//Very fast
for (int i=0; i<1000000; i++) {
    double result = Math.sin(i);
}

String str = "sin(x)";
ExprEvaluator eval = new ExprEvaluator(new EvalEngine(true), true, 20);

//Very slow
for (int i=0; i<1000000; i++) {
    eval.defineVariable("x", (double) i);
    IExpr e = eval.eval(str);
    double result = e.evalDouble();
}

It would be ideal to be able to evaluate the string once, and define existing variables later using the already parsed expression. Other Java math expression parsers have this feature, but since I haven't found any Javadoc, I don't know how to accomplish that with Symja.

Am I unaware of any feature that might accelerate repeated evaluations of the same expression but with different variable values?

Java 7 - Symja library

Hello, I removed all java 8 source and replace with java 7.
All test working perfect.
I created a pull request. Can you consider to merge this pull request?
I am plan to convert this project to Objective C by using J2ObjC

As as mobile development, I use gradle build system instead of maven. I remove all library except junit-4.6.jar and Lab4Math-2.0.5.jar and replace with java source (because J2ObjC can not convert binaries file and I cannot found source of Lab4Math-2.0.5.jar)

Refactor changing methods form IAST into 2 separated interfaces

Refactor the IAST hierarchy:

org.matheclipse.core.interfaces.IAST
   |--- org.matheclipse.core.expression.AbstractAST
   |       |--- org.matheclipse.core.expression.AST0
   |       |       |--- org.matheclipse.core.expression.AST1
   |       |               |--- org.matheclipse.core.expression.AST2
   |       |                       |--- org.matheclipse.core.expression.AST3
   |       |--- org.matheclipse.core.expression.ASTRealMatrix
   |       |--- org.matheclipse.core.expression.ASTRealVector
   |       |--- org.matheclipse.core.expression.HMArrayList
   |       |       |--- org.matheclipse.core.expression.AST
   |       |--- org.matheclipse.core.expression.NILPointer

Introduce 2 new interfaces:

  • IASTMutable for ASTs which provide set(position, value) methods,...
  • IASTAppendable for ASTs which provide append(value) methods,...

With this changes it should be easier to check, then an IAST allows the appending of elements.

The old IAST interface should be used if an AST won't be changed in a method, i.e. it doesn't use the set() or append() methods.

The resulting hierarchy should be similar to this hierarchy:

org.matheclipse.core.interfaces.IAST
   |--- org.matheclipse.core.interfaces.IASTMutable
   |       |--- org.matheclipse.core.expression.AbstractAST
   |       |       |--- org.matheclipse.core.expression.AST0
   |       |       |       |--- org.matheclipse.core.expression.AST1
   |       |       |               |--- org.matheclipse.core.expression.AST2
   |       |       |                       |--- org.matheclipse.core.expression.AST3
   |       |       |--- org.matheclipse.core.expression.ASTRealMatrix
   |       |       |--- org.matheclipse.core.expression.ASTRealVector
   |       |--- org.matheclipse.core.interfaces.IASTAppendable
   |       |       |--- org.matheclipse.core.expression.HMArrayList
   |       |       |       |--- org.matheclipse.core.expression.AST
   |       |       |--- org.matheclipse.core.expression.NILPointer

Deprecate class org.matheclipse.core.expression.ASTRange - move the used methods (foldLeft, foldRight, compareAdjacent,...) to the IAST hierarchy system.

[Feature request] * (Multiply operator) for matrix

Could you add an option for multiply operator as dot product with matrix term.

Example I want to calculate dot product of two matrix

{{1,2},{3,4}} . {{1,2,3},{4,5,6}} = {{1,2},{3,4}} * {{1,2,3},{4,5,6}}

Newton solver

Can you improve the newton solver method?

For example, I want to find solutions for equations

in: surd(9 - sqrt(x + 1), 3) + surd(7 + sqrt(x + 1), 3) == 4
out: x -> 0 

Findroot(surd(9-sqrt(x+1),3)+surd(7+sqrt(x+1),3)==4, {x, -1, 1})

I tried with http://symjaweb.appspot.com/ but it throw error: FindRoot: maximal count (100) exceeded

Stackoverflow error calculate GCD

Stack trace

org.matheclipse.core.interfaces.IExprImpl.gcd (Unknown Source)
org.matheclipse.core.expression.FractionSym.gcd (Unknown Source)
org.matheclipse.core.builtin.Arithmetic$GCD.e2FraArg (Unknown Source)
org.matheclipse.core.eval.interfaces.AbstractArgMultiple.binaryOperator (Unknown Source)
org.matheclipse.core.eval.interfaces.AbstractArgMultiple.evaluate (Unknown Source)
org.matheclipse.core.builtin.Arithmetic$GCD.evaluate (Unknown Source)
org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction (Unknown Source)
org.matheclipse.core.eval.EvalEngine.evalRules (Unknown Source)
org.matheclipse.core.eval.EvalEngine.evalAST (Unknown Source)
org.matheclipse.core.expression.AbstractAST.evaluate (Unknown Source)
org.matheclipse.core.eval.EvalEngine.evalLoop (Unknown Source)
org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset (Unknown Source)
org.matheclipse.core.eval.EvalEngine.evaluate (Unknown Source)
org.matheclipse.core.expression.BuiltInSymbol.of (Unknown Source)
org.matheclipse.core.expression.Symbol.of (Unknown Source)
org.matheclipse.core.interfaces.IExprImpl.gcd (Unknown Source)

Can you improve integrate result?

I want to be calculate Int(X * Sin(X), X). But the result to much complex
image

If possible, I think the result should be as this image to more readable
image

Calculate integrate of 2x always give stack size overflow on any Android device

There are some lines of stack trace

 java.lang.StackOverflowError: stack size 1037KB
     at org.matheclipse.core.expression.AST1.isSameHead(AST1.java:265)
     at org.matheclipse.core.expression.AbstractAST.isAST(AbstractAST.java:1510)
     at org.matheclipse.core.expression.AbstractAST.isExcept(AbstractAST.java:1722)
     at org.matheclipse.core.patternmatching.PatternMatcher.matchExpr(PatternMatcher.java:861)
     at org.matheclipse.core.patternmatching.PatternMatcher$StackMatcher.matchRest(PatternMatcher.java:164)
     at org.matheclipse.core.patternmatching.PatternMatcher$OrderlessMatcher.matchOrderlessAST(PatternMatcher.java:101)
     at org.matheclipse.core.patternmatching.PatternMatcher$OrderlessMatcher$1.test(PatternMatcher.java:121)
     at org.matheclipse.core.patternmatching.PatternMatcher$OrderlessMatcher$1.test(PatternMatcher.java:105)
     at org.matheclipse.core.expression.AbstractAST.exists(AbstractAST.java:754)
     at org.matheclipse.core.interfaces.IASTImpl.exists(IASTImpl.java:156)
     at org.matheclipse.core.patternmatching.PatternMatcher$OrderlessMatcher.matchOrderlessAST(PatternMatcher.java:105)
     at org.matheclipse.core.patternmatching.PatternMatcher$OrderlessMatcher$1.test(PatternMatcher.java:121)
     at org.matheclipse.core.patternmatching.PatternMatcher$OrderlessMatcher$1.test(PatternMatcher.java:105)
     at org.matheclipse.core.expression.AbstractAST.exists(AbstractAST.java:754)
     at org.matheclipse.core.interfaces.IASTImpl.exists(IASTImpl.java:156)
     at org.matheclipse.core.patternmatching.PatternMatcher$OrderlessMatcher.matchOrderlessAST(PatternMatcher.java:105)
     at org.matheclipse.core.patternmatching.PatternMatcher.evalAST(PatternMatcher.java:466)
     at org.matheclipse.core.patternmatching.PatternMatcherAndEvaluator.eval(PatternMatcherAndEvaluator.java:222)
     at org.matheclipse.core.patternmatching.RulesData.evalDownRule(RulesData.java:586)
     at org.matheclipse.core.expression.Symbol.evalDownRule(Symbol.java:288)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:611)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evaluateNull(EvalEngine.java:1389)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:114)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.eval.EvalEngine.evalWithoutNumericReset(EvalEngine.java:1406)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.reflection.system.Integrate.evaluate(Integrate.java:252)
     at org.matheclipse.core.eval.EvalEngine.evalASTBuiltinFunction(EvalEngine.java:624)
     at org.matheclipse.core.eval.EvalEngine.evalRules(EvalEngine.java:1103)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.eval.EvalEngine.evalAST(EvalEngine.java:496)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.eval.EvalEngine.evalLoop(EvalEngine.java:946)
     at org.matheclipse.core.expression.AbstractAST.evaluate(AbstractAST.java:657)
     at org.matheclipse.core.reflection.system.Integrate.integrateByParts(Integrate.java:917)
     at org.matheclipse.core.eval.EvalEngine.evaluate(EvalEngine.java:1338)
     at org.matheclipse.core.expression.F.eval(F.java:3029)

Get only real results

Bitbucket #153:
Hi,

I run the next code:

IExpr exp = util.evaluate("Solve(x^2+y^2==5,x)");

and gets the next results: {{x->-ISqrt(-5+y^2)},{x->ISqrt(-5+y^2)}}

I want to be able to get only the "real" solutions, and also get them in non complex format: x->Sqrt(y^2-5)

How can I do it?


Is there a way to get the "real" results in "real" format:

f.e, in the example above: {{x->-ISqrt(-5+y^2)},{x->Sqrt(y^2-5)}}

and not: {{x->-ISqrt(-5+y^2)},{x->ISqrt(-5+y^2)}}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.