Re: [PD] iemmatrix - rotate matrix

2013-07-09 Thread Matthias Kronlachner

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


Re: [PD] iemmatrix - rotate matrix

2013-07-09 Thread IOhannes m zmoelnig
-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

2013-07-09 Thread Matthias Kronlachner

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

2013-07-09 Thread João Pais

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

2013-07-09 Thread IOhannes m zmoelnig
-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

2013-07-09 Thread Matthias Kronlachner

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