The la4j (Linear Algebra for Java) has recently got two pull-requests (#48, #50) by Jakob Moellers, who implemented two new methods in

The

The

`Matrix`

interface. Jakob added support for `shuffle()`

(also works for vectors) and `rotate()`

methods. Here is the brief introduction into these methods.
The

`Matrix.rotate()`

method is pretty simple. It rotates the matrix by 90 degrees. Here is the example:
Matrix a = new Basic1DMatrix(new double[][] { { 1.0, 2.0 }, { 3.0, 4.0 } }); /* Matrix { 3.0, 1.0 4.0, 2.0 } */ Matrix b = a.rotate();

The

`shuffle()`

method can be used with matrices as well as with vector. It shuffles the element of matrix or vector by using Fisher-Yates algorithm. Here is the example.
Matrix a = new Basic1DMatrix(new double[][] { { 1.0, 2.0, 3.0 }, { 4.0, 5.0, 6.0 } }); /* Matrix { 3.0, 5.0, 4.0 6.0, 1.0, 2.0 } */ Matrix b = a.shuffle(); Vector c = new CompressedVector(new double[] { 1.0, 2.0, 3.0 }); // Vector { 2.0, 3.0, 1.0 } Vector d = c.shuffle();Thanks Jakob for the great job!

Here's a mistake with this code:

ReplyDeleteMatrix a = new Basic1DMatrix(new double[] {

{ 1.0, 2.0 },

{ 3.0, 4.0 }

});

should be written like that:

Matrix a = new Basic1DMatrix(new double[][] {

{ 1.0, 2.0 },

{ 3.0, 4.0 }

});

Fixed. Thank you!

Delete