/// <summary>
        /// Adds three vectors which represent X, Y and the values.
        /// </summary>
        /// <param name="X">A vector with the x values.</param>
        /// <param name="Y">A vector with the y values.</param>
        /// <param name="Z">A matrix with the x times y values for z.</param>
        public void AddPoints(MatrixValue X, MatrixValue Y, MatrixValue Z)
        {
            var x = X.GetRealVector();
            var y = Y.GetRealVector();
            var z = new double[Z.DimensionX, Z.DimensionY];

            for (var i = 1; i <= Z.DimensionX; i++)
            {
                for (var j = 1; j <= Z.DimensionY; j++)
                {
                    z[i - 1, j - 1] = Z[j, i].Re;
                }
            }

            AddValues(x, y, z);
        }