Exemple #1
0
		public void GetTransposeLong()
		{
			FloatMatrix a = new FloatMatrix(3, 2);
			a[0, 0] = 1;
			a[0, 1] = 2;
			a[1, 0] = 3;
			a[1, 1] = 4;
			a[2, 0] = 5;
			a[2, 1] = 6;
			FloatMatrix b = a.GetTranspose();
			Assert.AreEqual(b[0, 0], 1);
			Assert.AreEqual(b[0, 1], 3);
			Assert.AreEqual(b[0, 2], 5);
			Assert.AreEqual(b[1, 0], 2);
			Assert.AreEqual(b[1, 1], 4);
			Assert.AreEqual(b[1, 2], 6);
			Assert.AreEqual(b.RowLength, a.ColumnLength);
			Assert.AreEqual(b.ColumnLength, a.RowLength);
		}
    /// <summary>
    /// Get a copy of the Toeplitz matrix.
    /// </summary>
    public FloatMatrix GetMatrix()
    {
      int i;

      // allocate memory for the matrix
      FloatMatrix tm = new FloatMatrix(m_Order);
#if MANAGED
      // fill lower triangle
      for (i = 0; i < m_Order; i++)
      {
        Array.Copy(m_LeftColumn.data, 0, tm.data[i], i, m_Order - i);
      }

      tm = tm.GetTranspose();

      // fill upper triangle
      for (i = 0; i < m_Order - 1; i++)
      {
        Array.Copy(m_TopRow.data, 1, tm.data[i], i + 1, m_Order - i - 1);
      }
#else
      int j, k;

      // fill lower triangle
      for (i = 0; i < m_Order; i++)
      {
        for (j = i, k = 0; j < m_Order; j++, k++)
        {
          tm[j, i] = m_LeftColumn[k];
        }
      }
      // fill upper triangle
      for (i = 0; i < m_Order; i++)
      {
        for (j = i + 1, k = 1; j < m_Order; j++, k++)
        {
          tm[i, j] = m_TopRow[k];
        }
      }
#endif
      return tm;
    }
Exemple #3
0
		public void GetTransposeSquare()
		{
			FloatMatrix a = new FloatMatrix(2, 2);
			a[0, 0] = 1;
			a[0, 1] = 2;
			a[1, 0] = 3;
			a[1, 1] = 4;
			FloatMatrix b = a.GetTranspose();
			Assert.AreEqual(b[0, 0], 1);
			Assert.AreEqual(b[0, 1], 3);
			Assert.AreEqual(b[1, 0], 2);
			Assert.AreEqual(b[1, 1], 4);
		}