Joseph Born Kadane Created 2026-10-25 Updated 2026-11-05
Joseph Born Kadane is a statistician whose work connects Bayesian statistics, decision theory and applications of probability to practical evidence. In his own research statement, he describes work on prior elicitation: constructing probability distributions from an investigator's background knowledge, as well as on the foundations and computation of Bayesian inference.[ref]
His institutional biography records that he joined Carnegie Mellon in 1971 and headed its statistics department from 1972 to 1981.[ref] In computing, his name is also attached to Kadane's algorithm for the maximum subarray problem: the best segment ending at a new position either extends the preceding best-ending segment or starts at that position. This gives a linear-time dynamic programming solution.
Figure 1.
Portrait of Joseph Born Kadane
. Photograph from Carnegie Mellon University's official researcher profile. Source.
For a segment, store its total sum , maximum possibly-empty prefix sum , maximum possibly-empty suffix sum and maximum possibly-empty internal contiguous sum . Adjacent segment summaries combine by
A prefix either stays on the left or includes the whole left segment and a right prefix. A suffix has the symmetric decomposition. An internal segment either stays in one child or crosses the boundary as a left suffix followed by a right prefix. These cases prove the formulas, including empty candidates. Store the corresponding endpoints to recover a winning segment. This constant-size summary gives a linear time divide-and-conquer algorithm for the empty-allowed maximum subarray problem.
Let be the best sum of a segment ending at position , allowing the empty segment with sum zero. The maximum subarray problem recurrence is
An optimal nonempty segment ending at extends the best suffix ending at , or starts fresh; a negative suffix cannot help. Keep its start index and record endpoints whenever a new overall best is found:
suffix = 0; best = 0
start = 0; bestLeft = 0; bestRight = 0
for i = 0,...,n-1:
    suffix = suffix + A[i]
    if suffix < 0:
        suffix = 0; start = i+1
    if suffix > best:
        best = suffix
        bestLeft = start; bestRight = i+1
return A[bestLeft:bestRight]
The half-open endpoint interval is empty initially, so empty input and all-negative input correctly return an empty segment. The invariant identifies the best nonnegative suffix and the best segment in the scanned prefix, proving correctness. This is Kadane's algorithm, using time and auxiliary space, excluding the returned slice. The displayed example yields sum , from the segment .