<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def write_unitary_matrix_to_hdf5(temperature, mesh, unitary_matrix=None, sigma=None, sigma_cutoff=None, solver=None, filename=None, verbose=False):
 """Write eigenvectors of collision matrices at temperatures. Depending on the choice of the solver, eigenvectors are sotred in either column-wise or row-wise. """


    suffix = _get_filename_suffix(mesh,
                                  sigma=sigma,
                                  sigma_cutoff=sigma_cutoff,
                                  filename=filename)
    hdf5_filename = "unitary" + suffix + ".hdf5"
    with h5py.File(hdf5_filename, 'w') as w:
        w.create_dataset('temperature', data=temperature)
        if unitary_matrix is not None:
            w.create_dataset('unitary_matrix', data=unitary_matrix)
        if solver is not None:
            w.create_dataset('solver', data=solver)

        if verbose:
            if len(temperature) > 1:
                text = "Unitary matrices "
            else:
                text = "Unitary matrix "
            if sigma is not None:
                text += "at sigma %s " % _del_zeros(sigma)
                if sigma_cutoff is not None:
                    text += "(%4.2f SD) " % sigma_cutoff
            if len(temperature) > 1:
                text += "were written into "
            else:
                text += "was written into "
            if sigma is not None:
                text += "\n"
            text += "\"%s\"." % hdf5_filename
            print(text)