APPORTIONMENT
Apportioning the House of Representatives.
APPORTIONMENT
is a FORTRAN90 program which
demonstrates some of the methods used to apportion seats
in the United States House of Representatives.
Methods that have been proposed include:
-
Alexander Hamilton's method;
-
Thomas Jefferson's method;
-
John Adam's method;
-
Daniel Webster's method;
-
The Huntington-Hill method (the method used since 1940);
Article I, Section 2 of the US Constitution:
The House of Representatives shall be composed of Members chosen
every second Year by the People of the several States, and the
Electors in each State shall have the Qualifications requisite
for Electors of the most numerous Branch of the State Legislature.
No Person shall be a Representative who shall not have attained
to the Age of twenty five Years, and been seven Years a Citizen
of the United States, and who shall not, when elected, be an
Inhabitant of that State in which he shall be chosen.
Representatives and direct Taxes shall be apportioned among the
several States which may be included within this Union, according
to their respective Numbers, which shall be determined by adding
to the whole Number of free Persons, including those bound to
Service for a Term of Years, and excluding Indians not taxed,
three fifths of all other Persons. The actual Enumeration shall
be made within three Years after the first Meeting of the Congress
of the United States, and within every subsequent Term of ten Years,
in such Manner as they shall by Law direct. The Number of
Representatives shall not exceed one for every thirty Thousand,
but each State shall have at Least one Representative; and until
such enumeration shall be made, the State of New Hampshire shall
be entitled to chuse three, Massachusetts eight, Rhode-Island and
Providence Plantations one, Connecticut five, New-York six, New
Jersey four, Pennsylvania eight, Delaware one, Maryland six,
Virginia ten, North Carolina five, South Carolina five, and
Georgia three.
When vacancies happen in the Representation from any State, the
Executive Authority thereof shall issue Writs of Election to fill
such Vacancies.
The House of Representatives shall chuse their Speaker and other
Officers; and shall have the sole Power of Impeachment.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
APPORTIONMENT is available in
a FORTRAN90 version.
Related Data and Programs:
CENSUS,
a dataset directory which
contains some US census data for state populations.
KNAPSACK,
a FORTRAN77 library which
solves a variety of knapsack problems.
Reference:
-
Michael Balinski, Hobart Young,
The Quota Method of Apportionment,
The American Mathematical Monthly,
Volume 82, Number 7, August-September 1975, pages 701-730.
-
Barry Cipra,
E Pluribus Confusion,
American Scientist,
Volume 98, Number 4, July-August 2010, pages 276-279.
-
Donald Saari,
Apportionment Methods and the House of Representatives,
The American Mathematical Monthly,
Volume 85, Number 10, December 1978, pages 792-802.
Source Code:
Examples and Tests:
List of Routines:
-
APPORTION_ADAMS apportions using Adams's method.
-
APPORTION_HAMILTON apportions using Hamilton's method.
-
APPORTION_HUNTINGTON_HILL uses the Huntington-Hill apportionment.
-
APPORTION_JEFFERSON apportions using Jefferson's method.
-
APPORTION_WEBSTER apportions using Webster's method.
-
DIGIT_TO_CH returns the character representation of a decimal digit.
-
I4_TO_MONTH_NAME returns the name of a given month.
-
I4_TO_S_RIGHT_COMMA converts an I4 to a right justified string with commas.
-
I4VEC_NONZERO_FIRST left-shifts all nonzeros in an I4VEC.
-
I4VEC_PRINT prints an I4VEC.
-
R8_DIV_I4 returns an I4 fraction as an R8.
-
R8_SQRT_I4 returns the square root of an I4 as an R8.
-
R8VEC_CEILING rounds "up" (towards +infinity) entries of an R8VEC.
-
R8VEC_FLOOR rounds "down" (towards -infinity) entries of an R8VEC.
-
R8VEC_FRACTION returns the fraction parts of an R8VEC.
-
R8VEC_ROUND rounds entries of an R8VEC.
-
R8VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R8VEC.
-
R8VEC_SORT_HEAP_INDEX_D does an indexed heap descending sort of an R8VEC.
-
REP_NUM_YEAR returns the size of the House of Representatives.
-
STATE_ID returns the 2 letter Postal Code for one of the 50 states and DC.
-
STATE_NAME returns the name of one of the 50 states plus DC.
-
STATE_NUM_YEAR returns the number of states for a given year.
-
STATE_POP_YEAR returns the state populations for a given census year.
-
STATE_REP_YEAR returns the state representatives for a given census year.
-
STATE_STATEHOOD returns the statehood year for each state.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 04 June 2012.