Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 16:15

    axkr on master

    Fuzz testing - catch Arithmetic… (compare)

  • Sep 21 21:07

    axkr on master

    Fix bugs found by fuzz testing … (compare)

  • Sep 21 17:38

    HannesWell on master

    [CleanUp] organize imports of a… (compare)

  • Sep 21 17:38
    HannesWell closed #280
  • Sep 21 17:16
    gitpod-io[bot] commented #280
  • Sep 21 17:16
    HannesWell opened #280
  • Sep 21 17:13

    HannesWell on master

    [CleanUp] remove throws-tag for… (compare)

  • Sep 21 17:13
    HannesWell closed #279
  • Sep 21 17:12
    gitpod-io[bot] commented #279
  • Sep 21 17:12
    HannesWell opened #279
  • Sep 21 15:20

    axkr on master

    JSXGraph 1.3.2 (compare)

  • Sep 20 19:27
    HannesWell reopened #272
  • Sep 20 19:27
    HannesWell commented #272
  • Sep 20 19:19

    HannesWell on master

    [Logging] make log4j2-config av… (compare)

  • Sep 20 19:19
    HannesWell closed #278
  • Sep 20 19:19
    HannesWell closed #272
  • Sep 20 19:09
    HannesWell commented #278
  • Sep 20 19:09
    gitpod-io[bot] commented #278
  • Sep 20 19:09
    HannesWell synchronize #278
  • Sep 20 19:06
    HannesWell commented #272
TiMauzi
@TiMauzi
@axkr So that means, that I actually can use your original Symja (if nothing unexpected happens anymore) :)
Axel Kramer
@axkr
@TiMauzi go ahead ;-)
Axel Kramer
@axkr
@TiMauzi bumped version to 2.0.0-SNAPSHOT because of other Maven module partition:
https://github.com/axkr/symja_android_library#license
TiMauzi
@TiMauzi
@axkr There might be a problem with the new version. I upgraded it in my build.gradle and suddenly, the following doesn't evaluate anymore:
Variables(termquery$$fuchs*(termquery$$huhn*(1-termquery$$schaf)+termquery$$schaf)+(1-termquery$$fuchs)*termquery$$schaf*termquery$$wolf)
Of course, it should output {termquery$$fuchs,termquery$$huhn,termquery$$schaf,termquery$$wolf} which works here: http://matheclipse.org/
TiMauzi
@TiMauzi
I had to go back to 1.0.0-SNAPSHOT for now, because there everything works flawlessly
While in 1.0.0-SNAPSHOT, the line IExpr varsExpr = calcEvaluator.eval("Variables(" + calc + ")"); evaluates to {termquery$$fuchs,termquery$$huhn,termquery$$schaf,termquery$$wolf}, the same code in 2.0.0-SNAPSHOT evaluates to just Variables(termquery$$fuchs*(termquery$$huhn*(1-termquery$$schaf)+termquery$$schaf)+(1-termquery$$fuchs)*termquery$$schaf*termquery$$wolf)
(calc is of course my test string "termquery$$fuchs*(termquery$$huhn*(1-termquery$$schaf)+termquery$$schaf)+(1-termquery$$fuchs)*termquery$$schaf*termquery$$wolf" in the examples above)
Axel Kramer
@axkr
@TiMauzi in this JUnit test I cannot reproduce the problem:
Can you create a minimal example which reproduces the error?
And set Config.DEBUG=true at the beginning?
TiMauzi
@TiMauzi
I saw that a class named "org/unbescape/html/HtmlEscape" is missing for me. In which part of Symja is this implemented?
TiMauzi
@TiMauzi
@axkr Okay, turns out the problem was, as often happens, that Elasticsearch didn't load the new transitive dependencies from Symja 2.0.0-SNAPSHOT, it was just a bit less visible this time. Sorry for taking away your time!
Xipeng Shen
@xipengshen

Hi, Is. there a plan to support Matrix Calculus in Symja, where, a matrix or vector can be manipulated as a whole? Such a support exists in Sympy, as illustrated as follows:

X = MatrixSymbol('X', 3, 3)
Y = MatrixSymbol('Y', 3, 3)
(X.TX).IY. would give 𝑋^(−1) (𝑋^𝑇)^(−1) 𝑌 // where, X.T is transpose(X); X.I is inverse(X)

