[{"id":247896,"date":"2026-09-15T17:00:44","date_gmt":"2026-09-15T22:00:44","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247896"},"modified":"2026-09-15T17:00:44","modified_gmt":"2026-09-15T22:00:44","slug":"simple-approximation-for-spherical-cap-area","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/simple-approximation-for-spherical-cap-area\/","title":{"rendered":"Simple approximation for spherical cap area"},"content":{"rendered":"<p>The previous post looked at how to interpret cosine similarity, or equivalently angles between word vectors. In a high-dimensional space, randomly chosen vectors are likely nearly perpendicular, and so relatively large angles, such as 50\u00b0, indicate very closely related words.<\/p>\n<p>Another way to look at this, as explained in the previous post, is that in high dimensions, a spherical cap of angular radius \u03b8 represents a small portion of a sphere, even for moderately large \u03b8.<\/p>\n<p>The proportion of the area inside the spherical cap, given <a href=\"https:\/\/www.johndcook.com\/blog\/2023\/08\/09\/hypersphere-cap\/\">here<\/a>, involves the &#8220;incomplete beta function&#8221; and so it&#8217;s hard to have an intuition for the value.<\/p>\n<p>For large dimension <em>n<\/em>, the approximation<\/p>\n<p style=\"padding-left: 40px;\"><em>n<\/em><sup>\u22121\/2<\/sup> sin<sup><em>n<\/em> \u2212 1<\/sup>(\u03b8)<\/p>\n<p>gives the proportion of the area inside the cap to within an order of magnitude. It&#8217;s easy to see that this function goes to zero quickly as\u00a0<em>n<\/em> increases, provided |\u03b8| &lt; \u03c0\/2.<\/p>\n<p>If you have the cosine similarity\u00a0<em>c<\/em> = cos \u03b8 rather than \u03b8 itself, the approximation becomes<\/p>\n<p style=\"padding-left: 40px;\"><em>n<\/em><sup>\u22121\/2<\/sup> (1 \u2212 <em>c<\/em>\u00b2)<sup>(<em>n<\/em> \u2212 1)\/2<\/sup>.<\/p>\n<h2>Python script<\/h2>\n<p>Let&#8217;s try it on the example from the previous post, in which\u00a0<em>n<\/em> = 200 and \u03b8 = 49\u00b0.<\/p>\n<pre>import numpy as np\r\nfrom scipy.special import betainc\r\n\r\n# Fraction of S^{n-1} inside a spherical cap of angular radius theta\r\n# theta is measured from the pole\r\n# Assume 0 &lt; theta &lt; pi\/2\r\n\r\ndef cap_fraction(theta, n):\r\n    x = np.sin(theta) ** 2\r\n    return 0.5 * betainc(0.5 * (n - 1), 0.5, x)\r\n\r\ndef cap_fraction_approx(theta, n, degrees=False):\r\n    return n**(-0.5) * np.sin(theta)**(n-1)\r\n\r\ntheta = np.deg2rad(49)\r\nprint(cap_fraction(theta, 200)) \r\nprint(cap_fraction_approx(theta, 200)) \r\n<\/pre>\n<p>This prints 2.03e-26 and 3.37e-26. The order of magnitude is correct as advertised.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The previous post looked at how to interpret cosine similarity, or equivalently angles between word vectors. In a high-dimensional space, randomly chosen vectors are likely nearly perpendicular, and so relatively large angles, such as 50\u00b0, indicate very closely related words. Another way to look at this, as explained in the previous post, is that in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[224],"class_list":["post-247896","post","type-post","status-publish","format-standard","hentry","category-math","tag-geometry"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"A simple expression for roughly calculating the proportion of area inside a spherical cap of a high-dimensional sphere, useful for interpreting cosine similarity.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"geometry\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/simple-approximation-for-spherical-cap-area\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Simple approximation for spherical cap area\" \/>\n\t\t<meta property=\"og:description\" content=\"A simple expression for roughly calculating the proportion of area inside a spherical cap of a high-dimensional sphere, useful for interpreting cosine similarity.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/simple-approximation-for-spherical-cap-area\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-15T22:00:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-15T22:00:44+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Simple approximation for spherical cap area\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A simple expression for roughly calculating the proportion of area inside a spherical cap of a high-dimensional sphere, useful for interpreting cosine similarity.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Simple approximation for spherical cap area","description":"A simple expression for roughly calculating the proportion of area inside a spherical cap of a high-dimensional sphere, useful for interpreting cosine similarity.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/simple-approximation-for-spherical-cap-area\/","robots":"max-image-preview:large","keywords":"geometry","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Simple approximation for spherical cap area","og:description":"A simple expression for roughly calculating the proportion of area inside a spherical cap of a high-dimensional sphere, useful for interpreting cosine similarity.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/simple-approximation-for-spherical-cap-area\/","article:published_time":"2026-09-15T22:00:44+00:00","article:modified_time":"2026-09-15T22:00:44+00:00","twitter:card":"summary","twitter:title":"Simple approximation for spherical cap area","twitter:description":"A simple expression for roughly calculating the proportion of area inside a spherical cap of a high-dimensional sphere, useful for interpreting cosine similarity.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247896","title":null,"description":"A simple expression for roughly calculating the proportion of area inside a spherical cap of a high-dimensional sphere, useful for interpreting cosine similarity.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-15 16:46:24","updated":"2026-09-15 22:00:44","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tSimple approximation for spherical cap area\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Simple approximation for spherical cap area","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/simple-approximation-for-spherical-cap-area\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247896"}],"version-history":[{"count":2,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247896\/revisions"}],"predecessor-version":[{"id":247898,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247896\/revisions\/247898"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":247894,"date":"2026-09-15T11:06:02","date_gmt":"2026-09-15T16:06:02","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247894"},"modified":"2026-09-15T17:10:49","modified_gmt":"2026-09-15T22:10:49","slug":"cosine-similarity","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/cosine-similarity\/","title":{"rendered":"What counts as a large cosine similarity?"},"content":{"rendered":"<p>Machine learning represents words as vectors and measures the similarity of words by the angles between the vectors.<\/p>\n<p>For vectors\u00a0<strong>x<\/strong>\u00a0and\u00a0<strong>y<\/strong>,<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/dotproduct3.svg\" alt=\"\\mathbf{x} \\cdot \\mathbf{y} = ||\\mathbf{x} || \\,||\\mathbf{y} || \\, \\cos(\\theta)\" width=\"173\" height=\"18\" \/><\/p>\n<p>where \u03b8 is the angle between the vectors, and so<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/dotproduct4.svg\" alt=\"\\cos(\\theta) = \\frac{\\mathbf{x} \\cdot \\mathbf{y}}{ ||\\mathbf{x} || \\,||\\mathbf{y} || }\" width=\"136\" height=\"37\" \/><\/p>\n<p>This is the cosine similarity between the words represented by <strong>x<\/strong> and <strong>y<\/strong>.<\/p>\n<p>Small angles have large cosines, and so words with larger cosine similarities are closer together than words with smaller cosine similarities. The cosine similarity between a word and itself equals 1, and we&#8217;d expect unrelated words to have a cosine similarity near 0.<\/p>\n<p>You can do a sort of arithmetic with vector embeddings of words. The canonical example is that<\/p>\n<p style=\"padding-left: 40px;\">&#8220;king&#8221; \u2212 &#8220;man&#8221; + &#8220;woman&#8221; \u2248 &#8220;queen&#8221;<\/p>\n<p>Implicit in this equation is that we&#8217;re really adding vector representations of the words. Let\u00a0<strong>a<\/strong>,\u00a0<strong>b<\/strong>,\u00a0<strong>c<\/strong>, and\u00a0<strong>d<\/strong> be the vector embeddings of the words\u00a0<em>king<\/em>,\u00a0<em>man<\/em>,\u00a0<em>woman<\/em>, and\u00a0<em>queen<\/em>. What we&#8217;re really asserting is that<\/p>\n<p style=\"padding-left: 40px;\"><strong>a<\/strong> \u2212\u00a0<strong>b<\/strong> +\u00a0<strong>c<\/strong> \u2248\u00a0<strong>d<\/strong>,<\/p>\n<p>except that&#8217;s not true! Or at least it&#8217;s not true unless you view it in the right context.<\/p>\n<p>The angle between <strong>a<\/strong> \u2212\u00a0<strong>b<\/strong> +\u00a0<strong>c<\/strong> and\u00a0<strong>d<\/strong> is about 49\u00b0, which corresponds to a cosine similarity of 0.656. Here I&#8217;m using the gensim glove-twitter-200 embedding that represents words as 200-dimensional vectors.<\/p>\n<p>The way to interpret the equation above is not that a 49\u00b0 degree angle is approximately 0, or that a similarity of 0.656 is approximately 1.<\/p>\n<p>In high dimensions, such as 200-dimensional word embeddings, nearly all vectors are nearly perpendicular. I wrote a post about this <a href=\"https:\/\/www.johndcook.com\/blog\/2023\/08\/09\/random-points-hypersphere-orthant\/\">here<\/a>. So the angle between randomly selected words will usually be close to 90\u00b0, and so in that context an angle of 49\u00b0 is relatively small. For example, the angle between the vector representations of\u00a0<em>king<\/em> and\u00a0<em>fireplace<\/em> is 89.25\u00b0.<\/p>\n<p>If you divide word vectors by their norm, you can think of each vector as a point on a high-dimensional sphere, in our case a sphere in 200 dimensions. The proportion of vectors within 49\u00b0 of a given point is surprisingly small in high dimensions.<\/p>\n<p>Let&#8217;s say our point of interest is the north pole of an <em>n<\/em>-dimensional sphere. We&#8217;d like to calculate the proportion of the area of the sphere that is within an angle \u03b8 of the pole. I go through the calculations <a href=\"https:\/\/www.johndcook.com\/blog\/2023\/08\/09\/hypersphere-cap\/\">here<\/a>. (Update: I give an approximation <a href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/simple-approximation-for-spherical-cap-area\/\">here<\/a> that&#8217;s easier to work with than the exact formula.)<\/p>\n<p>When <em>n<\/em> = 3, 17% of the area is with 49 degrees of the pole. But when <em>n<\/em> = 200, the proportion is on the order of 10<sup>\u221226<\/sup>, essentially zero.<\/p>\n<p>The vector <strong>d<\/strong> above representing <em>queen<\/em> is within a relatively tiny region around the vector <strong>a<\/strong> \u2212\u00a0<strong>b<\/strong> +\u00a0<strong>c<\/strong>.<\/p>\n<p>In terms of cosine similarity, 0.656 is a large similarity. Words with a cosine similarity in this range are quite close, even though we wouldn&#8217;t normally think of 0.656 being close to 1. In this context, 0.656\u00a0<em>is<\/em> close to 1.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2023\/08\/08\/angles-between-words\/\">Angles between words<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2023\/08\/09\/hypersphere-cap\/\">Area and volume of a hypersphere cap<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2023\/08\/09\/cosine-similarity-not-a-metric\/\">Cosine similarity does not satisfy the triangle inequality<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Machine learning represents words as vectors and measures the similarity of words by the angles between the vectors. For vectors\u00a0x\u00a0and\u00a0y, where \u03b8 is the angle between the vectors, and so This is the cosine similarity between the words represented by x and y. Small angles have large cosines, and so words with larger cosine similarities [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[260],"tags":[48],"class_list":["post-247894","post","type-post","status-publish","format-standard","hentry","category-ai","tag-differential-geometry"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Vector embeddings let you conclude things like &quot;king&quot; \u2212 &quot;man&quot; + &quot;woman&quot; approximately equals &quot;queen&quot;. But this might not seem true when you look at the numbers.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"differential geometry\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/cosine-similarity\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"What counts as a large cosine similarity?\" \/>\n\t\t<meta property=\"og:description\" content=\"Vector embeddings let you conclude things like &quot;king&quot; \u2212 &quot;man&quot; + &quot;woman&quot; approximately equals &quot;queen&quot;. But this might not seem true when you look at the numbers.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/cosine-similarity\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-15T16:06:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-15T22:10:49+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"What counts as a large cosine similarity?\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Vector embeddings let you conclude things like &quot;king&quot; \u2212 &quot;man&quot; + &quot;woman&quot; approximately equals &quot;queen&quot;. But this might not seem true when you look at the numbers.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"What counts as a large cosine similarity?","description":"Vector embeddings let you conclude things like \"king\" \u2212 \"man\" + \"woman\" approximately equals \"queen\". But this might not seem true when you look at the numbers.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/cosine-similarity\/","robots":"max-image-preview:large","keywords":"differential geometry","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"What counts as a large cosine similarity?","og:description":"Vector embeddings let you conclude things like &quot;king&quot; \u2212 &quot;man&quot; + &quot;woman&quot; approximately equals &quot;queen&quot;. But this might not seem true when you look at the numbers.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/cosine-similarity\/","article:published_time":"2026-09-15T16:06:02+00:00","article:modified_time":"2026-09-15T22:10:49+00:00","twitter:card":"summary","twitter:title":"What counts as a large cosine similarity?","twitter:description":"Vector embeddings let you conclude things like &quot;king&quot; \u2212 &quot;man&quot; + &quot;woman&quot; approximately equals &quot;queen&quot;. But this might not seem true when you look at the numbers.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247894","title":null,"description":"Vector embeddings let you conclude things like \"king\" \u2212 \"man\" + \"woman\" approximately equals \"queen\". But this might not seem true when you look at the numbers.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-15 14:48:31","updated":"2026-09-15 22:10:49","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/ai\/\" title=\"AI\">AI<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tWhat counts as a large cosine similarity?\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"AI","link":"https:\/\/www.johndcook.com\/blog\/category\/ai\/"},{"label":"What counts as a large cosine similarity?","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/15\/cosine-similarity\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247894"}],"version-history":[{"count":2,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247894\/revisions"}],"predecessor-version":[{"id":247899,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247894\/revisions\/247899"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":247892,"date":"2026-09-14T05:44:45","date_gmt":"2026-09-14T10:44:45","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247892"},"modified":"2026-09-14T05:44:45","modified_gmt":"2026-09-14T10:44:45","slug":"guessing-the-meaning-of-a-number","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/14\/guessing-the-meaning-of-a-number\/","title":{"rendered":"Guessing the meaning of a number"},"content":{"rendered":"<p>Suppose I give you an\u00a0<em>n<\/em>-digit number and ask you what it represents. This seems impossible, and in theory it\u00a0<em>is<\/em> impossible. But in practice it&#8217;s often possible.<\/p>\n<p>Apps on a phone may automatically interpret a 10-digit number as a phone number or a 16-digit number as a package tracking number. And very often these interpretations are correct, given the kinds of things most people use their phones for.<\/p>\n<p>It&#8217;s not surprising that a 10-digit number\u00a0<em>on a phone<\/em> is a\u00a0<em>phone number<\/em>. It&#8217;s more interesting that a 16-digit number is likely a tracking number. It could be other things, such as a credit card number. But people don&#8217;t usually write out credit card numbers in a text note; credit card numbers likely saved in some more opaque way.<\/p>\n<p>I run into a variation of this problem routinely, trying to infer what a number represents inside medical notes.<\/p>\n<p>A five-digit number could be a US postal code, or it could be a <a href=\"https:\/\/www.johndcook.com\/blog\/2022\/09\/23\/hcpcs-codes\/\">medical procedure code<\/a>.<\/p>\n<p>A six-digit number could be a date in MMDDYY format, or it could be a medical record number.<\/p>\n<p>A ten-digit number could be a phone number, or it could be an <a href=\"https:\/\/www.johndcook.com\/blog\/2024\/06\/26\/npi-number\/\">NPI<\/a> (National Provider Identifier) number.<\/p>\n<p>It&#8217;s interesting that it&#8217;s possible make a good guess at what a number means inside unstructured text. Context has been lost, but not all context: you know you&#8217;re looking at medical notes. And that meager bit of context can be surprisingly useful.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Suppose I give you an\u00a0n-digit number and ask you what it represents. This seems impossible, and in theory it\u00a0is impossible. But in practice it&#8217;s often possible. Apps on a phone may automatically interpret a 10-digit number as a phone number or a 16-digit number as a package tracking number. And very often these interpretations are [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-247892","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"If all you know about a number is its length, how could you possibly tell what it means? Given a little context, it might be possible to make a good guess.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/14\/guessing-the-meaning-of-a-number\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Guessing the meaning of a number\" \/>\n\t\t<meta property=\"og:description\" content=\"If all you know about a number is its length, how could you possibly tell what it means? Given a little context, it might be possible to make a good guess.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/14\/guessing-the-meaning-of-a-number\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-14T10:44:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-14T10:44:45+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Guessing the meaning of a number\" \/>\n\t\t<meta name=\"twitter:description\" content=\"If all you know about a number is its length, how could you possibly tell what it means? Given a little context, it might be possible to make a good guess.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Guessing the meaning of a number","description":"If all you know about a number is its length, how could you possibly tell what it means? Given a little context, it might be possible to make a good guess.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/14\/guessing-the-meaning-of-a-number\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Guessing the meaning of a number","og:description":"If all you know about a number is its length, how could you possibly tell what it means? Given a little context, it might be possible to make a good guess.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/14\/guessing-the-meaning-of-a-number\/","article:published_time":"2026-09-14T10:44:45+00:00","article:modified_time":"2026-09-14T10:44:45+00:00","twitter:card":"summary","twitter:title":"Guessing the meaning of a number","twitter:description":"If all you know about a number is its length, how could you possibly tell what it means? Given a little context, it might be possible to make a good guess.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247892","title":null,"description":"If all you know about a number is its length, how could you possibly tell what it means? Given a little context, it might be possible to make a good guess.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-14 10:06:25","updated":"2026-09-14 15:25:05","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tGuessing the meaning of a number\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"Uncategorized","link":"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/"},{"label":"Guessing the meaning of a number","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/14\/guessing-the-meaning-of-a-number\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247892"}],"version-history":[{"count":1,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247892\/revisions"}],"predecessor-version":[{"id":247893,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247892\/revisions\/247893"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":247884,"date":"2026-09-10T07:32:31","date_gmt":"2026-09-10T12:32:31","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247884"},"modified":"2026-09-10T08:17:36","modified_gmt":"2026-09-10T13:17:36","slug":"bayesian-ocr","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/10\/bayesian-ocr\/","title":{"rendered":"Bayesian OCR"},"content":{"rendered":"<p>The Greek letter \u03b2 (beta) and the German letter \u00df (eszett) look similar, especially in some fonts.<\/p>\n<p>Now suppose an OCR program sees some character that could be a beta or could be an eszett. It could calculate some kind of distance between between the pixel pattern of the character and the pixel patterns of beta and eszett. But that would be discarding context.<\/p>\n<p>If you&#8217;re scanning a Greek document and run into a beta-like symbol, it&#8217;s very likely a beta. If you&#8217;re scanning a German document and run into a beta-like symbol, it\u00a0<em>could<\/em> be a beta. For example, it could be a scientific paper that mentions beta particles or beta carotene. But most likely the symbol is an eszett.<\/p>\n<p>The previous paragraph is saying you should compute the\u00a0<em>conditional<\/em> probability of a set of pixels representing a character\u00a0<em>given<\/em> the language of the document. You could be more sophisticated and look at the position of the symbol in a word as well. For example, if you see a symbol at the end of a Greek word that could either be \u03bf (omicron) or \u03c3 (sigma), it&#8217;s likely an omicron because Greek has a different symbol \u03c2 for final sigma.<\/p>\n<p>This post is a follow-on to my <a href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/07\/ngram-error-rate\/\">earlier post<\/a> on the error rate in Google&#8217;s Ngram database. OCR errors are fairly common in that database, so why don&#8217;t they &#8220;just&#8221; fix the errors by using some sort of Bayesian method? OCR software probably does use some sort of Bayesian method, but it&#8217;s not that simple.<\/p>\n<p>In that post I looked at the use of the word\u00a0<em>grok<\/em> in English. The Ngram database shows the word being used before it was coined in 1961 due to OCR errors. Why didn&#8217;t Google compute the probability of a word being &#8220;grok&#8221; conditional on the publication date? That would be circular. We happen to know exactly when <em>grok<\/em> was coined, but in general we might try to determine when a word was coined by looking at a large set of scanned books, like the Ngram database!<\/p>\n<p>Now we could compute the probable value of an ambiguously scanned word by conditioning on the language of the surrounding text. That would be a reasonable thing to do in general, but it could also lead to exactly the kind of errors we see in the Ngram data for\u00a0<em>grok<\/em>.<\/p>\n<p>Suppose you see an ambiguously scanned word in a book written in English. There is a higher prior probability that the word is an English word than a German word. Now suppose you see &#8220;gro?&#8221; where ? could be \u03b2, \u00df, or k. Without any context, perhaps the probability of the symbol being a <em>k<\/em> is small. But\u00a0<em>grok<\/em> is an English word and gro\u00df is a German word which may lead\u00a0you to conclude &#8220;?&#8221; is a\u00a0<em>k<\/em> and the ambiguous word is\u00a0<em>grok<\/em>.<\/p>\n<p>Assigning higher prior probability to English words in English texts is the best thing to do\u00a0<em>on average<\/em>, but in particular instances it will lead to errors. That&#8217;s life.<\/p>\n<p>The Ngram database includes millions of scanned books. Google had to use OCR algorithms that work well on average. A linguist with a special interest in a particular word can be more careful and create a more sophisticated probability model (explicit or implicit) customized for their interests. Google did what they could operating at such a large scale.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2025\/08\/14\/uppercase-eszett\/\">Uppercase eszett<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2011\/09\/27\/bayesian-amazon\/\">A Bayesian view of Amazon resellers<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The Greek letter \u03b2 (beta) and the German letter \u00df (eszett) look similar, especially in some fonts. Now suppose an OCR program sees some character that could be a beta or could be an eszett. It could calculate some kind of distance between between the pixel pattern of the character and the pixel patterns of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[25,172],"class_list":["post-247884","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-bayesian","tag-typography"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"The error rate in Google&#039;s Ngram database is understandable given its scale. More specialized probability models could do better in particular instances.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"bayesian,typography\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/10\/bayesian-ocr\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Bayesian OCR\" \/>\n\t\t<meta property=\"og:description\" content=\"The error rate in Google&#039;s Ngram database is understandable given its scale. More specialized probability models could do better in particular instances.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/10\/bayesian-ocr\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-10T12:32:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-10T13:17:36+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Bayesian OCR\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The error rate in Google&#039;s Ngram database is understandable given its scale. More specialized probability models could do better in particular instances.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Bayesian OCR","description":"The error rate in Google's Ngram database is understandable given its scale. More specialized probability models could do better in particular instances.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/10\/bayesian-ocr\/","robots":"max-image-preview:large","keywords":"bayesian,typography","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Bayesian OCR","og:description":"The error rate in Google's Ngram database is understandable given its scale. More specialized probability models could do better in particular instances.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/10\/bayesian-ocr\/","article:published_time":"2026-09-10T12:32:31+00:00","article:modified_time":"2026-09-10T13:17:36+00:00","twitter:card":"summary","twitter:title":"Bayesian OCR","twitter:description":"The error rate in Google's Ngram database is understandable given its scale. More specialized probability models could do better in particular instances.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247884","title":null,"description":"The error rate in Google's Ngram database is understandable given its scale. More specialized probability models could do better in particular instances.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-10 11:44:53","updated":"2026-09-10 13:42:58","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tBayesian OCR\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"Uncategorized","link":"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/"},{"label":"Bayesian OCR","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/10\/bayesian-ocr\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247884","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247884"}],"version-history":[{"count":3,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247884\/revisions"}],"predecessor-version":[{"id":247887,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247884\/revisions\/247887"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247884"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247884"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247884"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":247877,"date":"2026-09-09T09:59:48","date_gmt":"2026-09-09T14:59:48","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247877"},"modified":"2026-09-09T09:59:48","modified_gmt":"2026-09-09T14:59:48","slug":"four-colors","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/four-colors\/","title":{"rendered":"A 50-year-old computer-assisted proof"},"content":{"rendered":"<p>The idea of using computers to assist with proofs is not new. The first major computer-assisted proof was published in 1976, the proof of the four color theorem by Kenneth Appel and Wolfgang Haken. The authors reduced the proof of the four color theorem to verifying calculations on 1,834 configurations, each checked by a computer program.<\/p>\n<p>The proof was simplified over the years, and formalized in Coq in 2005. Everyone is satisfied that the theorem is true, but there has never been a satisfying proof, one that a human could read and say &#8220;I see now why any map can be colored using only four colors.&#8221; And there may never be one, but see <a href=\"https:\/\/www.johndcook.com\/blog\/2013\/09\/04\/homework-problems-for-2090\/\">this post<\/a> for a contrary prediction.<\/p>\n<p>The IBM mainframe that ran the calculations completing the proof of the four color theorem did not generate the proof. It simply executed the FORTRAN program that Haken and Appel (and Koch [1]) gave it.<\/p>\n<p>I don&#8217;t see the recent proof of finite-time blowup for solutions to the Navier-Stokes equations as entirely different. Computers did higher-level tasks for the OpenAI team than the mainframe did for Haken and Appel, and these tasks were not as directly programmed as the tasks that were given to the mainframe, but still machines do what they are told to do.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2013\/07\/19\/the-seven-color-map-theorem\/\">The seven color map theorem<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2019\/09\/12\/detecting-typos\/\">Detecting errors with the four color theorem<\/a><\/li>\n<\/ul>\n<p>[1] John A. Koch was a programmer who worked on the four color proof with Haken and Appel. I don&#8217;t know how much credit he deserves, but I suspect it may be more than he was given.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The idea of using computers to assist with proofs is not new. The first major computer-assisted proof was published in 1976, the proof of the four color theorem by Kenneth Appel and Wolfgang Haken. The authors reduced the proof of the four color theorem to verifying calculations on 1,834 configurations, each checked by a computer [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-247877","post","type-post","status-publish","format-standard","hentry","category-computing"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Computer-assisted proofs are older than you may imagine. The first major theorem proved with the assistance of a computer was over 50 years ago.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/four-colors\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"A 50-year-old computer-assisted proof\" \/>\n\t\t<meta property=\"og:description\" content=\"Computer-assisted proofs are older than you may imagine. The first major theorem proved with the assistance of a computer was over 50 years ago.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/four-colors\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-09T14:59:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-09T14:59:48+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"A 50-year-old computer-assisted proof\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Computer-assisted proofs are older than you may imagine. The first major theorem proved with the assistance of a computer was over 50 years ago.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"A 50-year-old computer-assisted proof","description":"Computer-assisted proofs are older than you may imagine. The first major theorem proved with the assistance of a computer was over 50 years ago.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/four-colors\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"A 50-year-old computer-assisted proof","og:description":"Computer-assisted proofs are older than you may imagine. The first major theorem proved with the assistance of a computer was over 50 years ago.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/four-colors\/","article:published_time":"2026-09-09T14:59:48+00:00","article:modified_time":"2026-09-09T14:59:48+00:00","twitter:card":"summary","twitter:title":"A 50-year-old computer-assisted proof","twitter:description":"Computer-assisted proofs are older than you may imagine. The first major theorem proved with the assistance of a computer was over 50 years ago.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247877","title":null,"description":"Computer-assisted proofs are older than you may imagine. The first major theorem proved with the assistance of a computer was over 50 years ago.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-09 14:24:10","updated":"2026-09-09 15:13:34","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/computing\/\" title=\"Computing\">Computing<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tA 50-year-old computer-assisted proof\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"Computing","link":"https:\/\/www.johndcook.com\/blog\/category\/computing\/"},{"label":"A 50-year-old computer-assisted proof","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/four-colors\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247877"}],"version-history":[{"count":2,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247877\/revisions"}],"predecessor-version":[{"id":247879,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247877\/revisions\/247879"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247877"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247877"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":247875,"date":"2026-09-09T09:17:20","date_gmt":"2026-09-09T14:17:20","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247875"},"modified":"2026-09-09T10:18:22","modified_gmt":"2026-09-09T15:18:22","slug":"ai-multiplier","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/ai-multiplier\/","title":{"rendered":"AI is an intelligence multiplier"},"content":{"rendered":"<p>A rising tide may lift all boats, but the AI tide lifts some boats much more than others.<\/p>\n<p>By all accounts, the best programmers have had the biggest productivity boost from AI. And top tier mathematicians are using AI to settle long-standing mathematical conjectures. AI is a powerful tool, but tools don&#8217;t come to life and make things on their own.<\/p>\n<p>I routinely have naive amateurs [1] send me proofs of open conjectures, and naturally more recent such proofs involve AI. I&#8217;ll get an email saying something like &#8220;I&#8217;ve solved the Collatz conjecture using ChatGPT, but I&#8217;m not a mathematician so I need some help verifying the proof.&#8221; And of course the supposed proof is rubbish.<\/p>\n<p>The recent Navier-Stokes proof is impressive, but AI didn&#8217;t initiate the proof any more than LaTeX did. Nor did a child steer AI into proving the conjecture. Professional mathematicians were able to use AI to pursue their ideas at superhuman speed. But someone without an understanding of the Navier-Stokes problem, and familiarity with recent ideas for approaching the problem, could not have directed AI to produce a proof.<\/p>\n<p>Computer scientists have been saying &#8220;garbage in, garbage out&#8221; from the beginning. A variation on this aphorism for the age of AI would be &#8220;mediocrity in, mediocrity out.&#8221;<\/p>\n<p style=\"text-align: center;\">***<\/p>\n<p>[1] Amateurs can and do make contributions to mathematics. For example, in 2022 David Smith, a retired print technician, discovered a single shape that can be used to create an aperiodic tiling of the plane. By &#8220;naive amateurs&#8221; I mean people who literally do not know what they are talking about.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A rising tide may lift all boats, but the AI tide lifts some boats much more than others. By all accounts, the best programmers have had the biggest productivity boost from AI. And top tier mathematicians are using AI to settle long-standing mathematical conjectures. AI is a powerful tool, but tools don&#8217;t come to life [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[260],"tags":[],"class_list":["post-247875","post","type-post","status-publish","format-standard","hentry","category-ai"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"The most productive, most creative, and most intelligent people will benefit the most from AI.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/ai-multiplier\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"AI is an intelligence multiplier\" \/>\n\t\t<meta property=\"og:description\" content=\"The most productive, most creative, and most intelligent people will benefit the most from AI.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/ai-multiplier\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-09T14:17:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-09T15:18:22+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"AI is an intelligence multiplier\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The most productive, most creative, and most intelligent people will benefit the most from AI.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"AI is an intelligence multiplier","description":"The most productive, most creative, and most intelligent people will benefit the most from AI.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/ai-multiplier\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"AI is an intelligence multiplier","og:description":"The most productive, most creative, and most intelligent people will benefit the most from AI.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/ai-multiplier\/","article:published_time":"2026-09-09T14:17:20+00:00","article:modified_time":"2026-09-09T15:18:22+00:00","twitter:card":"summary","twitter:title":"AI is an intelligence multiplier","twitter:description":"The most productive, most creative, and most intelligent people will benefit the most from AI.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247875","title":null,"description":"The most productive, most creative, and most intelligent people will benefit the most from AI.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-09 13:47:02","updated":"2026-09-09 17:51:01","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/ai\/\" title=\"AI\">AI<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAI is an intelligence multiplier\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"AI","link":"https:\/\/www.johndcook.com\/blog\/category\/ai\/"},{"label":"AI is an intelligence multiplier","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/ai-multiplier\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247875"}],"version-history":[{"count":3,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247875\/revisions"}],"predecessor-version":[{"id":247881,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247875\/revisions\/247881"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247875"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247875"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":247870,"date":"2026-09-09T07:43:36","date_gmt":"2026-09-09T12:43:36","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247870"},"modified":"2026-09-09T07:43:36","modified_gmt":"2026-09-09T12:43:36","slug":"formal-method-revolution","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/formal-method-revolution\/","title":{"rendered":"The part of Navier-Stokes no one is talking about"},"content":{"rendered":"<p>Yesterday OpenAI announced a proof that settled a long-standing question about the Navier-Stokes equations from fluid dynamics. The announcement has created a lot of buzz, as one would expect. But there&#8217;s an aspect of OpenAI&#8217;s work that I haven&#8217;t seen anyone talk about: they posted a Lean 4 formal proof at the same time as their conventional human-readable proof.<\/p>\n<p>Quite a few other mathematical conjectures have been settled recently using AI, and these have also been accompanied with formal proofs, using Lean 4 in particular.<\/p>\n<p>Until very recently, generating machine-verifiable formal proofs has been <strong>excruciatingly tedious<\/strong>. In 2005, Henk Barendregt and Freek Wiedijk <a href=\"https:\/\/www.cs.ru.nl\/~freek\/notes\/RSpaper.pdf\">wrote<\/a><\/p>\n<blockquote><p>To give an indication of how much work is needed for formalisation, we estimate that it takes approximately one work-week (five work-days of eight work-hours) to formalise one page from an undergraduate mathematics textbook.<\/p><\/blockquote>\n<p>That was the rule of thumb: <strong>forty hours per page<\/strong>. And this in the context of undergraduate textbooks. Research publications are much denser than textbooks. Furthermore, page 100 of a textbook probably depends mostly on material on pages 1 through 99. A sentence in a research article could cite anything that has been published before.<\/p>\n<p>Say a research article takes 20 times more effort to formalize than page in an undergraduate textbook. Then formalizing the 166-page paper from OpenAI would take 132,800 person-hours. It took OpenAI 17 hours to verify their proof in Lean. I hesitate to use the word &#8220;revolutionary,&#8221; but lowering the cost of anything by <strong>four orders of magnitude<\/strong> is revolutionary.<\/p>\n<p>I&#8217;ve used AI to generate formal proofs to check my work just for a little blog post. I wouldn&#8217;t dream of doing that if I had to pay someone a week&#8217;s salary to check my work.<\/p>\n<p>Formal verification doesn&#8217;t just apply to mathematics. You could, for example, formally verify that a set of security policies are consistent and that, given certain assumptions, they accomplish their purpose. You could formally verify that a smart contract imposes a certain maximum liability. You could verify the correctness of mission-critical algorithms. These problems are easier than formalizing mathematics research, and it is easier to quantify the return on investment.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2025\/12\/24\/automation-and-validation\/\">Automation and validation<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2016\/07\/11\/formal-methods-let-you-explore-the-corners\/\">Formal methods let you explore the corners<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2020\/12\/03\/formal-proof-roi\/\">When are formal methods worth the effort?<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday OpenAI announced a proof that settled a long-standing question about the Navier-Stokes equations from fluid dynamics. The announcement has created a lot of buzz, as one would expect. But there&#8217;s an aspect of OpenAI&#8217;s work that I haven&#8217;t seen anyone talk about: they posted a Lean 4 formal proof at the same time as [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[324],"class_list":["post-247870","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-formal-methods"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"When OpenAI released their proof that solutions to the Navier-Stokes equations can blow up in finite time, they also released a formal proof in Lean 4.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"formal methods\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/formal-method-revolution\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"The part of Navier-Stokes no one is talking about\" \/>\n\t\t<meta property=\"og:description\" content=\"When OpenAI released their proof that solutions to the Navier-Stokes equations can blow up in finite time, they also released a formal proof in Lean 4.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/formal-method-revolution\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-09T12:43:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-09T12:43:36+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"The part of Navier-Stokes no one is talking about\" \/>\n\t\t<meta name=\"twitter:description\" content=\"When OpenAI released their proof that solutions to the Navier-Stokes equations can blow up in finite time, they also released a formal proof in Lean 4.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"The part of Navier-Stokes no one is talking about","description":"When OpenAI released their proof that solutions to the Navier-Stokes equations can blow up in finite time, they also released a formal proof in Lean 4.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/formal-method-revolution\/","robots":"max-image-preview:large","keywords":"formal methods","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"The part of Navier-Stokes no one is talking about","og:description":"When OpenAI released their proof that solutions to the Navier-Stokes equations can blow up in finite time, they also released a formal proof in Lean 4.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/formal-method-revolution\/","article:published_time":"2026-09-09T12:43:36+00:00","article:modified_time":"2026-09-09T12:43:36+00:00","twitter:card":"summary","twitter:title":"The part of Navier-Stokes no one is talking about","twitter:description":"When OpenAI released their proof that solutions to the Navier-Stokes equations can blow up in finite time, they also released a formal proof in Lean 4.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247870","title":null,"description":"When OpenAI released their proof that solutions to the Navier-Stokes equations can blow up in finite time, they also released a formal proof in Lean 4.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-09 11:31:29","updated":"2026-09-09 13:05:58","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tThe part of Navier-Stokes no one is talking about\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"Uncategorized","link":"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/"},{"label":"The part of Navier-Stokes no one is talking about","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/09\/formal-method-revolution\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247870"}],"version-history":[{"count":4,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247870\/revisions"}],"predecessor-version":[{"id":247874,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247870\/revisions\/247874"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":247864,"date":"2026-09-08T10:26:08","date_gmt":"2026-09-08T15:26:08","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247864"},"modified":"2026-09-08T12:48:11","modified_gmt":"2026-09-08T17:48:11","slug":"navier-stokes-in-the-news","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/08\/navier-stokes-in-the-news\/","title":{"rendered":"Navier-Stokes in the news"},"content":{"rendered":"<p>There are rumors that a long-standing math problem, one of the Millennium Prize problems, has been solved.<\/p>\n<p>The problem concerns technical properties of solutions to the <strong>Navier-Stokes equations<\/strong> [1], a set of equations that describe the dynamics of fluid flow. Popular accounts of the problem are often oversimplified and misleading.<\/p>\n<p>Some reports will speak of the problem as &#8220;solving the Navier-Stokes equations.&#8221; The task is not to write down a closed-form solution, which can&#8217;t be done, or solve the equations numerically, which has been done for decades. The problem is to prove theoretical properties of solutions which are of little interest in practice.<\/p>\n<p>There has been progress toward settling the Navier-Stokes problem. Terence Tao wrote a post on this <a href=\"https:\/\/terrytao.wordpress.com\/2026\/09\/07\/finite-time-blowup-with-smooth-forcing-term-for-the-incompressible-porous-medium-boussinesq-and-incompressible-euler-equations\/\">yesterday<\/a>.<\/p>\n<p>What&#8217;s also\u00a0 interesting is the intrigue around the possible solution. A <a href=\"https:\/\/x.com\/etale27\/status\/2097190864598560892\">post<\/a> this morning says<\/p>\n<blockquote><p>If I am reading this correctly, Tristan Buckmaster is alleging OAI has a resolution of Navier-Stokes \u2026 which maybe used info from Buckmaster and Levent Alp\u00f6ge\u2019s private Codex sessions.<\/p><\/blockquote>\n<p>Buckmaster asked OpenAI whether they used his private sessions and they have not responded. <strong>Update<\/strong>: <a href=\"https:\/\/openai.com\/index\/navier-stokes-solution\/\">Statement<\/a> from OpenAI.<\/p>\n<h2>Personal note<\/h2>\n<p>This topic connects parts of my career spanning decades. My graduate work was in PDEs and I had some interest in the Navier-Stokes equations. Here are some <a href=\"https:\/\/www.johndcook.com\/NavierStokes.pdf\">notes<\/a> I wrote back in the day.<\/p>\n<p>Now I work more with privacy than with PDEs. The question of whether OpenAI uses private data, contradicting their stated policy, is more relevant to my current work than whether the Navier-Stokes equations have global regular solutions.<\/p>\n<h2>Related posts<\/h2>\n<ul>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2014\/08\/04\/engineering-a-waterpark\/\">Engineering a waterpark<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/Euler_Lagrange_Equations.pdf\">Euler-Lagrange equations<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/data-privacy\/\">Data privacy<\/a><\/li>\n<\/ul>\n<p>[1] I never know whether to say equation or equations. You&#8217;ll hear both. You could think of Navier-Stokes as one vector-valued PDE or three scalar-valued equations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are rumors that a long-standing math problem, one of the Millennium Prize problems, has been solved. The problem concerns technical properties of solutions to the Navier-Stokes equations [1], a set of equations that describe the dynamics of fluid flow. Popular accounts of the problem are often oversimplified and misleading. Some reports will speak of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[260,9],"tags":[202,47],"class_list":["post-247864","post","type-post","status-publish","format-standard","hentry","category-ai","category-math","tag-artificial-intelligence","tag-differential-equations"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Navier-Stokes equations. What&#039;s the problem? What progress is being made? Is there Ai espionage going on?\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"artificial intelligence,differential equations\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/08\/navier-stokes-in-the-news\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Navier-Stokes in the news\" \/>\n\t\t<meta property=\"og:description\" content=\"Navier-Stokes equations. What&#039;s the problem? What progress is being made? Is there Ai espionage going on?\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/08\/navier-stokes-in-the-news\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-08T15:26:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-08T17:48:11+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Navier-Stokes in the news\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Navier-Stokes equations. What&#039;s the problem? What progress is being made? Is there Ai espionage going on?\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Navier-Stokes in the news","description":"Navier-Stokes equations. What's the problem? What progress is being made? Is there Ai espionage going on?","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/08\/navier-stokes-in-the-news\/","robots":"max-image-preview:large","keywords":"artificial intelligence,differential equations","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Navier-Stokes in the news","og:description":"Navier-Stokes equations. What's the problem? What progress is being made? Is there Ai espionage going on?","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/08\/navier-stokes-in-the-news\/","article:published_time":"2026-09-08T15:26:08+00:00","article:modified_time":"2026-09-08T17:48:11+00:00","twitter:card":"summary","twitter:title":"Navier-Stokes in the news","twitter:description":"Navier-Stokes equations. What's the problem? What progress is being made? Is there Ai espionage going on?","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247864","title":null,"description":"Navier-Stokes equations. What's the problem? What progress is being made? Is there Ai espionage going on?","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-08 14:17:10","updated":"2026-09-08 18:22:58","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tNavier-Stokes in the news\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Navier-Stokes in the news","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/08\/navier-stokes-in-the-news\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247864"}],"version-history":[{"count":5,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247864\/revisions"}],"predecessor-version":[{"id":247867,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247864\/revisions\/247867"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":247861,"date":"2026-09-07T13:35:45","date_gmt":"2026-09-07T18:35:45","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247861"},"modified":"2026-09-07T13:35:45","modified_gmt":"2026-09-07T18:35:45","slug":"ngram-error-rate","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/07\/ngram-error-rate\/","title":{"rendered":"Ngram error rate"},"content":{"rendered":"<p><span class=\"hyphens-auto\" lang=\"en\">The Online Etymological Dictionary gives the following etymology for\u00a0<em>grok<\/em>:<\/span><\/p>\n<blockquote><p>grok (v.)<\/p>\n<p>&#8220;understand empathically,&#8221; 1961, an arbitrary formation by U.S. science fiction writer Robert A. Heinlein (1907-1988) in his book &#8220;Stranger in a Strange Land.&#8221; In the book it is a transliteration of a Martian word and is said to mean etymologically &#8220;to drink.&#8221; It attained popular use in 1960s-70s counterculture but is perhaps obsolete now except in internet technology circles.<\/p><\/blockquote>\n<p>I don&#8217;t believe anything in the statement above is disputed. And yet Google&#8217;s Ngram Viewer tells a very different story.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium\" src=\"https:\/\/www.johndcook.com\/grok_ngram.png\" width=\"600\" height=\"220\" \/><\/p>\n<p>The plot implies that use of the word\u00a0<em>grok<\/em> had been increasing before Heinlein&#8217;s book came out and is now much more common than it was in the 1970s. Note that the plot ends before the Grok AI came out in late 2023.<\/p>\n<p>Apparently the Ngram data is unreliable, mainly for two reasons: OCR errors and inaccurate date attribution. Presumably the blip around 1900 was due to the former, OCR causing words like <em>crok<\/em> or\u00a0<em>grog<\/em> to be cataloged as\u00a0<em>grok<\/em>. And presumably the rise in usage before 1961 was due to the latter, misattributing the date of sources published after 1961.<\/p>\n<p>The supposed rise in usage before 1961 is interesting. You&#8217;d expect some lag between the time a word circulates in conversation and when it appears in books, but apparently this lag can be smaller than the effect of date misattribution.<\/p>\n<p>Etymonline speculates that <em>grok<\/em> is &#8220;perhaps obsolete now except in internet technology circles.&#8221; That matches my experience. Even in technological circles, the word was uncommon before Grok was released. Maybe it was more common in print than in conversation.<\/p>\n<h2>Related posts<\/h2>\n<p>Previous posts with Ngram stats. The effects are so large that they&#8217;re probably directionally correct after adjusting for a substantial error rate.<\/p>\n<ul>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2021\/04\/18\/duodecimal\/\">Duodecimal vs. Hexadecimal<\/a><\/li>\n<li class=\"link\"><a href=\"https:\/\/www.johndcook.com\/blog\/2013\/06\/07\/orwellian-vs-huxleyian\/\">Orwellian vs. Huxleyian<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The Online Etymological Dictionary gives the following etymology for\u00a0grok: grok (v.) &#8220;understand empathically,&#8221; 1961, an arbitrary formation by U.S. science fiction writer Robert A. Heinlein (1907-1988) in his book &#8220;Stranger in a Strange Land.&#8221; In the book it is a transliteration of a Martian word and is said to mean etymologically &#8220;to drink.&#8221; It attained [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-247861","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"An example illustrating the large amount of error in Ngram data.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/07\/ngram-error-rate\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Ngram error rate\" \/>\n\t\t<meta property=\"og:description\" content=\"An example illustrating the large amount of error in Ngram data.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/07\/ngram-error-rate\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-07T18:35:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-07T18:35:45+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Ngram error rate\" \/>\n\t\t<meta name=\"twitter:description\" content=\"An example illustrating the large amount of error in Ngram data.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Ngram error rate","description":"An example illustrating the large amount of error in Ngram data.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/07\/ngram-error-rate\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Ngram error rate","og:description":"An example illustrating the large amount of error in Ngram data.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/07\/ngram-error-rate\/","article:published_time":"2026-09-07T18:35:45+00:00","article:modified_time":"2026-09-07T18:35:45+00:00","twitter:card":"summary","twitter:title":"Ngram error rate","twitter:description":"An example illustrating the large amount of error in Ngram data.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247861","title":null,"description":"An example illustrating the large amount of error in Ngram data.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-07 17:52:02","updated":"2026-09-07 19:32:58","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tNgram error rate\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"Uncategorized","link":"https:\/\/www.johndcook.com\/blog\/category\/uncategorized\/"},{"label":"Ngram error rate","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/07\/ngram-error-rate\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247861","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247861"}],"version-history":[{"count":1,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247861\/revisions"}],"predecessor-version":[{"id":247862,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247861\/revisions\/247862"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":247858,"date":"2026-09-05T12:04:13","date_gmt":"2026-09-05T17:04:13","guid":{"rendered":"https:\/\/www.johndcook.com\/blog\/?p=247858"},"modified":"2026-09-05T12:04:13","modified_gmt":"2026-09-05T17:04:13","slug":"proof-of-the-rank-trace-theorem","status":"publish","type":"post","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/05\/proof-of-the-rank-trace-theorem\/","title":{"rendered":"Proof of the rank-trace theorem"},"content":{"rendered":"<p>The <a href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/04\/stable-rank\/\">previous post<\/a> discussed the motivation for and application of the rank-trace theorem. This post will give a proof.<\/p>\n<p>Suppose\u00a0<em>A<\/em> is a real symmetric matrix. The rank-trace inequality says<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.johndcook.com\/rank_trace1.svg\" alt=\"\\operatorname{rank}(A)\\ge\\frac{(\\operatorname{tr} A)^2}{\\operatorname{tr}(A^2)}\" width=\"143\" height=\"49\" \/><\/p>\n<p>where tr is the trace operator, the sum of the elements along the diagonal of the matrix.<\/p>\n<h2>Terse proof<\/h2>\n<p>Here&#8217;s the proof in a nutshell: diagonalize\u00a0<em>A<\/em> and use the Cauchy-Schwarz inequality.<\/p>\n<h2>Detailed proof<\/h2>\n<p>Now let&#8217;s unpack that. Any real symmetric matrix <em>A<\/em> is similar to a matrix <em>D<\/em> with the eigenvalues of\u00a0<em>A<\/em> along the diagonal.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/rank_trace2.svg\" alt=\"A = PDP^{-1}\" width=\"91\" height=\"18\" \/><\/p>\n<p>The trace of a matrix stays the same under a similarity transformation, i.e. multiplying by\u00a0<em>P<\/em> on one side and its inverse on the other side. So without loss of generality we may as well assume\u00a0<em>A<\/em> is diagonal.<\/p>\n<p>The rank of a matrix equals the number of non-zero eigenvalues, so a vector containing the non-zero eigenvalues of\u00a0<em>A<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/rank_trace3.svg\" alt=\"v = [\\lambda_1, \\lambda_2, \\ldots, \\lambda_r]\" width=\"147\" height=\"17\" \/><\/p>\n<p>has length <em>r<\/em> where <em>r<\/em> is the rank of <em>A<\/em>. Define <em>w<\/em> to be the vector of dimension\u00a0<em>r<\/em> consisting of all 1&#8217;s.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/rank_trace4.svg\" alt=\"w = [1, 1, \\ldots, 1]\" width=\"130\" height=\"17\" \/><\/p>\n<p>Then by the Cauchy-Schwarz inequality we have<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/rank_trace6.svg\" alt=\"\\operatorname{tr}(A)^2 = \\langle v, w \\rangle^2 \\leq \\langle v, v \\rangle \\, \\langle w, w \\rangle = r \\operatorname{tr}(A^2)\" width=\"332\" height=\"22\" \/><\/p>\n<h2>Cyclic trace property<\/h2>\n<p>Why should a matrix\u00a0<em>A<\/em> and its diagonalization\u00a0<em>D<\/em> have the same trace?<\/p>\n<p>The trace of a matrix product\u00a0<em>AB<\/em> equals the trace of the product\u00a0<em>BA<\/em>. To prove this, write out matrix products and the traces, then note that the two expressions are equal.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/trace_commute.svg\" alt=\" \\begin{align*} \\operatorname{tr}(AB) &amp;= \\sum_i(AB)_{ii}=\\sum_i\\sum_k A_{ik}B_{ki} \\\\ \\operatorname{tr}(BA) &amp;= \\sum_j(BA)_{jj}=\\sum_j\\sum_k B_{jk}A_{kj} \\end{align*}\" width=\"291\" height=\"98\" \/><\/p>\n<p>Therefore<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/rank_trace7.svg\" alt=\"\\operatorname{tr}(A) = \\operatorname{tr}((PD)P^{-1}) = \\operatorname{tr}(P^{-1}(PD)) = \\operatorname{tr}(D)\" width=\"351\" height=\"22\" \/><\/p>\n<p>More generally, trace has the cyclic property<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/cycle_trace.svg\" alt=\"\\operatorname{tr}(ABC) = \\operatorname{tr}(CAB) = \\operatorname{tr}(BCA)\" width=\"242\" height=\"18\" \/><\/p>\n<p>However, not all permutations preserve the trace. For example, let<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/rank_trace8.svg\" alt=\"A=\\begin{pmatrix}0&amp;1\\\\0&amp;0\\end{pmatrix},\\quad B=\\begin{pmatrix}0&amp;0\\\\1&amp;0\\end{pmatrix},\\quad C=\\begin{pmatrix}1&amp;0\\\\0&amp;0\\end{pmatrix}.\" width=\"342\" height=\"48\" \/><\/p>\n<p>Then<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/rank_trace11.svg\" alt=\"\\operatorname{tr}(ABC) = \\operatorname{tr}\\begin{pmatrix}1&amp;0\\\\0&amp;0\\end{pmatrix} = 1\" width=\"192\" height=\"48\" \/><\/p>\n<p>but<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"background-color: white;\" src=\"https:\/\/www.johndcook.com\/rank_trace10.svg\" alt=\"\\operatorname{tr}(ACB) = \\operatorname{tr}\\begin{pmatrix}0&amp;0\\\\0&amp;0\\end{pmatrix} = 0\" width=\"192\" height=\"48\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The previous post discussed the motivation for and application of the rank-trace theorem. This post will give a proof. Suppose\u00a0A is a real symmetric matrix. The rank-trace inequality says where tr is the trace operator, the sum of the elements along the diagonal of the matrix. Terse proof Here&#8217;s the proof in a nutshell: diagonalize\u00a0A [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[198],"class_list":["post-247858","post","type-post","status-publish","format-standard","hentry","category-math","tag-linear-algebra"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Proof of the rank-trace theorem. The cyclic property of the trace operator, and a counterexample to a plausible but false generalization.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"John\"\/>\n\t<meta name=\"keywords\" content=\"linear algebra\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/05\/proof-of-the-rank-trace-theorem\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"John D. Cook | Applied Mathematics Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Proof of the rank-trace theorem\" \/>\n\t\t<meta property=\"og:description\" content=\"Proof of the rank-trace theorem. The cyclic property of the trace operator, and a counterexample to a plausible but false generalization.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.johndcook.com\/blog\/2026\/09\/05\/proof-of-the-rank-trace-theorem\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-05T17:04:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-05T17:04:13+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Proof of the rank-trace theorem\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Proof of the rank-trace theorem. The cyclic property of the trace operator, and a counterexample to a plausible but false generalization.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Proof of the rank-trace theorem","description":"Proof of the rank-trace theorem. The cyclic property of the trace operator, and a counterexample to a plausible but false generalization.","canonical_url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/05\/proof-of-the-rank-trace-theorem\/","robots":"max-image-preview:large","keywords":"linear algebra","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"John D. Cook | Applied Mathematics Consulting","og:type":"article","og:title":"Proof of the rank-trace theorem","og:description":"Proof of the rank-trace theorem. The cyclic property of the trace operator, and a counterexample to a plausible but false generalization.","og:url":"https:\/\/www.johndcook.com\/blog\/2026\/09\/05\/proof-of-the-rank-trace-theorem\/","article:published_time":"2026-09-05T17:04:13+00:00","article:modified_time":"2026-09-05T17:04:13+00:00","twitter:card":"summary","twitter:title":"Proof of the rank-trace theorem","twitter:description":"Proof of the rank-trace theorem. The cyclic property of the trace operator, and a counterexample to a plausible but false generalization.","twitter:image":"https:\/\/www.johndcook.com\/blog\/wp-content\/uploads\/2022\/05\/twittercard.png"},"aioseo_meta_data":{"post_id":"247858","title":null,"description":"Proof of the rank-trace theorem. The cyclic property of the trace operator, and a counterexample to a plausible but false generalization.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-09-05 15:33:45","updated":"2026-09-05 17:38:00","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.johndcook.com\/blog\/category\/math\/\" title=\"Math\">Math<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tProof of the rank-trace theorem\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.johndcook.com\/blog"},{"label":"Math","link":"https:\/\/www.johndcook.com\/blog\/category\/math\/"},{"label":"Proof of the rank-trace theorem","link":"https:\/\/www.johndcook.com\/blog\/2026\/09\/05\/proof-of-the-rank-trace-theorem\/"}],"_links":{"self":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/comments?post=247858"}],"version-history":[{"count":1,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247858\/revisions"}],"predecessor-version":[{"id":247859,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/posts\/247858\/revisions\/247859"}],"wp:attachment":[{"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/media?parent=247858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/categories?post=247858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.johndcook.com\/blog\/wp-json\/wp\/v2\/tags?post=247858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}]