Example usage for org.apache.commons.math3.linear RealMatrix walkInColumnOrder

List of usage examples for org.apache.commons.math3.linear RealMatrix walkInColumnOrder

Introduction

In this page you can find the example usage for org.apache.commons.math3.linear RealMatrix walkInColumnOrder.

Prototype

double walkInColumnOrder(RealMatrixPreservingVisitor visitor);

Source Link

Document

Visit (but don't change) all matrix entries in column order.

Usage

From source file:lirmm.inria.fr.math.BigSparseRealMatrixTest.java

@Test
public void testWalk() {
    int rows = 150;
    int columns = 75;

    RealMatrix m = new BigSparseRealMatrix(rows, columns);
    m.walkInRowOrder(new SetVisitor());
    GetVisitor getVisitor = new GetVisitor();
    m.walkInOptimizedOrder(getVisitor);/*w w w.  j av  a 2  s .  c om*/
    Assert.assertEquals(rows * columns, getVisitor.getCount());

    m = new BigSparseRealMatrix(rows, columns);
    m.walkInRowOrder(new SetVisitor(), 1, rows - 2, 1, columns - 2);
    getVisitor = new GetVisitor();
    m.walkInOptimizedOrder(getVisitor, 1, rows - 2, 1, columns - 2);
    Assert.assertEquals((rows - 2) * (columns - 2), getVisitor.getCount());
    for (int i = 0; i < rows; ++i) {
        Assert.assertEquals(0.0, m.getEntry(i, 0), 0);
        Assert.assertEquals(0.0, m.getEntry(i, columns - 1), 0);
    }
    for (int j = 0; j < columns; ++j) {
        Assert.assertEquals(0.0, m.getEntry(0, j), 0);
        Assert.assertEquals(0.0, m.getEntry(rows - 1, j), 0);
    }

    m = new BigSparseRealMatrix(rows, columns);
    m.walkInColumnOrder(new SetVisitor());
    getVisitor = new GetVisitor();
    m.walkInOptimizedOrder(getVisitor);
    Assert.assertEquals(rows * columns, getVisitor.getCount());

    m = new BigSparseRealMatrix(rows, columns);
    m.walkInColumnOrder(new SetVisitor(), 1, rows - 2, 1, columns - 2);
    getVisitor = new GetVisitor();
    m.walkInOptimizedOrder(getVisitor, 1, rows - 2, 1, columns - 2);
    Assert.assertEquals((rows - 2) * (columns - 2), getVisitor.getCount());
    for (int i = 0; i < rows; ++i) {
        Assert.assertEquals(0.0, m.getEntry(i, 0), 0);
        Assert.assertEquals(0.0, m.getEntry(i, columns - 1), 0);
    }
    for (int j = 0; j < columns; ++j) {
        Assert.assertEquals(0.0, m.getEntry(0, j), 0);
        Assert.assertEquals(0.0, m.getEntry(rows - 1, j), 0);
    }

    m = new BigSparseRealMatrix(rows, columns);
    m.walkInOptimizedOrder(new SetVisitor());
    getVisitor = new GetVisitor();
    m.walkInRowOrder(getVisitor);
    Assert.assertEquals(rows * columns, getVisitor.getCount());

    m = new BigSparseRealMatrix(rows, columns);
    m.walkInOptimizedOrder(new SetVisitor(), 1, rows - 2, 1, columns - 2);
    getVisitor = new GetVisitor();
    m.walkInRowOrder(getVisitor, 1, rows - 2, 1, columns - 2);
    Assert.assertEquals((rows - 2) * (columns - 2), getVisitor.getCount());
    for (int i = 0; i < rows; ++i) {
        Assert.assertEquals(0.0, m.getEntry(i, 0), 0);
        Assert.assertEquals(0.0, m.getEntry(i, columns - 1), 0);
    }
    for (int j = 0; j < columns; ++j) {
        Assert.assertEquals(0.0, m.getEntry(0, j), 0);
        Assert.assertEquals(0.0, m.getEntry(rows - 1, j), 0);
    }

    m = new BigSparseRealMatrix(rows, columns);
    m.walkInOptimizedOrder(new SetVisitor());
    getVisitor = new GetVisitor();
    m.walkInColumnOrder(getVisitor);
    Assert.assertEquals(rows * columns, getVisitor.getCount());

    m = new BigSparseRealMatrix(rows, columns);
    m.walkInOptimizedOrder(new SetVisitor(), 1, rows - 2, 1, columns - 2);
    getVisitor = new GetVisitor();
    m.walkInColumnOrder(getVisitor, 1, rows - 2, 1, columns - 2);
    Assert.assertEquals((rows - 2) * (columns - 2), getVisitor.getCount());
    for (int i = 0; i < rows; ++i) {
        Assert.assertEquals(0.0, m.getEntry(i, 0), 0);
        Assert.assertEquals(0.0, m.getEntry(i, columns - 1), 0);
    }
    for (int j = 0; j < columns; ++j) {
        Assert.assertEquals(0.0, m.getEntry(0, j), 0);
        Assert.assertEquals(0.0, m.getEntry(rows - 1, j), 0);
    }
}