Split equations into differential algebraic and algebraic only

def split_dae_alg(eqs: SYM, dx: SYM) -> Dict[str, SYM]:
    """Split equations into differential algebraic and algebraic only"""
    dae = []
    alg = []
    for eq in ca.vertsplit(eqs):
        if ca.depends_on(eq, dx):
            dae.append(eq)
        else:
            alg.append(eq)
    return {
        'dae': ca.vertcat(*dae),
        'alg': ca.vertcat(*alg)
    }