public void StackTest()
{
var x1 = Vector.Ones(1000);
var y1 = Vector.Zeros(1000);
double[,] w1 = Matrix.Stack(x1, y1).Transpose();
Assert.AreEqual(1000, w1.Rows());
Assert.AreEqual(2, w1.Columns());
Assert.AreEqual(w1.Length, x1.Length + y1.Length);
for (int i = 0; i < x1.Length; i++)
{
Assert.AreEqual(1, x1[i]);
Assert.AreEqual(1, w1[i, 0]);
}
for (int i = 0; i < y1.Length; i++)
{
Assert.AreEqual(0, y1[i]);
Assert.AreEqual(0, w1[i, 1]);
}
var x = w1.GetColumn(0);
var y = w1.GetColumn(1);
Assert.IsTrue(x.IsEqual(x1));
Assert.IsTrue(y.IsEqual(y1));
}
}