<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def matrix_iter(self, scale=1, border=None):
 """\ Returns an iterator over the matrix which includes the border. The border is returned as sequence of light modules. Dark modules are reported as ``0x1``, light modules have the value ``0x0``. The following example converts the QR Code matrix into a list of lists which use boolean values for the modules (True = dark module, False = light module):
: True :param int scale: The scaling factor (default: ``1``). :param int border: The size of border / quiet zone or ``None`` to indicate the default border. :raises: :py:exc:`ValueError` if the scaling factor or the border is invalid (i.e. negative). """

        return utils.matrix_iter(self.matrix, self._version, scale, border)