def is_symplectic(form):
    """
    Checks whether or not a given form is symplectic.

    :param form: A form.
    :return: Boolean representing if a form is symplectic or not.
    """
    if form is None:
        return False
    if len(form.shape) != 2:
        return False
    if form.shape[0] % 2 != 0 or form.shape[0] != form.shape[1]:
        return False
    out = True
    for ii in range(form.shape[0]):
        for jj in range(form.shape[1]):
            if ii == jj:
                if form[ii, jj] != 0:
                    out = False
            if ii != jj:
                if form[ii, jj] != -form[jj, ii]:
                    out = False
    return out
