def dot(self, other: 'Series') -> 'Series':
    '\n        Compute the matrix multiplication between the DataFrame and other.\n\n        This method computes the matrix product between the DataFrame and the\n        values of an other Series\n\n        It can also be called using ``self @ other`` in Python >= 3.5.\n\n        .. note:: This method is based on an expensive operation due to the nature\n            of big data. Internally it needs to generate each row for each value, and\n            then group twice - it is a huge operation. To prevent misusage, this method\n            has the \'compute.max_rows\' default limit of input length, and raises a ValueError.\n\n                >>> from pyspark.pandas.config import option_context\n                >>> with option_context(\n                ...     \'compute.max_rows\', 1000, "compute.ops_on_diff_frames", True\n                ... ):  # doctest: +NORMALIZE_WHITESPACE\n                ...     psdf = ps.DataFrame({\'a\': range(1001)})\n                ...     psser = ps.Series([2], index=[\'a\'])\n                ...     psdf.dot(psser)\n                Traceback (most recent call last):\n                  ...\n                ValueError: Current DataFrame has more then the given limit 1000 rows.\n                Please set \'compute.max_rows\' by using \'pyspark.pandas.config.set_option\'\n                to retrieve to retrieve more than 1000 rows. Note that, before changing the\n                \'compute.max_rows\', this operation is considerably expensive.\n\n        Parameters\n        ----------\n        other : Series\n            The other object to compute the matrix product with.\n\n        Returns\n        -------\n        Series\n            Return the matrix product between self and other as a Series.\n\n        See Also\n        --------\n        Series.dot: Similar method for Series.\n\n        Notes\n        -----\n        The dimensions of DataFrame and other must be compatible in order to\n        compute the matrix multiplication. In addition, the column names of\n        DataFrame and the index of other must contain the same values, as they\n        will be aligned prior to the multiplication.\n\n        The dot method for Series computes the inner product, instead of the\n        matrix product here.\n\n        Examples\n        --------\n        >>> from pyspark.pandas.config import set_option, reset_option\n        >>> set_option("compute.ops_on_diff_frames", True)\n        >>> psdf = ps.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n        >>> psser = ps.Series([1, 1, 2, 1])\n        >>> psdf.dot(psser)\n        0   -4\n        1    5\n        dtype: int64\n\n        Note how shuffling of the objects does not change the result.\n\n        >>> psser2 = psser.reindex([1, 0, 2, 3])\n        >>> psdf.dot(psser2)\n        0   -4\n        1    5\n        dtype: int64\n        >>> psdf @ psser2\n        0   -4\n        1    5\n        dtype: int64\n        >>> reset_option("compute.ops_on_diff_frames")\n        '
    if (not isinstance(other, ps.Series)):
        raise TypeError('Unsupported type {}'.format(type(other).__name__))
    else:
        return cast(ps.Series, other.dot(self.transpose())).rename(None)
Compute the matrix multiplication between the DataFrame and other.

This method computes the matrix product between the DataFrame and the
values of an other Series

It can also be called using ``self @ other`` in Python >= 3.5.

.. note:: This method is based on an expensive operation due to the nature
    of big data. Internally it needs to generate each row for each value, and
    then group twice - it is a huge operation. To prevent misusage, this method
    has the 'compute.max_rows' default limit of input length, and raises a ValueError.

        >>> from pyspark.pandas.config import option_context
        >>> with option_context(
        ...     'compute.max_rows', 1000, "compute.ops_on_diff_frames", True
        ... ):  # doctest: +NORMALIZE_WHITESPACE
        ...     psdf = ps.DataFrame({'a': range(1001)})
        ...     psser = ps.Series([2], index=['a'])
        ...     psdf.dot(psser)
        Traceback (most recent call last):
          ...
        ValueError: Current DataFrame has more then the given limit 1000 rows.
        Please set 'compute.max_rows' by using 'pyspark.pandas.config.set_option'
        to retrieve to retrieve more than 1000 rows. Note that, before changing the
        'compute.max_rows', this operation is considerably expensive.

