public void SquareMatrixAccess() { double[] x = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; SquareMatrix V = CreateVandermondeMatrix(x); // check nullity Assert.IsTrue(V != null); // check dimension Assert.IsTrue(V.Dimension == x.Length); // check column ColumnVector c = V.Column(1); Assert.IsTrue(c.Dimension == x.Length); for (int i = 0; i < c.Dimension; i++) { Assert.IsTrue(c[i] == V[i, 1]); Assert.IsTrue(c[i] == x[i]); } // check row RowVector r = V.Row(0); Assert.IsTrue(r.Dimension == x.Length); for (int i = 0; i < r.Dimension; i++) { Assert.IsTrue(r[i] == V[0, i]); Assert.IsTrue(r[i] == 1.0); } // check clone SquareMatrix VC = V.Copy(); Assert.IsTrue(VC == V); Assert.IsFalse(VC != V); // check independence of clone VC[0, 0] += 1.0; Assert.IsFalse(VC == V); Assert.IsTrue(VC != V); }