Chaos Library?


    Dec 05 2017 | 2:23 pm
    Hi,
    I'm interested in knowing if someone has ported André Sier's Chaos Library (A-Chaos Lib) to Max 7 or intends to do.
    Thanks!

    • Dec 07 2017 | 12:06 am
      Hi Daniel, I worked on non-linear dynamic system a couple of years ago. I remember there was some libraries about, but now I can't remember and didn't like them so much.
      Making some "chaotic oscillators" (or audio rate non-linear dynamic model) in max/gen~ is not really complicate. You just have to pay attention interpretating differential systems ,) I attach an example below - Lorenz Non-Linear Dynamic System.
      I also made some externals (and they worked!), but I never finished them, I'm sorry..
    • Dec 07 2017 | 10:09 am
      hi - I made 64-bit versions of some of the a-choas lib externals for my own usage, but didn't finish the whole lot. It's not difficult to do, just needs some time. If there is interest in this, I could to the rest and make osx versions of the lib available - just don't know when that will be. But most of the stuff in the library could also be done in max directly. Please note, that there are no audio objects in a-chaos, it's all message based.
      btw, did you ask the original author about updated versions?
    • Dec 07 2017 | 3:58 pm
      Hi, Luca and Volker,
      Thank you for your time and answers! Your patches helped, Luca. It really doesn't seem so difficult to port the library and I will give it a try. Would you mind sharing the a-chaos externals you have been able to port, Volker? I'm specially interested in the Hénon-Heiles attractor, which I've already started recoding from Sier's source code (from here http://s373.net/code/ > at the end of the page about a-objects). I've also written to him, as you suggested.
      There are problems in implementing a strange attractor with objects in a patcher. I have tried a lot before. You can solve iteration at the cost of speed and precision, but more complicated equations, as Luca said, need a real work out, that is not a game for non-mathematicians.
      Thanks again, and will post any new infos!
      Daniel Puig
    • Dec 08 2017 | 11:22 am
      Would you mind sharing the a-chaos externals you have been able to port, Volker?
      I'll see what I have over the weekend.
      I'm specially interested in the Hénon-Heiles attractor, which I've already started recoding from Sier's source code
      As far as I remember the implementation of henon-heiles is buggy in the a-chaos lib. By the way, all objects of the original lib will work if you put max in 32bit mode.
      There are problems in implementing a strange attractor with objects in a patcher. I have tried a lot before. You can solve iteration at the cost of speed and precision,
      What do you mean exactly? Since max uses 64-bit floats, precision is not an issue anymore and I guess you wouldn't see a big difference in speed either - at least for message passing. The thing to watch out for and which makes implementations of recursive stuff in max a little cumbersome, is order of execution. Here is a implementation of a lorenz attractor in max: https://cycling74.com/forums/zl-lorenz-pmpd-granola it's rather old and max was still 32-bit, but nowadays, the output from a patcher solution vs an external should be pretty much the same in this case. vb
    • Dec 08 2017 | 12:13 pm
      I'll see what I have over the weekend.
      Thanks!
      As far as I remember the implementation of henon-heiles is buggy in the a-chaos lib. By the way, all objects of the original lib will work if you put max in 32bit mode.
      Since max uses 64-bit floats, precision is not an issue anymore ...
      True as for the buggy implementation and all other observations. I've used it a lot and knew the reset problem, so it was easy to track down the bugs in the code already. Thanks for pointing all that out and the link for the discussion. I've realized it, after checking out the other solutions. Since 2015, owning a 2010 MacBook Pro for performance, I have chosen to stay in Max6, and lost track of gen~. Restarting it now.
      Hope to post a patch here soon with Hénon-Heiles implemented. All the infos here, examples, Sier's source code, have helped a lot!
    • Dec 15 2017 | 8:26 am
      here is a temporary link to a 64-bit built for macos of the a-chaos lib. http://vboehm.net/xchange/A-chaos-Lib_64-bit.zip
      no bugs fixed yet, just made all objects work in 64-bit mode. might do a proper release somewhat later.
    • Jan 05 2018 | 11:45 pm
      Many thanks !! very useful for me. cheers
    • Jan 08 2018 | 5:50 pm
      Indeed!! Many Thanks, Volker!!
      Here is the Hénon-Heiles System in a gen~ patch and a maxpatch with UI that I've finished today. Sorry for not sending the gen~ patch before. It works well, but can surely be improved. Would you mind looking through the patches? It seems there is some code that could be ripped off.
      I'm working on finishing an implementation with a generalized Hamiltonian. The version we know, and in the included patches, assumes a two-dimensional Hamiltonian.
      The contact with André Sier has been very useful and he has been so kind to share some more code. Should we start a project here and work together on a library? It would be great to work with Volker, Francisco and all.
      All the best and thanks for the sharing!
      Daniel Puig
      *** These are the equations used:
      *** gen~ patch
      *** maxpatch
    • Jan 08 2018 | 7:00 pm
      It would appear that your main patch is missing some things....
    • Jan 09 2018 | 2:24 pm
      Hi, Max and all,
      Would very much appreciate any ideas :) I'm working on the UI.
      Here is the generalized hamiltonian gen~ patch. If you call it on the other patch, initial conditions should work with the default C (-1.) and lambda (1.). This article states the integrable values for C and lambda. It really works well. The 5th output is now total energy of the system and I still haven't figured out how to get the potential. The additional outputs are polar coordinates inside gen~ (radius and angle > angle has to multiplied by 100) that I'm experimenting with.
      This article by Vernov has helped figuring out the mathematics. http://theory.sinp.msu.ru/~svernov/Papers/TMF2003.PDF
      All the best!
      Daniel
    • Jan 09 2018 | 2:34 pm
      Posting again the main patch. Hope it works now!
    • Jan 09 2018 | 2:38 pm
      It seems to work fine now, Daniel. I also took the liberty of replacing your uh... long bit with a compressed version of the patch (select what you want to copy, choose Copy Compressed from the Edit menu, and paste the result in).
    • Jan 10 2018 | 11:04 am
      Thanks, Max!
      So, these are the last gen~patch (henonheilesGH.gendsp), maxpatch (henonheilesGH-02.maxpat). I've included the ambimonitor external (by ICST, https://www.zhdk.ch/5381 ) in the patch, to visualize polar trajectories of (x, y) and (xt, yt). The gen~patch gives radius and angle of the two pairs in the 4 last outputs. Sure there are other ways to do it, with jsui or jitter... but the gen~ works.
      I really hope to implement other non-linear dynamics' models. Thought of looking at more up-to-date versions of strange attractors and fluid dynamics. Do you know of anyone working in that direction that would be interested in collaborating?
      All the best,
      Daniel
    • May 22 2018 | 6:12 pm
      I wish I could contribute some gen~ patches, but due to my limited math skills, I have only converted the original a-chaos-lib help files and some needed patches to max 7. I made a simple overview patch, too. All should work together with volker’s 64-bit versions. best ben