Parameters
----------
other : Series
    The other object to compute the matrix product with.

Returns
-------
Series
    Return the matrix product between self and other as a Series.

See Also
--------
Series.dot: Similar method for Series.

Notes
-----
The dimensions of DataFrame and other must be compatible in order to
compute the matrix multiplication. In addition, the column names of
DataFrame and the index of other must contain the same values, as they
will be aligned prior to the multiplication.

The dot method for Series computes the inner product, instead of the
matrix product here.

Examples
--------
>>> from pyspark.pandas.config import set_option, reset_option
>>> set_option("compute.ops_on_diff_frames", True)
>>> psdf = ps.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])
>>> psser = ps.Series([1, 1, 2, 1])
>>> psdf.dot(psser)
0   -4
1    5
dtype: int64

Note how shuffling of the objects does not change the result.

>>> psser2 = psser.reindex([1, 0, 2, 3])
>>> psdf.dot(psser2)
0   -4
1    5
dtype: int64
>>> psdf @ psser2
0   -4
1    5
dtype: int64
>>> reset_option("compute.ops_on_diff_frames")
def dot(self, other: 'Series') -> 'Series':
    '\n        Compute the matrix multiplication between the DataFrame and other.\n\n        This method computes the matrix product between the DataFrame and the\n        values of an other Series\n\n        It can also be called using ``self @ other`` in Python >= 3.5.\n\n        .. note:: This method is based on an expensive operation due to the nature\n            of big data. Internally it needs to generate each row for each value, and\n            then group twice - it is a huge operation. To prevent misusage, this method\n            has the \'compute.max_rows\' default limit of input length, and raises a ValueError.\n\n                >>> from pyspark.pandas.config import option_context\n                >>> with option_context(\n                ...     \'compute.max_rows\', 1000, "compute.ops_on_diff_frames", True\n                ... ):  # doctest: +NORMALIZE_WHITESPACE\n                ...     psdf = ps.DataFrame({\'a\': range(1001)})\n                ...     psser = ps.Series([2], index=[\'a\'])\n                ...     psdf.dot(psser)\n                Traceback (most recent call last):\n                  ...\n                ValueError: Current DataFrame has more then the given limit 1000 rows.\n                Please set \'compute.max_rows\' by using \'pyspark.pandas.config.set_option\'\n                to retrieve to retrieve more than 1000 rows. Note that, before changing the\n                \'compute.max_rows\', this operation is considerably expensive.\n\n        Parameters\n        ----------\n        other : Series\n            The other object to compute the matrix product with.\n\n        Returns\n        -------\n        Series\n            Return the matrix product between self and other as a Series.\n\n        See Also\n        --------\n        Series.dot: Similar method for Series.\n\n        Notes\n        -----\n        The dimensions of DataFrame and other must be compatible in order to\n        compute the matrix multiplication. In addition, the column names of\n        DataFrame and the index of other must contain the same values, as they\n        will be aligned prior to the multiplication.\n\n        The dot method for Series computes the inner product, instead of the\n        matrix product here.\n\n        Examples\n        --------\n        >>> from pyspark.pandas.config import set_option, reset_option\n        >>> set_option("compute.ops_on_diff_frames", True)\n        >>> psdf = ps.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n        >>> psser = ps.Series([1, 1, 2, 1])\n        >>> psdf.dot(psser)\n        0   -4\n        1    5\n        dtype: int64\n\n        Note how shuffling of the objects does not change the result.\n\n        >>> psser2 = psser.reindex([1, 0, 2, 3])\n        >>> psdf.dot(psser2)\n        0   -4\n        1    5\n        dtype: int64\n        >>> psdf @ psser2\n        0   -4\n        1    5\n        dtype: int64\n        >>> reset_option("compute.ops_on_diff_frames")\n        '
    if (not isinstance(other, ps.Series)):
        raise TypeError('Unsupported type {}'.format(type(other).__name__))
    else:
        return cast(ps.Series, other.dot(self.transpose())).rename(None)