Symja - Java computer algebra library - https://github.com/axkr/symja_android_library
HannesWell on master
[Quantity] clean up and simplif… (compare)
HannesWell on master
[IQuantity] fix Java-Form creat… (compare)
axkr on master
set default log level to warn call JSFiddle with https #301 Improve JSFiddle button in… and 1 more (compare)
axkr on master
Fix wrong mathcell output in se… (compare)
axkr on master
avoid ArrayIndexOutOfBoundsExce… Improve Subdivide function (compare)
axkr on master
Clean up Mathcell, Plotly calls… (compare)
axkr on master
Improve error message for Piece… clean up (compare)
axkr on master
Improve BoxWhiskerChart (compare)
axkr on master
markdown BoxWhiskerChart check Config.MAX_GRAPH_VERTICES… imporve ÜPlotly output / Genera… (compare)
{termquery$$fuchs,termquery$$huhn,termquery$$schaf,termquery$$wolf}
which works here: http://matheclipse.org/
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)
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.
M
is defined as 3x3 matrix
TensorDimensions(M)
@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.