Git Product home page Git Product logo

Comments (7)

davidedc avatar davidedc commented on August 24, 2024 1

can now parse the example above - can parse whenever one of the factors is a "naked" number. See tests at the commit linked in the "closure" message above.

from algebrite.

davidedc avatar davidedc commented on August 24, 2024

Unfortunately I’m deep in another project at the moment, I can’t look into this properly.

I think I remember that there might be some problems in supporting implicit multiplication input because it's not always unambiguous, plus I extended the language to support higher-order functions. So in (x+1)(x-1), as far as the system knows (x+1) could really result into a function to be applied to (x-1). So it can’t just assume at parse-time that (x+1)(x-1) is a multiplication. Other cases could be handled though (like in the case of numerical constants), but it could be hit and miss.

That’s as far as I remember but I might be wrong, I’d need to look into this properly to be sure 100%. Maybe try to look at the tests if there is any example that rings a bell...

How about having simplify to output with explicit multiplications instead?

from algebrite.

paulobuchsbaum avatar paulobuchsbaum commented on August 24, 2024

Thanks for your feedback.
The trouble is: simplify produces the implicit multilplication, not me. So the function expand can't be used after simplify.

from algebrite.

davidedc avatar davidedc commented on August 24, 2024

I think I remember that there is a flag to control that. Sorry I can't check for you as I'm deep in another project and can't "load" more code in my head right now.

from algebrite.

danielsvane avatar danielsvane commented on August 24, 2024

I'm having the same issue I think. Some Algebrite functions will return results of the form "a (y)". The implicit multiplication just before a parenthesis can't be evaluated further by Algebrite and will return "nil". My current workaround is to replace the implicit multiplication with "*":

eq.replace(/([\d\w])( )(\()/g, "$1"+"*"+"$3")

This matches any number or constant in front of a space with a start parenthesis after. It does not match "/+-" etc.

from algebrite.

paulobuchsbaum avatar paulobuchsbaum commented on August 24, 2024

Thanks @danielsvane.This is, in fact, easy to bypass. The most serious problem is a bug related with "tough" expressions, related in issue Expression too complex

from algebrite.

paulobuchsbaum avatar paulobuchsbaum commented on August 24, 2024

Great, @davidedc, thanks!

from algebrite.

Related Issues (20)

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.