Re: [PD] iemmatrix - "rotate" matrix
On 7/9/13 1:07 PM, IOhannes m zmoelnig wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2013-07-09 11:42, João Pais wrote: I thought they were. In Pc there is no [mtx_*~] file, so I use the good old problem with objects containing *,+,... in their name.. i know this one has been posted several times, but once more: do the following if you want to use iemmatrix in pd-extended: create the object [hexloader] and [import iemmatrix] afterwards [mtx_*] [mtx_*~] should work. -> see attachment matthias #N canvas 0 22 450 300 10; #X declare -lib iemmatrix; #X obj 34 15 hexloader; #X obj 34 41 import iemmatrix; #X obj 34 126 mtx_*; #X obj 75 127 mtx_+; #X obj 148 131 mtx_*~; #X obj 38 155 mtx_./; #X text 103 15 first create those two objects to use iemmatrix!; #X text 130 108 then all iemmatrix objects should work; #X obj 59 228 mtx_spherical_harmonics 3; ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] iemmatrix - "rotate" matrix
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2013-07-09 11:42, João Pais wrote: > I thought they were. In Pc there is no [mtx_*~] file, so I use what is Pc? whatever it is, if it has something labeled "iemmatrix" and lacks [mtx_*~], you might want to throw it away. fgamnsdr IOhannes -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlHb4O0ACgkQkX2Xpv6ydvT6BACfRxTVIJWpDWPSHwVqMUCaFJyQ aX0AnRpghcarPdDGHKpCxH8rrEqDCcUp =JTPv -END PGP SIGNATURE- ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] iemmatrix - "rotate" matrix
the one and only proper way to do signal matrix multiplication with "iemmatrix" is to use [mtx_*~] (rather than [mtx_mul~], [mtx_mul_line~] or [matrix~]). mtx_mul~ and mtx_*~ are equivalent, aren't they? I thought they were. In Pc there is no [mtx_*~] file, so I use [mtx_mul~], because it gets initialized with no problems. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] iemmatrix - "rotate" matrix
On 7/9/13 10:50 AM, IOhannes m zmoelnig wrote: the one and only proper way to do signal matrix multiplication with "iemmatrix" is to use [mtx_*~] (rather than [mtx_mul~], [mtx_mul_line~] or [matrix~]). mtx_mul~ and mtx_*~ are equivalent, aren't they? ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] iemmatrix - "rotate" matrix
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2013-07-09 03:14, João Pais wrote: > Hello, > > I'm programming a gui for [mtx_mul~], and it's almost finished. > One the one and only proper way to do signal matrix multiplication with "iemmatrix" is to use [mtx_*~] (rather than [mtx_mul~], [mtx_mul_line~] or [matrix~]). > thing is missing, and I wanted to know if someone already has a > solution for it, before I break my head trying to find one. > > I need to find a way to "rotate" matrixes, in order to coordenate > the controler display, and matrix's format. Following the logic of > max's matrixctrl object, and an usual DAW's display of audio > matrixes, the lines are the inputs, and the columns are the > outputs. But, Pd's [matrix] practise is the opposite. the original matrix-multiplication object had this notation, but it was deprecated because you will find virtually no literature that does it like this. [mtx_*~] follows the notation you will find in pretty much any scientific publication, that deals with matrix multiplication of signals: y = A * x with x = input signals, A = matrix, y = output signals. if you want to matrix 4 inputs into 2 outputs, your matrix must look like: [2,N] = [2,4] * [4,N] out = A * in see http://en.wikipedia.org/wiki/Matrix_multiplication (for the sake of simplicity N would be one, though in practice it's the blocksize=64; anyhow, we can pretty much ignore it). as you can see, this is a matrix with 2 lines and 4 columns. (the original matrix multiplication object had reversed the multiplication (y = x * A) which nicely gave you A=[4,2], but was so uncommon a notation, that i found all of my collegues constantly looking up the help-patches when their code would not work - esp. when using square matrices) whether this matches the DAW experience or not, is something else. in order to transform an [m,n] matrix into an [n,m] matrix, you can simply apply a "transpose" operation. see http://en.wikipedia.org/wiki/Transpose be careful with your wording in matrix world: pretty much everything is standardized and traditional (like the "proper" way to multiply a bunch of signals by a matrix - the reason why [mtx_*~] behaves as it does). "matrix rotation" usually means something along the lines of mulitplying a coordinate set with a special matrix in order to achieve a spatial rotation of the coordinates: http://en.wikipedia.org/wiki/Matrix_rotation fgamsdr IOhannes -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlHbwLkACgkQkX2Xpv6ydvQ5QwCfTTm9+VK0KEMm32QQIowCaecq DPUAn07SmN3Ib2ZcGlW5tLoQSRE4CvMm =3MSv -END PGP SIGNATURE- ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] iemmatrix - "rotate" matrix
Hi! On 7/9/13 4:14 AM, João Pais wrote: Hello, I'm programming a gui for [mtx_mul~], and it's almost finished. One thing is missing, and I wanted to know if someone already has a solution for it, before I break my head trying to find one. I need to find a way to "rotate" matrixes, in order to coordenate the controler display, and matrix's format. Following the logic of max's matrixctrl object, and an usual DAW's display of audio matrixes, the lines are the inputs, and the columns are the outputs. But, Pd's [matrix] practise is the opposite. So I'm trying to implement the "standard industry" display, and output Pd's [matrix] format. For example, a 4x2 matrix to control [mtx_mul~] has 8 fields, and will be like 1 2 3 4 5 6 7 8 or [matrix 4 2 1 2 3 4 5 6 7 8( that is, columns are inputs, lines are outputs. But, the current GUI would have the matrix "rotated", in the order 1 2 3 4 5 6 7 8 [matrix 4 2 1 5 2 6 3 7 4 8( shouldn't this be: 1 3 5 7 2 4 6 8 ? you do that with mtx_transpose. best, matthias where columns are outputs, and lines are inputs. So repeating to try to make it clear: the gui sends the data in the lower format, and it has to be "rotated" to match the format above. Is there an object or technique that does this? Thanks again, João ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] iemmatrix - "rotate" matrix
Hello, I'm programming a gui for [mtx_mul~], and it's almost finished. One thing is missing, and I wanted to know if someone already has a solution for it, before I break my head trying to find one. I need to find a way to "rotate" matrixes, in order to coordenate the controler display, and matrix's format. Following the logic of max's matrixctrl object, and an usual DAW's display of audio matrixes, the lines are the inputs, and the columns are the outputs. But, Pd's [matrix] practise is the opposite. So I'm trying to implement the "standard industry" display, and output Pd's [matrix] format. For example, a 4x2 matrix to control [mtx_mul~] has 8 fields, and will be like 1 2 3 4 5 6 7 8 or [matrix 4 2 1 2 3 4 5 6 7 8( that is, columns are inputs, lines are outputs. But, the current GUI would have the matrix "rotated", in the order 1 2 3 4 5 6 7 8 [matrix 4 2 1 5 2 6 3 7 4 8( where columns are outputs, and lines are inputs. So repeating to try to make it clear: the gui sends the data in the lower format, and it has to be "rotated" to match the format above. Is there an object or technique that does this? Thanks again, João ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list