[math] calculate derivative automatically.

Hi, I notice that some one may not have vc++9 with sp1, if so, there will be many compile errors. because I use #include <tuple>, the earlier version does not have such a library. so I made a version for boost::tuples::tuple. a file named "[math]AD.zip" in vault. BTW: I am wondering whether I do something wrong, there is no responding about this subject for a long time. Dongfei.

No, your messages are coming through fine (4, 6, 8, and 9 of March). I think the lack of response might be indicating of the lack of interest, but people are too polite (or too busy) to tell you in such blunt terms. I almost hesitate to do so myself, because I wouldn't want you to be discouraged or feel like you've been dismissed out of hand. I've always found the people on boost to be the most courteous, and wouldn't want to depart from this honorable tradition. I've also found that there are a lot of people out there who may not share my opinions or interests, and that's fine too. But I see you're starting to invest valuable time and might not appreciate not being told in the long term. Speaking for myself (and myself only) from now on, I didn't bother replying because it seems to me that you are simply misguided. As someone said, it is technically feasible. Almost anything is. But that doesn't mean it should be done (esp. bearing in mind the cost of developing a good solution to your problem). I appreciate that the engine may work for you but it's a long way from being of general interest, and even if it were, I doubt it would belong to boost. It's very likely that the simplification step will be much more complicated than you think. Already, even commercial products (I played a bit with Maple) find this to be a very hard problem. And the techniques they use, including unlimited precision integers, numerical methods, Grobner bases, etc. are all *way* out of scope for something like boost. Anything simpler-minded is likely to answer a much simpler problem for which the best solution is simply to compute the derivative by hands (or non-C++ means) and plug it in. If I really want to invest more time into this problem, would strongly recommend you try contacting other, more specialized, mailing lists, like yacas if it is still in active development. Again, those are my opinions only, for what it's worth. Respectfully, -- Hervé Brönnimann hervebronnimann@mac.com On Mar 11, 2009, at 6:41 AM, Dongfei Yin wrote:
BTW: I am wondering whether I do something wrong, there is no responding about this subject for a long time.
Dongfei.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/ listinfo.cgi/boost

I am going to have to agree with Hervé. If I want a derivative, I can use maple: diff(function, variable). I just don't see templated differentiation as all that useful. As an engineer, if I'm using C++ for a task that needs function evaluation, all derivatives will be precomputed. Also, you have to take care of things like pow(), exp(), log() and log10(), sqrt(), repeated fractions, etc. It would be possible, but ultimately, it's going to take forever to compile and it probably just isn't going to be that useful to most people. On Wed, Mar 11, 2009 at 7:58 AM, Hervé Brönnimann <hervebronnimann@mac.com> wrote:
No, your messages are coming through fine (4, 6, 8, and 9 of March).
I think the lack of response might be indicating of the lack of interest, but people are too polite (or too busy) to tell you in such blunt terms. I almost hesitate to do so myself, because I wouldn't want you to be discouraged or feel like you've been dismissed out of hand. I've always found the people on boost to be the most courteous, and wouldn't want to depart from this honorable tradition. I've also found that there are a lot of people out there who may not share my opinions or interests, and that's fine too. But I see you're starting to invest valuable time and might not appreciate not being told in the long term.
Speaking for myself (and myself only) from now on, I didn't bother replying because it seems to me that you are simply misguided. As someone said, it is technically feasible. Almost anything is. But that doesn't mean it should be done (esp. bearing in mind the cost of developing a good solution to your problem). I appreciate that the engine may work for you but it's a long way from being of general interest, and even if it were, I doubt it would belong to boost. It's very likely that the simplification step will be much more complicated than you think. Already, even commercial products (I played a bit with Maple) find this to be a very hard problem. And the techniques they use, including unlimited precision integers, numerical methods, Grobner bases, etc. are all *way* out of scope for something like boost. Anything simpler-minded is likely to answer a much simpler problem for which the best solution is simply to compute the derivative by hands (or non-C++ means) and plug it in.
If I really want to invest more time into this problem, would strongly recommend you try contacting other, more specialized, mailing lists, like yacas if it is still in active development.
Again, those are my opinions only, for what it's worth. Respectfully, -- Hervé Brönnimann hervebronnimann@mac.com
On Mar 11, 2009, at 6:41 AM, Dongfei Yin wrote:
BTW: I am wondering whether I do something wrong, there is no responding about this subject for a long time.
Dongfei.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Speaking for myself (and myself only) from now on, I didn't bother replying because it seems to me that you are simply misguided. As someone said, it is technically feasible. Almost anything is. But that doesn't mean it should be done (esp. bearing in mind the cost of developing a good solution to your problem).
I personally signaled my interest for something much more general than only derivatives. But as Dongfei's goal seems to be focused in that direction, I didn't want to disturb him further from it. If I want more, I can always do it by myself. About the possibility of using Maple or any other tool: of course, that's what any programmer would do. Like I said, the interest of a compile-time simplifier appears when you have some compile-time integral values that you don't know in advance in your expression. Of course you can specialize for N=1, N=2, etc... until N is too big for the expression to be simplifiable. It might also be "periodically simplifiable" (for example for N being a factor of some value), in which case specialization can still do the trick, I agree. But a more general tool can be handy as well. It's just horribly hard to do, never denied that. Regards Bruno
participants (4)
-
Bruno Lalande
-
Dongfei Yin
-
Hervé Brönnimann
-
Ross Levine