What would be even better is to support the formulae in Matrix Calculus for differentiations of Matrix expressions (https://en.wikipedia.org/wiki/Matrix_calculus), such as

        D(transpose(a)*X*b, X) 

would produce
b*transpose(a)
where a and b are two vectors and X is a matrix of compatible shapes.
Such a support would make Symja very useful in Differentiable Programming of tensor-based programs.

For symbolic manipulation you can load packages with transformation rules or do you mean standard predefined "automatic" transformation rules?
Xipeng Shen
@xipengshen
@axkr Thanks for the response. My understanding is that those functions operate on each element of a matrix, but are not manipulating a matrix as a whole. In my example D(transpose(a)Xb, X)=b*transpose(a), X is a matrix symbolically represented, and a and b are two vectors symbolically represented. They are not instantiated with content.
@axkr In another word, a matrix or a vector in an expression would be treated as a single symbol in the manipulation.
Axel Kramer
@axkr
no there is not. I could imagine implementing this on the base of "assumption" definitions. Something like:
$Assumptions = {Element(M, Matrices({3, 3}, Reals))}
where M is defined as 3x3 matrix
and using this in some functions:
TensorDimensions(M)
Xipeng Shen
@xipengshen

@axkr Thanks for the thought. I've filed a feature request. The implementation is probably not too complicated, but does have some subtle aspects (e.g., matrix layout conventions: https://en.wikipedia.org/wiki/Matrix_calculus#Layout_conventions ).

So far, I haven't found an open-source tool with a full support of that feature. Sympy's support is incomplete. MatrixCalculus (http://www.matrixcalculus.org/) has a good support, but is not open-sourced. If Symja implements it, it could be the first open-source tool with that feature.

Axel Kramer
@axkr
@xipengshen I've not looked at it in detail, but does it help, if we can get this package to run in Symja:
Xipeng Shen
@xipengshen
@axkr Yes, a quick look seems to suggest that it could do the job. I'm not sure how complete its support is, but it seem to cover some important cases. A good finding!
Xipeng Shen
@xipengshen
The installation instruction of Symja seems to be only about installation on Windows. Is it installable on Linux and Mac?
Axel Kramer
@axkr
@xipengshen yes, I'm using it on Windows. But as it only requires a Java 8 installation it should also work an Linux and Mac. I still only have Windows *.bat scripts created in the releases. If you port these to Linux *.sh shell scripts it should also work.
Xipeng Shen
@xipengshen
@axkr Got it. Thanks! BTW, I saw that there are Mathmatica and Matlab code in the repo. Are they included in Symja? Do I need to install Wolfram Engine to use Symja?
Axel Kramer
@axkr
no you don't need to install it
Xipeng Shen
@xipengshen
Thanks!
Axel Kramer
@axkr
@xipengshen can you please add your Linux shell script in a new issue?
TiMauzi
@TiMauzi
@axkr Did something change with apfloat? I did nothing really new but when I try to build, apfloat-applet fails suddenly
Okay, seems like they jumped from the SNAPSHOT version to the "real" version. Maybe it's interesting for anyone out there, too :)
Axel Kramer
@axkr
@TiMauzi I'm using 1.10.1-SNAPSHOT now: axkr/symja_android_library#226
TiMauzi
@TiMauzi
Oh, good to know :) Although, 1.10.0 seems to work, too, for me... I better change that to the version you use then
@axkr Or is there a reason you use 1.10.1-SNAPSHOT instead of 1.10.0? Wouldn't the latter be more resilient?
TiMauzi
@TiMauzi
@axkr Maybe it would be wise (for long-term-ish support) to use a non-snapshot version, no?
TiMauzi
@TiMauzi
@axkr Hey there, I see I asked already a little while ago, but are there any plans of releasing a non-snapshot version of Symja? :)
TiMauzi
@TiMauzi
Btw did something change again concerning the maven imports?
Axel Kramer
@axkr
I'm still waiting for the hipparchus 2.0 release.
axkr/symja_android_library#245
For the build we have an eclipse script which can set the current snapshot verion in PR 245
TiMauzi
@TiMauzi

For the build we have an eclipse script which can set the current snapshot verion in PR 245

What do you mean by that?

Axel Kramer
@axkr
On the parent level the versions aren't removed:
TiMauzi
@TiMauzi
Yeah, noticed that already! And looks like that solved the problem I had with Gradle and Elasticsearch, remember? That transitive dependencies weren't detected properly in the IDE. Although, when compiling, it still throws errors, when I try and only use the main modules as dependencies
But we're getting there ;)
TiMauzi
@TiMauzi
Now I just need to find out how to make everything work properly again :P I hope hipparchus will release a proper version soon, so there isn't a cleanup of my build.gradlenecessary over and over again :)
Axel Kramer
@axkr
We will move this channel please switch to Discord:
https://discord.gg/tYknzr2qam