# Re: Matrix rotation

Dear Arghya Das!

I think you can start learning matrixes with more high-level language - for example Scilab or Octave.

Then you can switch to low-level languages - C/C++ (with Boost library) or Fortran.

With best regards,
Norbert.

P.S. Of course this problem is out of topic. I recommend you to search or ask on
https://math.stackexchange.com too.

----Пользователь 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">https://lists.debian.org/[🔎] 554D3968.1070704@caltech.edu