[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

# Re: Matrix rotation

I guess you can use the operator % to index the columns. Look, if the vector column is [A, B, C] address by [0, 1, 2], u can use index i+1%3. The vector goes to vector, vector to vector and vector  to vector automatically.

2015-05-08 18:32 GMT-04:00 Paul Anzel :
Are you trying to cyclically permute the columns of a matrix? So for a
3x3 matrix of columns [A, B, C] you want [C, A, B]? Then you'd right
multiply (X_new = X*M) by a matrix M =
[0, 1, 0]
[0, 0, 1]
[1, 0, 0]
(generalizing to higher dimensions is trivial).

And yes, this is not a particularly debian-laptop appropriate question.
For math questions of this sort, I'd recommend browsing/posting at
https://math.stackexchange.com/

On 05/08/2015 02:24 PM, giulianc51 wrote:
> Il giorno Sat, 9 May 2015 01:21:44 +0530
> Arghya Das <arghya0190@gmail.com> ha scritto:
>
> Hi Arghya,
> (sorry for my bad english)
>
>
>> Does anyone know how to rotate a 2d matrix circularly for 'n' times in
>> suppose C language...? It would be a lot of help if you could explain
>> with code.
> I don't understand your _expression_ "rotate a 2d matrix circularly"; as
> Jan-Rens explained you, you can build a matrix
>       M = | cos(theta) sin(theta)|
>           |-sin(theta) cos(theta)|
> and a vector
>       X = | x |
>           | y |
> (in linear algebra the vectors are column-wise); if you repeat the
> multiplication X = M*X you have a series of vectors X, each rotating a
> theta angle respect to the previous one;
>
> best regards,
> giuliano
>
>
> PS: if you want you can operate with row vectors using the
> transposition X = X*transpose(M), but normally, as I said, the vectors
> are disposed as column;
>
>

--
To UNSUBSCRIBE, email to debian-laptop-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 554D3968.1070704@caltech.edu" target="_blank">https://lists.debian.org/[🔎] 554D3968.1070704@caltech.edu