Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Nov 09 17:10
    axkr labeled #202
  • Nov 09 09:33
    axkr commented #202
  • Nov 09 09:07
    fedorkotov commented #202
  • Nov 09 08:55
    fedorkotov commented #202
  • Nov 09 08:54
    fedorkotov commented #202
  • Nov 09 08:54
    axkr commented #202
  • Nov 09 08:53
    axkr commented #202
  • Nov 09 08:51
    axkr commented #202
  • Nov 09 08:37
    axkr commented #202
  • Nov 09 07:38
    fedorkotov opened #202
  • Oct 28 16:19
    axkr commented #193
  • Oct 18 15:59

    axkr on master

    Markdown, javadoc for string fu… (compare)

  • Oct 18 15:14

    axkr on master

    readme (compare)

  • Oct 18 15:03

    axkr on master

    Guava 30.0 Markdown: NDSolve, RemoveDiacri… new function names and 12 more (compare)

  • Oct 14 18:20

    axkr on master

    fix gitpod startup (compare)

  • Oct 14 18:01

    axkr on master

    Markdown (compare)

  • Oct 14 17:59

    axkr on master

    DownValues, OwnValues UpValues,… (compare)

  • Oct 12 21:20

    axkr on master

    Bump junit from 4.12 to 4.13.1. (compare)

  • Oct 12 15:31
    rjolly commented #193
  • Oct 11 19:09

    axkr on master

    #199 TestReport, TestResultObje… (compare)

OleksandrMariupol
@OleksandrMariupol
Hi Ax Kr
Ax Kr
@axkr
HI
What other issues are you interested in?
OleksandrMariupol
@OleksandrMariupol
Ax Kr
@axkr
@OleksandrMariupol yes
Maybe that I forget to close some of the issues. But in general yes.
If you introduce yourself and your interest we may find other work to do?
OleksandrMariupol
@OleksandrMariupol
Hi Ax Kr. I have degree in Applied Mathematics. For me, it will be interesting to participate in creating new things. I want to exchange knowledge in programming, and to learn new programming feature.
I will be glad consider your suggestions for work to do. And if you want to know more about me, let me know.
Ax Kr
@axkr
@OleksandrMariupol a very sophisticated project which requires some longer time would be to port the Scala based https://github.com/p-e-w/sequencer back to the symja core or apimodule.
More boring and faster stuff would be to improve the StatisticsFunctionsfor more distributions unit tests for functions...
Issue #168 would be interesting in learning to identify duplicate code and refactor and clean up the code; writing more unit tests etc.
OleksandrMariupol
@OleksandrMariupol
Hi Ax Kr. Could you assign me axkr/symja_android_library#184
Ax Kr
@axkr
@OleksandrMariupol don't no why, but I think I have to invite you again?
See your mails
OleksandrMariupol
@OleksandrMariupol
Hi axkr, thanks for the collaboration invite. Does it mean I can take the issue? If yes, can I work in this repository or I should use my fork as before?
Ax Kr
@axkr
Yes if you confirm you can work on the repo with a new branch
OleksandrMariupol
@OleksandrMariupol
I'm a bit confused and just want to make sure we're on the same page. My understanding that the flow will be the same - when new feature needs to be done I'm branching out from master, do my changes, then create a pr. The only difference would be is that now I will use master from your repo directly and not my fork. Is my understanding correct? I confirm I can work on the repo with new branches. If not, please let me know how you envision this. Thanks in advance.
Ax Kr
@axkr
yes you're understanding is right
OleksandrMariupol
@OleksandrMariupol
yes, I confirm I can work with the repo :)
Ax Kr
@axkr
you can now open the github project in the Gitpod online IDE: https://gitpod.io/#https://github.com/axkr/symja_android_library
by the first time it will run Maven (takes some time) and opens the console org.matheclipse.core.eval.Console
If you use that workspace again the initial Maven pre-built run will be skipped
OleksandrMariupol
@OleksandrMariupol
Hi axkr. Thank you for your time. Do you have any remarks on issue # 184, maybe something still need to be implemented? Could I take issue # 39?
Ax Kr
@axkr
@OleksandrMariupol assigned #39 to you.
Ax Kr
@axkr
@OleksandrMariupol could you please check these cases:
check("Gamma(2.0+1.0)/Gamma(2.0-0.9+1.0)", //
                "1.91116"); 
        check("FactorialPower(2, 0.9)", //
                "1.91116");
