[{"data":1,"prerenderedAt":288},["ShallowReactive",2],{"project-10060417":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":43,"post_text":46,"what":47,"said":70,"maker_in_thread":169,"shape":179,"grid":184,"attempts":251,"same_week":252,"maker_shows":34,"maker_hidden":280,"reader_version":281,"card":282},"10060417","Algebra.js","Build, display, and solve algebraic equations","title","Show HN: Algebra.js – Build, display, and solve algebraic equations","http:\u002F\u002Falgebra.js.org\u002F","algebra.js.org","nicolewhite",1439564255,2015,132,30,166,2565,7,"notable","learning_science","algebra library","library",[24,25,26,27],"algebra javascript","equation solver","polynomial solver","symbolic math","loved",0.303,{"positive":31,"neutral":32,"mixed":33,"critical":34},6,9,0,1,16,{"performance":37,"docs":38,"idea":40,"design":41,"execution":42},{"positive":33,"critical":33},{"positive":39,"critical":33},2,{"positive":34,"critical":34},{"positive":39,"critical":33},{"positive":33,"critical":33},[33,44,33,45,33,45,33,45,44,33,44,33,44,33,33,33,33,33,45,33,44,44,33,45,44,44,45,44,34,33],3,5,null,{"problem":48,"audience":46,"pricing":46,"motivation":55,"time_to_build":46,"stack":62,"openness":67,"stage":68,"team_size":69},{"value":49,"source":50,"evidence":51},"Building, displaying and solving algebraic equations and expressions in JavaScript.","maker",[52],{"id":53,"by":11,"text":54},"10062235","Hello HN, I was learning JavaScript by completing challenges on CoderByte[0], where one of the hard challenges was to find the point where two lines intersect. The lines were…",{"value":56,"source":50,"evidence":57},"Started as a learning project from a CoderByte challenge; fun was the main motivation.",[58,59],{"id":53,"by":11,"text":54},{"id":60,"by":11,"text":61},"10064152","Thanks! Fun was the main motivation for this project. Parsing strings into expressions is something that math.js offers currently with math.parse and expression trees[0]; I was…",[63],{"value":64,"source":50,"evidence":65},"JavaScript",[66],{"id":53,"by":11,"text":54},"unknown","launched","solo",{"praise":71,"objections":98,"requests":109,"questions":135,"alternatives":143},[72,88],{"value":73,"source":74,"evidence":75},"Clean, well-documented API and polished docs","commenter",[76,80,84],{"id":77,"by":78,"text":79},"10062843","kevin","This is so well done! There are so many little touches here that delights me like the keyboard shortcuts for jumping right in and the LaTeX support. Even though this started off…",{"id":81,"by":82,"text":83},"10064084","1arity","the API is really clear and aesthetic. the whole work seems self contained. it is just awesome. im excited to think about an addition for matrices and combinatorics and calculus…",{"id":85,"by":86,"text":87},"10063324","ahmacleod","Nice work. I've built roughly half of this before, but your API is cleaner and the docs really tie it together.",{"value":89,"source":74,"evidence":90},"Impressive work for a learning project",[91,94],{"id":92,"by":82,"text":93},"10065255","it would be cool to have ``` new CompoundExpression( \"x^2 - xy + 5\" ) ``` or even ``` new PolishSquarefree(\"+\")(\"+\")(\"^\")(\"x\")(2)(\"-xy\")(5) ``` or even ``` new…",{"id":95,"by":96,"text":97},"10064966","Gladdyu","Quintic equations cannot be solved algebraically in the general case. It would require more understanding of algebra by the program whereas I suspect this merely detects the…",[99,105],{"value":100,"source":50,"evidence":101},"Cannot solve quintic equations; solving returns undefined",[102],{"id":103,"by":11,"text":104},"10065377","> I suspect this merely detects the order of the equation and then applies the proper solving formula (Abc for 2nd, Cardano for 3rd). That's exactly right. You could build a…",{"value":106,"source":74,"evidence":107},"Documentation skews toward experienced developers",[108],{"id":77,"by":78,"text":79},[110,118,128],{"value":111,"source":74,"evidence":112},"Parse string formulas into expressions",[113,117],{"id":114,"by":115,"text":116},"10063277","davmar","this looks really neat and it must have been a lot of fun to build! it's not a feature request because I don't have a use case for this quite yet, but how complex would it be to…",{"id":92,"by":82,"text":93},{"value":119,"source":74,"evidence":120},"Systems of equations and variable elimination",[121,125],{"id":122,"by":123,"text":124},"10062106","dharmatech","Nice work Nicole! :-) I work on a similar library for C# (Symbolism [1]). Consider allowing for variable elimination in sets of equations. (See this problem for an example:…",{"id":126,"by":11,"text":127},"10062236","That's very cool. I should definitely add functionality for solving a system of equations.",{"value":129,"source":74,"evidence":130},"Calculus, matrices and combinatorics support",[131,132],{"id":81,"by":82,"text":83},{"id":133,"by":11,"text":134},"10064163","At one point I did have an interactive example on the project page where you could manipulate an expression with a calculator-looking number pad, but after I ran it by a few…",[136],{"value":137,"source":74,"evidence":138},"How to download the minified file",[139],{"id":140,"by":141,"text":142},"10065261","CaiGengYang","Hi does anyone know how to download Algebra.js ? I clicked the \"Download .min.js\" tab on the Algebra.js.org page but was given this error message :…",[144,148,155,162],{"value":145,"source":74,"evidence":146},"math.js",[147],{"id":60,"by":11,"text":61},{"value":149,"source":74,"evidence":150},"SymPy",[151],{"id":152,"by":153,"text":154},"10062482","joeyrobert","This seems like a good start towards a symbolic math library like SymPy[0] for JavaScript. There's lots of cool client-side applications for such a library, something like…",{"value":156,"source":74,"evidence":157},"Sage Math",[158],{"id":159,"by":160,"text":161},"10061912","clebio","So it's like an early-stage CAS written in Javascript? E.g. Sage math (http:\u002F\u002Fwww.sagemath.org\u002F)",{"value":163,"source":74,"evidence":164},"Mathematica and WolframAlpha",[165,168],{"id":166,"by":123,"text":167},"10062322","The algorithm I use in 'EliminateVariables' is pretty ad-hoc and has built up as I throw more situations at it. If you want to look up how the big time guys do it, I believe…",{"id":152,"by":153,"text":154},{"comments":170,"answered":44,"key":171},11,[172,173,176],{"id":53,"text":54},{"id":174,"text":175},"10065375","Yes, thank you for the clarification. Maybe \"incomplete\" was the wrong word; I was referring to the note on the Wikipedia page: > At this point, Cardano, who did not know complex…",{"id":177,"text":178},"10063265","Thank you for the kind words! I appreciate it. I agree that I should add a bit more instruction for opening up the JS console in Chrome or FF. I'll also add a use case section to…",{"commenters":180,"max_depth":181,"maker_replies":170,"first_comment_mins":182,"lifespan_hours":183},15,4,214,24,[185,187,190,191,193,195,198,200,202,204,206,207,210,211,212,216,218,220,224,226,228,230,232,234,235,238,239,244,248,250],[53,33,33,186,11,34],"maker\u002Fneutral\u002Fidea",[188,33,44,189,96,33],"10065055","project\u002Fneutral\u002Fperformance",[174,33,33,186,11,34],[77,34,45,192,78,33],"project\u002Fpositive\u002Fdocs",[177,34,33,194,11,34],"maker\u002Fpositive\u002Fdocs",[196,34,45,194,197,33],"10063755","heatish",[199,34,33,194,11,34],"10064156",[152,39,45,201,153,33],"project\u002Fpositive\u002Fidea",[122,44,44,203,123,33],"project\u002Fneutral\u002Fidea",[126,44,33,205,11,34],"maker\u002Fpositive\u002Fidea",[166,44,44,203,123,33],[208,44,33,209,11,34],"10063272","maker\u002Fneutral\u002Fnone",[114,181,44,203,115,33],[60,181,33,203,11,34],[213,45,33,214,215,33],"10063388","commenter\u002Fneutral\u002Fnone","fibo",[217,45,33,214,11,34],"10064190",[219,45,33,214,215,33],"10064899",[221,31,33,222,223,33],"10065507","other\u002Fneutral\u002Fnone","artartart",[81,18,45,225,82,33],"project\u002Fpositive\u002Fdesign",[133,18,33,227,11,34],"maker\u002Fneutral\u002Fdesign",[229,18,44,186,82,33],"10064241",[159,231,44,203,160,33],8,[233,231,33,203,11,34],"10062051",[85,32,45,225,86,33],[140,236,44,237,141,33],10,"project\u002Fneutral\u002Fexecution",[92,170,44,203,82,33],[240,241,45,242,243,33],"10062506",12,"project\u002Fpositive\u002Fnone","maxwelljoslyn",[245,246,44,203,247,33],"10064837",13,"liammclennan",[95,246,34,249,96,33],"project\u002Fcritical\u002Fidea",[103,246,33,237,11,34],[],[253,258,263,267,271,276],{"id":254,"name":255,"points":256,"category":257},"10080731","Tonic",342,"dev_tools",{"id":259,"name":260,"points":261,"category":262},"10073389","RivalSeek",189,"web_saas",{"id":264,"name":265,"points":266,"category":20},"10057285","Guess which government programs work",184,{"id":268,"name":269,"points":270,"category":257},"10089307","Git-remote-dropbox",174,{"id":272,"name":273,"points":274,"category":275},"10060074","Myra",137,"ai",{"id":277,"name":278,"points":279,"category":20},"10057032","Perseids meteor shower from space",136,false,"v2",{"id":283,"name":5,"line":6,"ai":280,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":284,"top":18,"kw":285,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":286,"url":9,"mix":287,"praise":73,"objection":100,"sub":21},10060417,0.3,[24,25,26,27],"030505053030300000503305335310",[31,32,33,34],1794036534513]