cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A358249 Number of n-regular, N_0-weighted pseudographs on 2 vertices with total edge weight 9, up to isomorphism.

Original entry on oeis.org

1, 10, 42, 123, 259, 469, 721, 1034, 1359, 1726, 2082, 2472, 2840, 3239, 3611, 4013, 4386, 4789, 5162, 5565, 5938, 6341, 6714, 7117, 7490, 7893, 8266, 8669, 9042, 9445, 9818, 10221, 10594, 10997, 11370, 11773, 12146, 12549, 12922, 13325, 13698, 14101, 14474
Offset: 1

Views

Author

Lars Göttgens, Nov 04 2022

Keywords

Comments

Pseudographs are finite graphs with undirected edges without identity, where parallel edges between the same vertices and loops are allowed.

Examples

			For n = 2 the a(2) = 10 such pseudographs are: 1. two vertices connected by a 9-edge and a 0-edge, 2. two vertices connected by a 8-edge and a 1-edge, 3. two vertices connected by a 7-edge and a 2-edge, 4. two vertices connected by a 6-edge and a 3-edge, 5. two vertices connected by a 5-edge and a 4-edge, 6. two vertices where one has a 9-loop and the other one has a 0-loop, 7. two vertices where one has a 8-loop and the other one has a 1-loop, 8. two vertices where one has a 7-loop and the other one has a 2-loop, 9. two vertices where one has a 6-loop and the other one has a 3-loop, 10. two vertices where one has a 5-loop and the other one has a 4-loop.
		

Crossrefs

Other total edge weights: 3 (A358243), 4 (A358244), 5 (A358245), 6 (A358246), 7 (A358247), 8 (A358248).

Programs

  • Julia
    using Combinatorics
    function A(n::Int)
        sum_total = 9
        result = 0
        for num_loops in 0:div(n, 2)
            num_cross = n - 2 * num_loops
            for sum_cross in 0:sum_total
                for sum_loop1 in 0:sum_total-sum_cross
                    sum_loop2 = sum_total - sum_cross - sum_loop1
                    if sum_loop2 == sum_loop1
                        result +=
                            div(
                                npartitions_with_zero(sum_loop2, num_loops) *
                                (npartitions_with_zero(sum_loop2, num_loops) + 1),
                                2,
                            ) * npartitions_with_zero(sum_cross, num_cross)
                    elseif sum_loop2 > sum_loop1
                        result +=
                            npartitions_with_zero(sum_loop2, num_loops) *
                            npartitions_with_zero(sum_loop1, num_loops) *
                            npartitions_with_zero(sum_cross, num_cross)
                    end
                end
            end
        end
        return result
    end
    function npartitions_with_zero(n::Int, m::Int)
        if m == 0
            if n == 0
                return 1
            else
                return 0
            end
        else
            return Combinatorics.npartitions(n + m, m)
        end
    end
    print([A(n) for n in 1:43])