//-------------------------------------------------------------------------
        public virtual void testTransposeMatrix()
        {
            DoubleMatrix m0 = DoubleMatrix.EMPTY;

            assertEquals(m0.transpose(), DoubleMatrix.EMPTY);

            DoubleMatrix m1 = DoubleMatrix.copyOf(new double[][]
            {
                new double[] { 1, 2, 3 },
                new double[] { 4, 5, 6 },
                new double[] { 7, 8, 9 }
            });

            assertEquals(m1.transpose(), DoubleMatrix.copyOf(new double[][]
            {
                new double[] { 1, 4, 7 },
                new double[] { 2, 5, 8 },
                new double[] { 3, 6, 9 }
            }));

            DoubleMatrix m2 = DoubleMatrix.copyOf(new double[][]
            {
                new double[] { 1, 2, 3, 4, 5, 6 },
                new double[] { 7, 8, 9, 10, 11, 12 },
                new double[] { 13, 14, 15, 16, 17, 18 }
            });

            assertEquals(m2.transpose(), DoubleMatrix.copyOf(new double[][]
            {
                new double[] { 1, 7, 13 },
                new double[] { 2, 8, 14 },
                new double[] { 3, 9, 15 },
                new double[] { 4, 10, 16 },
                new double[] { 5, 11, 17 },
                new double[] { 6, 12, 18 }
            }));
        }