Can you implement an expansion for FunctionExpand?
OleksandrMariupol
@OleksandrMariupol
Hi axkr. I was offline. I will think about these problems.
Створити точковий рисунок (4).bmp
OleksandrMariupol
@OleksandrMariupol
https://en.wikipedia.org/wiki/Falling_and_rising_factorials "The rising factorial can be extended to real values of n using the gamma function provided x and x + n are real numbers that are not negative integers:" if I understood correct, x + n should be 0 or positive integers, in case x = 2, n = 0.9 x + n = 2.9 it is not integers. So, can we use these numbers
OleksandrMariupol
@OleksandrMariupol
Hi axkr. Thank you for your time. With the information that I have, check("Gamma(2.0+1.0)/Gamma(2.0-0.9+1.0)", "1.91116"), is it valid case? x(n) = gamma(x + n)/ gamma(x), because, we have limitations for this equation: provided x and x + n are real numbers that are not negative integers => n can be real positive integers. You have other information?
Ax Kr
@axkr
@OleksandrMariupol you can generalize the formula for floating-point real and complex numbersby using the Gamma() formula
you can check the numbers with method IExpr#isInexactNumber() if they are floating-point real or complex numbers
With EvalEngine#isDoubleMode() method you can check if the user runs a numeric evaluation:
OleksandrMariupol
@OleksandrMariupol
@axkr we can use this formula Gamma(x+n)/Gamma(x-n+1) instead (x)n = x(x-1)(x-2)......(x-n+1) but in case if we have a step " for example h = 0.5, etc", we should think, if we can replace f(x) f(x-h) f(x-2h) .... f(x-(k-1)h) with Gamma(x+n)/Gamma(x-n+1) or another formula which depends on Gamma". Work (x)n = Gamma(x+n)/Gamma(x-n+1) or another formula which depends on Gamma in case when we have custom step.
OleksandrMariupol
@OleksandrMariupol
Hi @axkr I did changes that I think you wanted to see. Please, let me know if I actually understood the requirements correct. In case if so, I do not understand the benefit
of those changes because of next:
  1. It does not seem to be shorter.
  2. For me it makes logic more confusing and less generalized if to look the entire function logic (I mean where we use similar while loops in both cases, for second case we can't use gamma)
factorialgamma.png
OleksandrMariupol
@OleksandrMariupol
Maybe I am missing something, can you please help me to understand?
Also, based on the information I found (I posted the screenshort above) n can't be anything else but 0 or positive integer. Maybe I should add a verification for this case and throw an exception if it fails? Please let me what do you think.
Thanks in advance for your time. Stay safe.
Ax Kr
@axkr
Yes the screenshot shows the formulas for Java double values.
you can also use ApfloatMath.gamma(arg1)
for apfloat floating point numbers which can have higher precision than Java double values.
to evaluate for a higher precision you can use the N()function.
Ax Kr
@axkr
Example N(FactorialPower(1/3, 7 ), 30)
but the arguments of the function should be symbolic.
breandan
@breandan
Hi Axel, I've been reading about SymJa. It's an amazing piece of work! I'm particularly impressed by the effort you've put into usability. Been reading through the source code and I'm not sure how it all fits together yet, but I was curious if you currently support or plan to implement Knuth–Bendix completion for general purpose term rewriting? Is there some documentation on how the different CAS's (e.g. JAS, Rubi) fit together? Can you describe your long-term goals for the project, i.e. do you plan to focus on the user-facing application and notebook support, or do you see Symja as becoming more of a library like Sympy? Thanks for your hard work on this project!
Ax Kr
@axkr
@breandan Yes general purpose term rewriting is the goal. JAS is supported by converting from Symja IExpr to JAS and backward:
https://github.com/axkr/symja_android_library/blob/master/symja_android_library/matheclipse-core/src/main/java/org/matheclipse/core/convert/JASConvert.java.
The conversion of Rubi (Mathematica pattern matching rules) is described in this wiki page:
https://github.com/axkr/symja_android_library/wiki/Porting-Rubi-Integration-rules-to-Symja.
Symja is used currently in the Android and Apple Store NCalc programs by github user @tranleduy2000.
(Very) long term goal is to use Symja as a programming language (similar to Mathematica packages) and providing a JSON API interface (with NLP functions in the future?):
https://github.com/axkr/symja_android_library/wiki/API