Symbolic computation sounds like a really great project! For your specific problem of sorting the dependencies, you can do a "topological sort" of the dependency graph of your equations in linear time (given there are no cyclic dependencies, otherwise it would detect the failure). There are standard algorithms to do that.
It would be interesting to compare to core.logic's performance. Modelling the dependencies in core.logic is straightforward, but ordering them in linear time is not obvious to me - but I would love to see the code if you do it. All the best, Martin On Saturday, May 19, 2012 2:31:51 AM UTC+2, Brent Millare wrote: > > Is there work towards building an algebra system with core.logic? So one > could analyze mathematical expressions: compute symbolic derivatives, > simplify expressions, determine undefined variables, and other forms of > analysis. > > If there isn't, I have a good starting problem that I need help on. > > Lets say I have a bunch of equations, with the left hand side a single > variable, and the right is some expression. They are not ordered in any way > but I would like to order them, (if possible, otherwise throw useful > error), such that there isn't any dependency problems. Is there a good way > to do this with core.logic? And is the performance comparable to a hand > coded solution. Or put another way, can it do this in seconds for 500 > equations? > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en