Symja - Java computer algebra library - https://github.com/axkr/symja_android_library
dependabot[bot] on maven
axkr on master
Bump classgraph from 4.8.146 to… (compare)
dependabot[bot] on maven
Bump classgraph from 4.8.146 to… (compare)
dependabot[bot] on maven
axkr on master
Bump RoaringBitmap from 0.9.27 … (compare)
dependabot[bot] on maven
Bump RoaringBitmap from 0.9.27 … (compare)
axkr on master
reset to standard codespace con… (compare)
axkr on master
Dockerfile for Github codespaces (compare)
axkr on master
devcontainer.json for Github co… (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.