YouTube2Text

ETH False II: completing the proof — Transcript

by Ryan O'Donnell · 11,374 words · 2,111 segments · language en · Watch on YouTube

Full transcript

  1. 0:01Okay, we're back.
  2. 0:02Hope you had a nice democracy day
  3. 0:05and are ready for some more
  4. 0:07ETH false. So, we're going to dive right
  5. 0:10into it. Hopefully, we'll be able to
  6. 0:12complete the proof.
  7. 0:13I'm not sure how much time we'll get,
  8. 0:14but we'll do our best.
  9. 0:17So, where were we? We were proving that
  10. 0:19uh
  11. 0:20sharp 3-SAT for sparse uh sharp 3-SAT
  12. 0:22instances can be solved in
  13. 0:24sub-exponential time, basically 2 to the
  14. 0:25end over root log n up to some polylogs
  15. 0:27polylog logs.
  16. 0:29And we immediately reduced this to
  17. 0:31computing permanents in the same amount
  18. 0:33of time. So, the task we want to solve
  19. 0:35is given an n by n matrix A where each
  20. 0:37row and column has uh constantly many
  21. 0:40non-zeros,
  22. 0:41uh we want to compute its permanent in
  23. 0:43this amount of time.
  24. 0:45And this was our plan. Hopefully, you
  25. 0:47remember some aspects of it.
  26. 0:50Um
  27. 0:50so, we want to construct a matrix
  28. 0:53polynomial,
  29. 0:54uh like a polynomial in matrices with a
  30. 0:57one parameter t
  31. 0:58>> [snorts]
  32. 0:59>> uh such that for this special value L,
  33. 1:02which is about log n,
  34. 1:04uh we have all these properties. So,
  35. 1:05first of all, the degree of this matrix
  36. 1:07polynomial should be uh a number d which
  37. 1:09is right around square root L. And
  38. 1:11perhaps you remember the fact that this
  39. 1:13is square root L and rather than L was
  40. 1:15like the ultimate source of this root
  41. 1:17log n savings.
  42. 1:19Um and then if we define p(t), which is
  43. 1:21just a univariate polynomial in numbers
  44. 1:23to be the permanent uh permanent of this
  45. 1:25guy,
  46. 1:26uh its degree is n times d, which was
  47. 1:28useful.
  48. 1:29Uh
  49. 1:30and the point is that A(t) is going to
  50. 1:32be um A when t is zero. This is the
  51. 1:35permanent that we want to compute A, but
  52. 1:37we do it, if you recall, by uh
  53. 1:39interpolating through the permanent
  54. 1:41values and uh derivatives of permanent
  55. 1:43values at uh other inputs other than
  56. 1:46zero.
  57. 1:48So,
  58. 1:49uh we claim that we could set it up such
  59. 1:51that
  60. 1:52uh for i being 1 through L at these L
  61. 1:53points, computing the permanent on these
  62. 1:56other locations is easy, where easy
  63. 1:59means do it doable in time noticeably
  64. 2:01less than this. So, like two to the end
  65. 2:02over poly log n.
  66. 2:04Um by virtue of the fact that this A of
  67. 2:07I has some nice structure that makes it
  68. 2:09computing its permanent easy. So,
  69. 2:10basically A of I is block diagonal where
  70. 2:13the blocks are a little bit small. They
  71. 2:15have side length at most n over poly log
  72. 2:17n.
  73. 2:18Uh plus a
  74. 2:20matrix whose rank is like a little bit
  75. 2:21small n over poly log n. And you can
  76. 2:23compute the permanent of such matrices
  77. 2:26and all their submatrices and hence
  78. 2:27determinants and things in this much
  79. 2:29time and then you interpolate and that's
  80. 2:31how we get permanent of A.
  81. 2:33So, that was our plan. We got to take A
  82. 2:35and find this glorious matrix polynomial
  83. 2:37that passes through it where all these
  84. 2:39non-zero entries or or values are nicely
  85. 2:42structured.
  86. 2:44And I claimed we were going to somehow
  87. 2:45do it by using this tool which we proved
  88. 2:48in the second half of last time, which
  89. 2:50was a polynomial
  90. 2:53uh in L bits that was good at computing
  91. 2:56parity despite being low degree.
  92. 2:58So, we found this function G
  93. 3:00uh on the L-dimensional hypercube to the
  94. 3:02reals.
  95. 3:03Um
  96. 3:04it's symmetric meaning it's expressible
  97. 3:06as just a function of the sum of the
  98. 3:08inputs. These Z1s through ZL are plus or
  99. 3:10minus one. It's more convenient to use
  100. 3:12plus or minus one notation for bits over
  101. 3:13here.
  102. 3:14Uh Q is a univariate polynomial of
  103. 3:16degree D
  104. 3:17uh making G also of degree D. And G was
  105. 3:20like epsilon close to parity in the
  106. 3:22sense that um these two
  107. 3:25uh polynomials on the Boolean cube agree
  108. 3:27except for an epsilon fraction of
  109. 3:29points. And epsilon was like one over L
  110. 3:31to the 100. We could make it nice and
  111. 3:33big. L is this thing that's around log.
  112. 3:35And uh parity in plus or minus one
  113. 3:38notation is just a function where you
  114. 3:39multiply all the L bits together.
  115. 3:42So, it like maybe very slightly bear
  116. 3:46some resemblance to this. Not really. Um
  117. 3:48but what we're going to do is take this
  118. 3:51tool and start using it to build
  119. 3:54structured matrices to make it look more
  120. 3:57and more like the plan. And while I'm
  121. 3:59doing this, you'll be like, "I don't
  122. 4:00really know where he's going with this."
  123. 4:01But you just got to trust that like
  124. 4:02we're getting really nice tool to get
  125. 4:04more towards this plan
  126. 4:06and we'll finally build up some glorious
  127. 4:08um matrix polynomials, not A of T
  128. 4:11itself, but some related matrix
  129. 4:12polynomials that will help us build A of
  130. 4:14T.
  131. 4:15And then we'll switch to the other side.
  132. 4:17We'll like start from A and try to get
  133. 4:19to this A of T.
  134. 4:21Yeah.
  135. 4:22>> Which one of the new ingredients by the
  136. 4:24way?
  137. 4:26>> Maybe I mean everything I guess. Yeah.
  138. 4:28Yeah.
  139. 4:30>> Like this this wasn't known this
  140. 4:32paradigm personally.
  141. 4:33>> Oh, this was super known. This is
  142. 4:34ancient folklore. Everybody knew this
  143. 4:35from Yeah, I should have said that.
  144. 4:37Everybody knew this in like the 1980s or
  145. 4:39something. Yeah.
  146. 4:42>> That's for vault symmetric functions,
  147. 4:43right? Doesn't have something to do
  148. 4:44>> Yeah. Yeah. Yeah. Yeah.
  149. 4:47Okay, so let's start
  150. 4:49um
  151. 4:50extending our use of this uh tool. And I
  152. 4:53also might have to like
  153. 4:55uh make some things exercises rather
  154. 4:57than fully doing them.
  155. 4:59Uh okay, so this is a corollary of the
  156. 5:01tool. Um for some reason we're going to
  157. 5:04want to make variants of this polynomial
  158. 5:07where we have a variant that um
  159. 5:10doesn't depend on the ith coordinate for
  160. 5:12each of the L coordinates. Um
  161. 5:16Okay, so just trust me that's going to
  162. 5:17be important. So for I'm going to define
  163. 5:20>> [laughter]
  164. 5:20>> I'm going to define a polynomial that's
  165. 5:22like a variant of this G that has like
  166. 5:24one extra parameter
  167. 5:26T.
  168. 5:27Um
  169. 5:29and we'll get this by
  170. 5:31uh plugging into the univariate Q
  171. 5:34uh not the sum of all the Z's
  172. 5:38but um just like this funny thing here
  173. 5:411 - T over I times ZI summed up.
  174. 5:46Okay, so this is a polynomial in in Z1
  175. 5:48through ZL and also T.
  176. 5:51Um here are all the important things. So
  177. 5:53G has
  178. 5:55this G has degree
  179. 5:57um D
  180. 5:59in T.
  181. 6:02Okay, because Okay, it's linear in T
  182. 6:03here and then we're plugging it into
  183. 6:05this degree D polynomial Q.
  184. 6:08And if you take T to be zero, you just
  185. 6:10get back your approximation to parity.
  186. 6:12So, G
  187. 6:13uh with T plugged in to be zero
  188. 6:16uh is
  189. 6:19just parity of Z except that
  190. 6:21uh
  191. 6:23EPSILON FRACTION INPUTS.
  192. 6:30UM BUT THE OTHER FUNNY UH PROPERTY, and
  193. 6:33this is going to be towards getting this
  194. 6:35structure as you'll eventually see, that
  195. 6:36for each of the other interesting
  196. 6:39inputs, one up to L,
  197. 6:41um you see when T takes on the value I,
  198. 6:44this sum end drops out.
  199. 6:47So,
  200. 6:48uh
  201. 6:49G of I
  202. 6:51Z doesn't DEPEND ON ZI.
  203. 7:00OKAY?
  204. 7:04SO,
  205. 7:07um
  206. 7:12Now, we're going to make like a little
  207. 7:13variant of this
  208. 7:15uh that's going to look a little
  209. 7:16slightly more like this uh pattern
  210. 7:18matching speaking.
  211. 7:20Uh so, we're going to take F
  212. 7:23of T
  213. 7:24Z
  214. 7:26to be
  215. 7:28this G of TZ we just invented.
  216. 7:31Um plus like an error term, which is
  217. 7:34like parity of Z
  218. 7:37minus G
  219. 7:40zero Z.
  220. 7:44Okay, let's collect up the properties of
  221. 7:46this F.
  222. 7:50Uh again,
  223. 7:52let's say F has
  224. 7:54uh degree
  225. 7:56D in T. Basically the same as G except
  226. 7:59that you add this function that's like
  227. 8:01the error, which doesn't depend on T at
  228. 8:03all.
  229. 8:05Um let's just also say that uh
  230. 8:09f of zero
  231. 8:11uh z is exactly parity of z.
  232. 8:19Uh okay, so we just cooked it up to
  233. 8:22this was like the approximation for
  234. 8:24parity and we just just sort of like
  235. 8:25cooked it up so that we
  236. 8:27made f of zero exactly parity up to this
  237. 8:29error.
  238. 8:31Okay, and so then like this the analog
  239. 8:33of this is now like a little bit more
  240. 8:34annoying. Uh for i going from one to l
  241. 8:40f of i
  242. 8:44z
  243. 8:45uh it looks like something that um
  244. 8:50doesn't depend ON Z I
  245. 8:56PLUS SOMETHING THAT'S zero uh
  246. 9:01except on
  247. 9:04at most epsilon two to the l z's.
  248. 9:11Okay, so this is the thing that doesn't
  249. 9:12depend on z i when you plug in t equals
  250. 9:14i and this is like the fixed thing that
  251. 9:17uh is mostly zero.
  252. 9:21And maybe you're like, "Okay, I'm sort
  253. 9:23of starting to get some pattern matching
  254. 9:25feeling here with a i where we have this
  255. 9:27like sort of structured piece and this
  256. 9:31piece that uh is like somehow mostly
  257. 9:34zero."
  258. 9:38Okay, so this was
  259. 9:40uh
  260. 9:41a main step. Any questions about this?
  261. 9:45We're going to be like enjoying this f
  262. 9:47for a while.
  263. 9:49>> [snorts]
  264. 9:53>> Okay, so this is uh
  265. 9:56some polynomials with some interesting
  266. 9:58properties. It's actually like a family
  267. 10:00of polynomials where like the zeroth one
  268. 10:02is parity and the other I mean the
  269. 10:05family when you plug in t being zero
  270. 10:07through l, the zeroth one is parity and
  271. 10:09the other ones have this like nice
  272. 10:11structure.
  273. 10:13And our next move is to
  274. 10:16turn this F into a matrix polynomial cuz
  275. 10:20you know we got to get closer to
  276. 10:21matrices.
  277. 10:23Um oh, let me just say
  278. 10:26not that it's like super important but
  279. 10:28uh
  280. 10:29I'm going to call this function here
  281. 10:32um
  282. 10:34E of Z.
  283. 10:36It's a function that's only of Z.
  284. 10:40Okay. So, here's one way you can do
  285. 10:43this. If you're given
  286. 10:45um any function on the L-bit Boolean
  287. 10:49cube
  288. 10:51let me define
  289. 10:54uh 2 to the L by 2 to the L matrix that
  290. 10:57just puts the truth table on the
  291. 10:58diagonal.
  292. 11:00>> [applause]
  293. 11:02>> Uh D sub H which is like diag
  294. 11:07H of Z over all the Zs.
  295. 11:11Okay, so um you're going to be thinking
  296. 11:13of matrices
  297. 11:16that are 2 to the L by 2 to the L and
  298. 11:18we're going to like not, you know, name
  299. 11:20the rows and columns by numbers between
  300. 11:211 and 2 to the L but we'll like name the
  301. 11:23rows and columns by
  302. 11:25plus or minus 1 to the L.
  303. 11:30And this particular matrix that you
  304. 11:33build out of a function H you know has
  305. 11:35the property that like in the Zth row
  306. 11:36and Zth column
  307. 11:38you just put H of Z.
  308. 11:41Again, there's zeros elsewhere.
  309. 11:45Okay.
  310. 11:47Uh okay.
  311. 11:49So, now we're going to do this to our
  312. 11:51our nice function H or F there.
  313. 11:55Uh or family of functions F sub T. So, I
  314. 11:58want to define
  315. 12:00or rather define but we'll look at D of
  316. 12:02F
  317. 12:03T kind of uh dot if you know what I
  318. 12:06mean. So, this is like a different one
  319. 12:08of these diagonal matrices for each
  320. 12:09value of D.
  321. 12:12Uh okay, so this is just
  322. 12:14diag
  323. 12:16f of t
  324. 12:18z
  325. 12:19running over all the z's.
  326. 12:25Uh, okay, so what properties does it
  327. 12:27have?
  328. 12:31Well,
  329. 12:32uh
  330. 12:34So, first of all, this is a diagonal
  331. 12:36matrix polynomial in t.
  332. 12:39>> [applause]
  333. 12:41>> Um
  334. 12:43of degree
  335. 12:45>> [applause]
  336. 12:45>> D.
  337. 12:47Okay, and I'll I'll also just write it
  338. 12:49like curly D of t.
  339. 12:54Uh, and
  340. 12:57uh again, it has like a special value at
  341. 12:58zero, so curly D at zero is what you get
  342. 13:02if you put
  343. 13:03just parities truth table down this
  344. 13:05column uh diagonal.
  345. 13:07And just feel like
  346. 13:09explicitly show it uh in the case of l
  347. 13:12equals equals three,
  348. 13:13uh you have like plus plus plus plus
  349. 13:16plus minus plus minus plus plus minus
  350. 13:18minus.
  351. 13:20OOPS.
  352. 13:22>> [applause]
  353. 13:24>> OKAY, THAT'S HOW YOU LABEL THE IN L
  354. 13:26EQUALS THREE CASE, how you label the
  355. 13:28columns. Rows are labeled the same, and
  356. 13:30then you put the parity
  357. 13:32of this string,
  358. 13:34which is uh the product of the entries
  359. 13:36along the diagonal, SO IT'S
  360. 13:42OKAY, SO THIS MATRIX CURLY D OF ZERO
  361. 13:43WHEN L equals three is this matrix.
  362. 13:47>> [snorts]
  363. 13:48>> And
  364. 13:50um
  365. 13:52This is a famous matrix, actually. It's
  366. 13:53kind of like diag parity,
  367. 13:55if you will.
  368. 13:57Um
  369. 13:58Uh a quantum person would really enjoy
  370. 14:00calling this Z, so we'll call it Z as
  371. 14:02well, curly Z.
  372. 14:05Um okay.
  373. 14:07And the last thing, we'll translate this
  374. 14:10uh last property of f here. So, for i
  375. 14:14going from one up to L,
  376. 14:17what properties do we have?
  377. 14:19Uh D of curly D of I
  378. 14:22is
  379. 14:25Well, the first property it's not so
  380. 14:28amazingly clear what it is. So, I'll
  381. 14:31just
  382. 14:32stay say explicitly what it is. It's
  383. 14:34just like it's like the diagonal matrix
  384. 14:37for some function that like doesn't
  385. 14:41depend on the ith coordinate.
  386. 14:45So, okay.
  387. 14:47Actually, for example, like
  388. 14:49let's imagine that I is
  389. 14:51three and we're in this L equals three
  390. 14:53case. So, it means you kind of like the
  391. 14:55truth table down here of a function that
  392. 14:56actually happens to not depend on its
  393. 14:58third coordinate.
  394. 15:00Which means that like these two values
  395. 15:01are the same, these two values are the
  396. 15:02same, these two values are the same,
  397. 15:04these two these two values are the same.
  398. 15:06Okay, so it looks like alpha alpha beta
  399. 15:08beta gamma gamma delta delta for some
  400. 15:10real values alpha beta gamma delta.
  401. 15:12Okay, so it's some kind of structure.
  402. 15:14Okay, and if like I is one, then it's
  403. 15:15like alpha beta gamma delta alpha beta
  404. 15:17gamma delta. And if I is two, it's like
  405. 15:19more annoying to say what it is.
  406. 15:21>> [snorts]
  407. 15:21>> Okay, but it's like some kind of
  408. 15:23moderately structured diagonal matrix.
  409. 15:26And then
  410. 15:28uh the other part
  411. 15:30is just this DE.
  412. 15:32It's the diagonal matrix for this one
  413. 15:34specific error function E.
  414. 15:37Uh the main thing we know about E is
  415. 15:39it's like mostly zero everywhere.
  416. 15:42So, it's a diagonal matrix where almost
  417. 15:44entries are zero.
  418. 15:46So, that's perfect for talking about
  419. 15:48rank. You know, the rank of a diagonal
  420. 15:49matrix is just the number of non-zeros
  421. 15:51on the diagonal.
  422. 15:53So, I mean the the cool thing we can say
  423. 15:55about this
  424. 15:57is indeed the rank
  425. 16:00is at most
  426. 16:02epsilon times two to the L.
  427. 16:05Okay, so these are two to the L by two
  428. 16:06to the L matrices. The maximum possible
  429. 16:08rank is two to the L and this this
  430. 16:09thing's fractional rank is very small.
  431. 16:12One over log to the 100.
  432. 16:16Okay.
  433. 16:18So, okay, now we have something we're
  434. 16:20cooking a bit more. We have this matrix
  435. 16:22polynomial. It It doesn't match up here.
  436. 16:25I mean, not even the dimensions match
  437. 16:26up. This is n by n. This is 2 to the L
  438. 16:29by 2 to the L.
  439. 16:31L is um
  440. 16:33Where is L?
  441. 16:35It's noticeably less than log n. So, 2
  442. 16:37to the L is a lot smaller than n, but
  443. 16:39okay, we're we're getting there.
  444. 16:41Any Any questions?
  445. 16:45Okay, so let's soldier on. So,
  446. 16:48uh
  447. 16:51That's fine, but now we need to do one
  448. 16:54more trick to this
  449. 16:57matrix polynomial family to make it
  450. 17:00uh maximally useful for executing our
  451. 17:02plan. And this may also look a little
  452. 17:04bit unmotivated to you, but the final
  453. 17:07trick
  454. 17:09will involve the Hadamard matrix or the
  455. 17:11Hadamard transform. So, I'm going to let
  456. 17:14H, curly H, be the 2 to the L by 2 to
  457. 17:17the L Hadamard matrix.
  458. 17:22Okay, so what is this Hadamard uh
  459. 17:24matrix? It's a Boolean Fourier transform
  460. 17:26matrix. Uh
  461. 17:27we implicitly encountered this before
  462. 17:29when we talked about quantum
  463. 17:31computation. Remember that like one
  464. 17:33second move you could do to your like
  465. 17:35array of amplitudes was to literally
  466. 17:37transform them by multiplying them by
  467. 17:39this Hadamard um matrix. So, some people
  468. 17:42are like love this this matrix. If you
  469. 17:45uh
  470. 17:45study quantum computing, like you learn
  471. 17:47about it in lecture one. If you study
  472. 17:48analysis of Boolean functions, you learn
  473. 17:50about it in lecture one. You study
  474. 17:52communication complexity, you learn
  475. 17:53about it in like lecture two or
  476. 17:54something. You'll see it in Devangee's
  477. 17:56video about uh that involves
  478. 17:58communication complexity and the inner
  479. 17:59product mod two function.
  480. 18:00Uh
  481. 18:02So, on the other hand, maybe you're
  482. 18:03seeing it for the first time. Well,
  483. 18:04okay, I just wanted to assure you that
  484. 18:06like this is not like come here from
  485. 18:07outer space. It's like a well-known
  486. 18:09uh tool in many parts of theoretical
  487. 18:11computer science.
  488. 18:13So, what is this matrix?
  489. 18:15Um
  490. 18:16So, it's rows and columns
  491. 18:19>> [applause]
  492. 18:20>> uh it's up to you, but I will choose a
  493. 18:22convention will that um
  494. 18:25>> [clears throat]
  495. 18:25>> I'm going to index them
  496. 18:27by
  497. 18:290 1 to the L.
  498. 18:31You're probably like, wait, you just we
  499. 18:33all happy about indexing the Boolean
  500. 18:35cube by plus or minus 1 to the L. Now
  501. 18:36you're going back to the 0 1 to the L.
  502. 18:39Yeah, sorry.
  503. 18:41Um, and what is it?
  504. 18:43Uh, well, just uh
  505. 18:47it's entry
  506. 18:49at row U and column V where U and V are
  507. 18:520 1 strings
  508. 18:54is just a -1 to the U dot V.
  509. 18:58Okay, and this is like dot product.
  510. 19:02Okay, so it's a matrix full of plus or
  511. 19:04minus ones
  512. 19:05with like a certain basic pattern.
  513. 19:07So, I'll I'll draw the simplest example
  514. 19:10of L is 1
  515. 19:12then
  516. 19:13uh this is a 2 by 2 matrix.
  517. 19:17It's rows and columns are indexed by 0
  518. 19:19and 1 and you get +1 +1 +1 -1.
  519. 19:23Okay, I guess Jacques Hadamard invented
  520. 19:25this matrix in the 19th century and
  521. 19:27that's why it's named after him.
  522. 19:32Okay.
  523. 19:36Uh, but we'll go back to L equals L.
  524. 19:39And
  525. 19:41now let's define yet another like cool
  526. 19:44matrix family.
  527. 19:46Uh
  528. 19:49Okay, I'm going to erase this just to
  529. 19:50have some room.
  530. 19:57So, I'm going to define
  531. 20:00finally, uh
  532. 20:02this is going to be our really truly
  533. 20:03important matrix polynomial. That's the
  534. 20:05J
  535. 20:06J of T
  536. 20:08is um some scalar which we don't worry
  537. 20:10about too much 2 to the minus L
  538. 20:12times uh Hadamard times
  539. 20:15uh curly DFT times Hadamard.
  540. 20:19Okay, so it's sort of like the Fourier
  541. 20:21transform in some sense of this
  542. 20:24matrix polynomial.
  543. 20:27Okay. And now, like we have to go
  544. 20:29through these
  545. 20:31cool properties of of curly D and see
  546. 20:34what cool properties of curly J that we
  547. 20:36get out of them.
  548. 20:39Uh
  549. 20:42Okay. Well,
  550. 20:44capital H here is just a just like a
  551. 20:46scalar
  552. 20:47matrix. So, if you multiply it on both
  553. 20:49sides, it doesn't change the degree.
  554. 20:52So, this is also a matrix polynomial of
  555. 20:55J of T
  556. 20:59of the same degree as that of G D, which
  557. 21:01is
  558. 21:02D.
  559. 21:05And what is J of zero?
  560. 21:11Uh well, it's it's
  561. 21:14two to the minus L
  562. 21:16Hadamard and then
  563. 21:18the special parity matrix Z
  564. 21:21Hadamard again
  565. 21:23uh which is also like a very famous
  566. 21:26simple matrix
  567. 21:27which I'll call curly X.
  568. 21:30In a moment, I'll tell you what this is,
  569. 21:31but it's a very simple and enjoyable
  570. 21:33matrix.
  571. 21:35And the quantum enthusiasts already know
  572. 21:37what it is, I guess.
  573. 21:39Or the analysis of Boolean function
  574. 21:41enthusiasts.
  575. 21:43And finally,
  576. 21:44let's do this last
  577. 21:46one. So, for
  578. 21:49I between one and L as always is
  579. 21:52what's up with
  580. 21:53J of I?
  581. 21:56>> [snorts]
  582. 21:57>> Okay. Well, it's of the form
  583. 21:59two to the minus L H and then
  584. 22:03um
  585. 22:04some
  586. 22:05diagonal thing that doesn't depend on
  587. 22:07I's coordinate
  588. 22:12times H and
  589. 22:16Okay, matrices like this are going to
  590. 22:19have some kind of structure and we'll
  591. 22:20talk about that too. They are also like
  592. 22:22a little bit pleasant. You You so for
  593. 22:24example, when I three, we said like
  594. 22:27these D matrices look like alpha alpha
  595. 22:29beta beta gamma gamma delta delta.
  596. 22:31And if you wrap Hadamard's on both
  597. 22:33sides, we'll see you get some
  598. 22:36somewhat pleasant structure to the
  599. 22:37result. It's some kind of sort of block
  600. 22:39diagonal matrix.
  601. 22:41So, we'll come back to that.
  602. 22:43And then,
  603. 22:45uh
  604. 22:45over here, we're wrapping this specific
  605. 22:47diagonal matrix of low rank
  606. 22:50with some Hadamard's.
  607. 22:52And we'll just use the fact that we have
  608. 22:53a matrix of low rank and you multiply by
  609. 22:55another matrix, the rank cannot go up.
  610. 22:57It can only go down.
  611. 22:58So, we'll just use that this new matrix,
  612. 23:02which I'll call E prime,
  613. 23:05it's not the same thing as E. They have
  614. 23:06different dimensions and things, but
  615. 23:08we're getting there. This is low rank.
  616. 23:21Okay, so we're making more progress.
  617. 23:23This This This
  618. 23:25family J is
  619. 23:28going to be really helpful to us for
  620. 23:30executing the plan.
  621. 23:32And,
  622. 23:33uh
  623. 23:34this fine enough to tell you like what
  624. 23:36is this script X and like what is the
  625. 23:38nature of these matrices.
  626. 23:43Any questions?
  627. 23:47Okay, take a cell phone photo of this
  628. 23:48plan if you forget it because I'm going
  629. 23:50to erase it in in 1 second.
  630. 23:52>> [laughter]
  631. 23:53>> Uh Oh, you're really doing it. Okay,
  632. 23:55cool.
  633. 23:56Uh okay, great.
  634. 23:59All right. Yeah, we can all take a
  635. 24:00break.
  636. 24:02Uh okay, so, um
  637. 24:05>> [snorts]
  638. 24:05>> basically, and
  639. 24:07just so I don't run out of time, I may
  640. 24:09skip some calculations, even though
  641. 24:11these calculations are extremely easy
  642. 24:13and pleasant. I don't know, maybe I'll
  643. 24:15do one.
  644. 24:16Um but, you know, the whole theory of
  645. 24:18analysis of Boolean functions like kind
  646. 24:20of tells you things about what happens
  647. 24:21when you, you know, do a Hadamard
  648. 24:23transform to
  649. 24:26a function.
  650. 24:28And so, I'll I'll tell you
  651. 24:31like what's up with this matrix and
  652. 24:32what's up with these matrices.
  653. 24:35Uh okay. Well, now we have like a bit of
  654. 24:39a thing where we're like, well,
  655. 24:41but you decided to index this guy with 0
  656. 24:431 to the n, but this guy with plus or
  657. 24:45minus 1 to the n. Like the time has come
  658. 24:47that we have to resolve this. So, we're
  659. 24:49going to resolve this by um switching
  660. 24:52the the indices here. So, uh let's let's
  661. 24:56now index
  662. 24:58uh these rows and columns
  663. 25:03>> [applause]
  664. 25:05>> by uh 0 1 to the n.
  665. 25:10Okay, so we just have to like, you know,
  666. 25:11now in our mind we're like, oh, now it's
  667. 25:13like 0 0 0, 0 0 1, and and so forth.
  668. 25:18Um
  669. 25:19okay, which means that uh Z
  670. 25:22uh to
  671. 25:24Y Y
  672. 25:27it's like the So, this is a 0 1 string.
  673. 25:29We have to express the parity of it in
  674. 25:32plus or minus 1 notation once again. So,
  675. 25:33it's This is like minus 1 to the Y1 plus
  676. 25:37dot dot dot plus Y
  677. 25:39L.
  678. 25:40And uh
  679. 25:41this is 0 else.
  680. 25:43>> [applause]
  681. 25:44>> Yep.
  682. 25:45>> Is Is it 0 1 to the L?
  683. 25:47>> Sorry, 0 1 to the L. I have like a very
  684. 25:49bad habit of just assuming in in doing
  685. 25:52Boolean functions you always have n
  686. 25:53bits, but we have we have L bits.
  687. 25:54Thanks.
  688. 25:56Uh okay. So, this is the same thing is
  689. 25:58I'm just saying this is the same thing
  690. 25:59as this when you These stay plus or
  691. 26:01minus ones, but the indices change to 0
  692. 26:041 notation.
  693. 26:05Okay, so this exponent here is actually
  694. 26:07computing 0 mod 2 plus or minus 0 mod
  695. 26:12Sorry, it's computing parity up to mod 2
  696. 26:14and then you do minus 1 to that.
  697. 26:17Okay, that's fine.
  698. 26:20Okay, so uh
  699. 26:22in both these cases we have like a
  700. 26:24slightly special form. We have like
  701. 26:25Hadamard times a diagonal matrix times
  702. 26:28Hadamard
  703. 26:29times a scalar.
  704. 26:30And if you literally just write down the
  705. 26:33formula for matrix how like matrix
  706. 26:35multiplication works,
  707. 26:36um you don't really get like double sum
  708. 26:39ends because this thing is like a
  709. 26:41diagonal matrix. So, I'll I'll simply
  710. 26:43say it's an exercise for you that if you
  711. 26:46have uh literally any
  712. 26:51real valued Boolean function,
  713. 26:53uh then you have this formula, this 2 to
  714. 26:56the minus L times Hadamard times that
  715. 27:00the diagonal matrix built out of F times
  716. 27:03Hadamard.
  717. 27:05This thing,
  718. 27:07it's UV entry is
  719. 27:10Should have given myself more space.
  720. 27:13Uh expectation over a random Y
  721. 27:18of minus one
  722. 27:20to the U plus V
  723. 27:23.Y
  724. 27:28.Y times f of Y.
  725. 27:36Okay. So, I mean this expectation cuz
  726. 27:38you have this 2 to the minus L here and
  727. 27:40then
  728. 27:41basically only need like one sum end
  729. 27:42across the rows and columns cuz this is
  730. 27:44a diagonal matrix and you kind of get
  731. 27:47minus one to the U.Y because of uh
  732. 27:51this and you get minus one to the V.Y
  733. 27:54also because of this and f of Y.
  734. 27:56Okay.
  735. 27:58And
  736. 27:59uh yeah, this also should remind you
  737. 28:01sort of of the formula
  738. 28:03for
  739. 28:05you know, changing the amplitudes and
  740. 28:06the little bit we said about quantum
  741. 28:08computation.
  742. 28:12Okay.
  743. 28:13So, this is a convenient formula and for
  744. 28:15example, we can now uh find out what
  745. 28:18this
  746. 28:19uh cool
  747. 28:21X matrix is
  748. 28:24because, you know, we exactly have Z and
  749. 28:26Z is diagonal
  750. 28:28uh this. So, just plug this
  751. 28:31in for F here and I assure you you'll
  752. 28:35get the following.
  753. 28:37Uh
  754. 28:38this
  755. 28:39script X is maybe what you might call
  756. 28:41the anti-diagonal matrix.
  757. 28:44>> [applause]
  758. 28:48>> Um it's sort of like the identity matrix
  759. 28:50except like going like this, it goes
  760. 28:51like this.
  761. 28:53And
  762. 28:54uh another way to say it is that um
  763. 28:59it has a one
  764. 29:03uh
  765. 29:04when like the row and columns are
  766. 29:06bitwise negations of each other.
  767. 29:09Okay, this means like the bitwise
  768. 29:10negation of this string.
  769. 29:11And it's zero otherwise.
  770. 29:20Okay, and probably while I'm talking you
  771. 29:22can
  772. 29:23uh prove this in your head. So, you plug
  773. 29:25this, which is like minus one, this is
  774. 29:28like
  775. 29:29minus one to the like all ones vector
  776. 29:32{dot} y, I suppose.
  777. 29:35Okay, if you plug this into this
  778. 29:38and do a two-second calculation that
  779. 29:39like the expected value of negative one
  780. 29:42to
  781. 29:43uh
  782. 29:44a dot product is one if this is like
  783. 29:47always zero, and if it's not always zero
  784. 29:49then everything cancels and you get
  785. 29:50zero.
  786. 29:55Okay, so that's that.
  787. 29:58And then
  788. 30:00ooh.
  789. 30:01I'm going to erase this last bit to just
  790. 30:03cram things in, but hopefully that's
  791. 30:05okay.
  792. 30:06And then exercise two
  793. 30:10is to understand the nature of these
  794. 30:11matrices. So, it's like saying, "Oh, if
  795. 30:14this F
  796. 30:17has the property that it doesn't
  797. 30:19actually depend on the ith coordinate
  798. 30:22then you get something kind of simple
  799. 30:24here, or like rather
  800. 30:26if this means that like f of y equals f
  801. 30:28of y prime whenever they differ on the
  802. 30:31ith coordinate
  803. 30:32then you get like some cancellations
  804. 30:35here.
  805. 30:37And I'll just tell you what it turns
  806. 30:38into, but this is also a simple
  807. 30:40exercise.
  808. 30:42Um
  809. 30:44if you have some matrix M that looks
  810. 30:46like this, 2 to the minus L H
  811. 30:49uh a D where it doesn't depend on I's
  812. 30:52coordinate
  813. 30:56uh times H again.
  814. 31:00Then M is
  815. 31:04what I'll call
  816. 31:06I's
  817. 31:07coordinate
  818. 31:09block
  819. 31:11diagonal.
  820. 31:15That's a term I'm defining here.
  821. 31:17And what does that mean?
  822. 31:20Uh
  823. 31:23it just means
  824. 31:25that um you have a bunch of zeros in
  825. 31:26certain places. If UI differs from VI
  826. 31:31then MUV is zero. I'll draw a picture in
  827. 31:34a second.
  828. 31:40Okay, so as I said, you prove this by
  829. 31:43um showing oh, if U and V are two
  830. 31:45strings that differ in the I's
  831. 31:47coordinate, then this thing has a one in
  832. 31:49the I's coordinate
  833. 31:51which means that like when you dot it
  834. 31:52with Y, like YI is really like active in
  835. 31:55this exponent.
  836. 31:57So, you get plus or minus when you vary
  837. 31:59it, but then when you vary it these
  838. 32:00things it doesn't change, and that's why
  839. 32:01you get zeros.
  840. 32:05Let's try to like
  841. 32:07get a mental picture for this property.
  842. 32:10Uh I's coordinate block diagonal. So, I
  843. 32:13have conveniently like a 3 by 3 matrix
  844. 32:15over here.
  845. 32:17Um so, let me try to illustrate it.
  846. 32:21Okay, so again now the rows and columns
  847. 32:23are indexed by binary strings, so we got
  848. 32:25like 000, 001, 010, 011, 100, 101.
  849. 32:34Okay, the same in the rows.
  850. 32:39etc.
  851. 32:40Uh okay, so
  852. 32:42uh
  853. 32:43let's look at um third coordinate block
  854. 32:45diagonal. So, let's say third coordinate
  855. 32:47block diagonal.
  856. 32:58Okay, so that means you have zeros in
  857. 32:59certain locations. Like if your row and
  858. 33:02column indices differ on the third bit,
  859. 33:06then you have to have a zero.
  860. 33:08So, let's see.
  861. 33:10So, that means like
  862. 33:11um
  863. 33:15Let's see. So, here
  864. 33:17Oh, maybe we should do first coordinate
  865. 33:18block diagonal first.
  866. 33:20Is that better? Yeah, let's do first
  867. 33:22coordinate block diagonal. So, that
  868. 33:23means here 0 0 0. Uh you've got to have
  869. 33:25zeros whenever like the first coordinate
  870. 33:27of the row is
  871. 33:29one. So, you have to have like zeros
  872. 33:30here.
  873. 33:310 0 0 0. And this also starts with a
  874. 33:34zero, so you also have to have zeros
  875. 33:35here. This also starts with a zero. This
  876. 33:37also starts with a zero. So, this whole
  877. 33:40like top right you need to have zero.
  878. 33:43And similarly, these row indices all
  879. 33:44start with one. These ones all start
  880. 33:46with zero, so you have to have zeros
  881. 33:48here.
  882. 33:49There's no other restriction, so like
  883. 33:50this is star.
  884. 33:53Okay, so uh first coordinate block
  885. 33:55diagonal matrix is block diagonal that
  886. 33:58looks like this. Okay, now hopefully
  887. 33:59you're again like uh
  888. 34:01I can look at my phone, the plan like it
  889. 34:02has something about block diagonality on
  890. 34:04it. Like we're we're kind of getting
  891. 34:05there, you know?
  892. 34:07Um
  893. 34:09Maybe I'll ask you like what is
  894. 34:11at high level what does
  895. 34:13third coordinate block diagonal look
  896. 34:14like in this picture?
  897. 34:18Not that it's really important, but just
  898. 34:19to see if you're following along.
  899. 34:31Maybe it's hard to look at when I have
  900. 34:33content in here.
  901. 34:36>> [snorts]
  902. 34:41>> Okay, where are the forced zeros in the
  903. 34:43first row?
  904. 34:44>> [clears throat and cough]
  905. 34:46>> Every other one, yeah. So, like this one
  906. 34:47has to be zero, this one has to be zero,
  907. 34:48this one has to be zero, this one has to
  908. 34:50be zero. This ends in a one, so you have
  909. 34:51forced zeros
  910. 34:53uh when this guy has a zero at the end.
  911. 34:55So, zero zero zero zero. These ones are
  912. 34:58not forced.
  913. 35:03And actually then the pattern repeats
  914. 35:04like uh this ends in a zero, ends in a
  915. 35:07one, ends in a zero, ends in a one, ends
  916. 35:08in a zero, ends in a one. So, like uh
  917. 35:10it's checkerboard.
  918. 35:12Okay, so like each of these two by two
  919. 35:14blocks
  920. 35:16is diagonal.
  921. 35:19Okay, and then second coordinate block
  922. 35:21diagonal is annoying looking, but
  923. 35:24uh
  924. 35:25if you rearrange the rows and columns
  925. 35:26here to like change, let's say, the
  926. 35:28second coordinate into the first
  927. 35:29coordinate, which is like the most
  928. 35:31enjoyable coordinate, it means it's it's
  929. 35:33block diagonal in the nice way. Okay, so
  930. 35:35in particular, all these conditions mean
  931. 35:37that like
  932. 35:38there's a natural way to rearrange the
  933. 35:39rows and columns so that it looks like
  934. 35:42maybe the most pleasant
  935. 35:45notion of block diagonal, which is
  936. 35:47this one.
  937. 35:52Okay. So, great.
  938. 35:56So, now
  939. 36:00we will
  940. 36:03use these facts that we've learned
  941. 36:07to summarize everything we know about
  942. 36:08this polynomial family uh J of T. And
  943. 36:12this will be like our final bit of like
  944. 36:15messing around with matrices and then
  945. 36:16we'll like go back to the plan.
  946. 36:18Okay, so
  947. 36:20like our final glorious theorem
  948. 36:25re matrices
  949. 36:27uh yeah.
  950. 36:31Okay, so we have this like uh I'll just
  951. 36:32call it it's not too magic, but just so
  952. 36:35it's like a memorable adjective
  953. 36:36associated to it, we have a magic uh
  954. 36:41matrix polynomial.
  955. 36:45Uh
  956. 36:46matrix polynomial
  957. 36:48>> [applause]
  958. 36:50>> indexed
  959. 36:53by 0 1 to the n.
  960. 36:56Sorry, L.
  961. 36:58Um and has these properties, degree
  962. 37:03in T is D, which is this uh
  963. 37:07root L log L.
  964. 37:11And
  965. 37:12uh
  966. 37:13at zero it's this like anti-diagonal
  967. 37:15matrix X.
  968. 37:18>> [applause]
  969. 37:25>> Okay, and finally
  970. 37:28J I and this is as usual for I between 1
  971. 37:30and L.
  972. 37:33Um has this nice form, which I'll call
  973. 37:36like B I prime plus E prime.
  974. 37:40Uh where the good thing about E prime is
  975. 37:42it's of low rank.
  976. 37:44The rank is at most now
  977. 37:48plug in the actual value for epsilon,
  978. 37:49which is 1 over L to the 100 * 2 to the
  979. 37:51L.
  980. 37:53And the cool thing about this thing is
  981. 37:55that it's
  982. 37:57I coordinate block diagonal.
  983. 38:02>> [applause]
  984. 38:06>> Okay.
  985. 38:10Okay, so we have now
  986. 38:13discharge like all our work about the
  987. 38:15initial tool, the low degree polynomial
  988. 38:18that approximates parity.
  989. 38:20The whole purpose of it was to get this
  990. 38:23glorious
  991. 38:25matrix polynomial
  992. 38:27J F T.
  993. 38:30Which has the property that looks like
  994. 38:31this very special matrix X at zero,
  995. 38:34>> [snorts]
  996. 38:34>> which is sort of like the least
  997. 38:36block diagonal matrix, like
  998. 38:38um
  999. 38:39I don't know, it violates I block I
  1000. 38:42coordinate diagonality for all I.
  1001. 38:45But if you like go to all these other
  1002. 38:46points where I is between 1 and L,
  1003. 38:49it is basically I's coordinate block
  1004. 38:50diagonal
  1005. 38:51except for a low line low rank matrix.
  1006. 38:57Okay.
  1007. 38:58We're halfway done.
  1008. 39:00Any questions?
  1009. 39:03>> [snorts]
  1010. 39:04>> Now, we go back to the plan.
  1011. 39:07Let's stick with the plan.
  1012. 39:09As they say in Survivor.
  1013. 39:17Okay, so I'll briefly remind you of the
  1014. 39:18plan.
  1015. 39:23Uh
  1016. 39:24we're given
  1017. 39:26this like n by n matrix A
  1018. 39:29and it has like order one
  1019. 39:32non-zeros per row and column.
  1020. 39:35So, it's sparse like that.
  1021. 39:38You can make this order one three if you
  1022. 39:39want. So, I'll just imagine it's three,
  1023. 39:41but it also doesn't matter.
  1024. 39:43Um
  1025. 39:45and we want
  1026. 39:48uh
  1027. 39:50MATRIX POLYNOMIAL
  1028. 39:52>> [applause]
  1029. 39:53>> A OF T
  1030. 39:56uh
  1031. 39:57such that
  1032. 39:59for
  1033. 40:00L
  1034. 40:02in this
  1035. 40:04log n over log log n
  1036. 40:07>> [applause]
  1037. 40:09>> um the degree of A of T
  1038. 40:13should be at most basically root L.
  1039. 40:19And A of zero should be A.
  1040. 40:23And finally
  1041. 40:25again, for I between 1 and L
  1042. 40:30A of I should have some nice structure.
  1043. 40:32So, A of I
  1044. 40:33should be expressible as B I
  1045. 40:36plus E
  1046. 40:38where this one has rank
  1047. 40:42at most n over poly log.
  1048. 40:48And this one is a block diagonal
  1049. 40:51>> [applause]
  1050. 40:54>> with blocks of dimension at most n over
  1051. 40:57poly log.
  1052. 41:06And because these kind of matrices are
  1053. 41:08easy to compute their permanents
  1054. 41:10in like two to the n over poly log time.
  1055. 41:15Okay, so obviously we're going to be
  1056. 41:16using this this J to pull it off.
  1057. 41:19>> [clears throat and cough]
  1058. 41:21>> So,
  1059. 41:22yeah, I mean here's like an interesting
  1060. 41:23part of the whole story which is
  1061. 41:26you might think
  1062. 41:28A literally has absolutely no structure.
  1063. 41:31So, how in the world are we going to
  1064. 41:32turn it
  1065. 41:34or how are we going to get this like
  1066. 41:35polynomial
  1067. 41:37family
  1068. 41:38that equals this completely unstructured
  1069. 41:40matrix A at zero, but like all the other
  1070. 41:42values have this nice structure.
  1071. 41:45And all I can say is like, well,
  1072. 41:48there is one teeny tiny way in which A
  1073. 41:52actually does have structure.
  1074. 41:54And it's this. It has, you know, maybe
  1075. 41:58three non-zeros per row and column.
  1076. 42:00And like that's like the one thing that
  1077. 42:01we're really going to grab hold of to
  1078. 42:03make some progress.
  1079. 42:06So,
  1080. 42:08we're definitely going to want to start
  1081. 42:10viewing matrices A as like the incidence
  1082. 42:13matrix of n by n plus n bipartite
  1083. 42:16graphs. As is kind of standard.
  1084. 42:18So, we can picture A like this.
  1085. 42:21You got like a bipartite graph.
  1086. 42:23n vertices on each side.
  1087. 42:29Okay, for one second imagine A's entries
  1088. 42:31are zero and one. So, it's really the
  1089. 42:33incidence matrix of a bipartite graph.
  1090. 42:35Okay, so [snorts] the fact that it has
  1091. 42:36at most uh
  1092. 42:38constantly many non-zeros per row and
  1093. 42:39column means this is like a bounded
  1094. 42:41degree graph. Let's just imagine it has
  1095. 42:42degree three. You can reach that exact
  1096. 42:44case if you like. Um okay, so every
  1097. 42:46vertex has on the left this degree
  1098. 42:48three. Every vertex on the right also
  1099. 42:50has degree three.
  1100. 42:52Uh okay, so this is how we can picture
  1101. 42:55A.
  1102. 42:56And uh if A doesn't have zero one
  1103. 42:58entries, it's okay. Just think of a
  1104. 43:00weighted graph where like the weight on
  1105. 43:02an edge is the entry.
  1106. 43:07Okay.
  1107. 43:09So,
  1108. 43:10um
  1109. 43:12we want to make this a bit more
  1110. 43:13structured using the fact that
  1111. 43:16um
  1112. 43:19you know, it has constant degree.
  1113. 43:22So,
  1114. 43:24let's imagine that you
  1115. 43:27bucket the left and right vertices
  1116. 43:29SEPARATELY
  1117. 43:32>> [applause]
  1118. 43:36>> INTO
  1119. 43:38UM ABOUT square root n buckets.
  1120. 43:42Let's say 10 root n buckets.
  1121. 43:46>> [applause]
  1122. 43:47>> How are you going to do this? Well, I'll
  1123. 43:48say in a second, but first, this is not
  1124. 43:51exactly what you do, but just imagine
  1125. 43:52you bucket them randomly. You put each
  1126. 43:54vertex into on the left into like one of
  1127. 43:57B buckets randomly and on the right
  1128. 43:59randomly.
  1129. 44:01Um notice that you have
  1130. 44:04uh
  1131. 44:04B squared
  1132. 44:07equals 100 n BUCKET PAIRS.
  1133. 44:13UH LIKE CHOICES FOR A BUCKET ON THE LEFT
  1134. 44:15and a bucket on the right, and that's
  1135. 44:16much more than the number of edges.
  1136. 44:20Because I guess the number of edges is
  1137. 44:21like three times n.
  1138. 44:25So,
  1139. 44:27if [clears throat] for example, you
  1140. 44:27bucketed randomly,
  1141. 44:29you might like hope that um every edge
  1142. 44:32was in a like a different bucket pair.
  1143. 44:34Like if the bucket pair of an edge is
  1144. 44:35like the bucket of its left end point
  1145. 44:37and the bucket of its right end point.
  1146. 44:38Actually, that's probably not true
  1147. 44:40because of like some collisions or not
  1148. 44:42collisions, but there'll be like a
  1149. 44:44little bit of collisions.
  1150. 44:46But actually, I mean the randomness is
  1151. 44:47just for a like a little bit of thought
  1152. 44:48experiment. Um you can actually choose
  1153. 44:51the buckets simply so that this
  1154. 44:54literally happens.
  1155. 44:55And uh you just have to use the greedy
  1156. 44:57algorithm. So, I will just
  1157. 44:59also leave this as an exercise, but
  1158. 45:02there's like a simple deterministic
  1159. 45:05algorithm
  1160. 45:07TO BUCKET.
  1161. 45:11UH JUST LET ME DRAW A PICTURE HERE.
  1162. 45:14Like
  1163. 45:15I don't know some
  1164. 45:17Of course, they're not the buckets are
  1165. 45:18not going to actually be contiguous, but
  1166. 45:20um you know, you can rearrange your
  1167. 45:21graph after you've done the bucketing so
  1168. 45:23that they become contiguous.
  1169. 45:25Uh
  1170. 45:27such that um
  1171. 45:29you have uh
  1172. 45:31EACH BUCKET PAIR
  1173. 45:37HAS AT MOST ONE EDGE.
  1174. 45:42OKAY, SO actually for example, it won't
  1175. 45:43actually look like this because here we
  1176. 45:44have like a bucket pair of first bucket,
  1177. 45:46first bucket that has two edges. Maybe
  1178. 45:48I'll erase that.
  1179. 45:49Um possibly there's some other
  1180. 45:52counterexamples in this picture, so let
  1181. 45:53me actually
  1182. 45:54draw a better picture.
  1183. 46:05Um
  1184. 46:07So, I'll just draw the buckets here.
  1185. 46:08This is a bucket,
  1186. 46:09bucket, bucket,
  1187. 46:12bucket, bucket,
  1188. 46:15bucket. This is like bucket number one,
  1189. 46:17bucket number two,
  1190. 46:19da da da bucket number B is down here.
  1191. 46:22It's bucket number one,
  1192. 46:24bucket number two,
  1193. 46:25bucket number B is down here.
  1194. 46:28And uh let's say between bucket two and
  1195. 46:30bucket one you have like exactly one
  1196. 46:32edge. I want to draw the edges in color,
  1197. 46:34so let me try to
  1198. 46:36do that. Um let's say between bucket
  1199. 46:39number one and bucket two two you have
  1200. 46:40like exactly one edge.
  1201. 46:42And between uh I don't know, bucket two
  1202. 46:46and bucket one you might have like
  1203. 46:47exactly one edge. Never more than two
  1204. 46:50edges.
  1205. 46:51And maybe you have like some edge up
  1206. 46:53here.
  1207. 46:56And actually for some mild reason, which
  1208. 46:59is not super important, I actually want
  1209. 47:01to not have any edges that go from
  1210. 47:04between same-numbered buckets.
  1211. 47:06Okay, this is like a very minor
  1212. 47:07constraint, but like I'll just say also
  1213. 47:11no edges
  1214. 47:14in like BB bucket pairs.
  1215. 47:20Okay.
  1216. 47:21Um
  1217. 47:23Yeah.
  1218. 47:27Uh okay. So, you know, all the vertices
  1219. 47:29still have degree three on the left and
  1220. 47:30the right, but we have this situation.
  1221. 47:34And
  1222. 47:37let me do one other like super minor
  1223. 47:39thing, which is again, this is just for
  1224. 47:41like notational convenience, but it's
  1225. 47:43totally possible that some bucket pairs
  1226. 47:44will have zero edges between them, like
  1227. 47:47uh well, we we enforce it for like 1 1 2
  1228. 47:492 3 3, etc. But, it's also possible
  1229. 47:51there might not be any edge between
  1230. 47:53three and two.
  1231. 47:54In that case, just put an edge
  1232. 47:57and uh give it weight zero.
  1233. 47:59Okay, let's just it'll be like kind of
  1234. 48:01convenient to be able to say that like
  1235. 48:02for all bucket pairs other than this
  1236. 48:03one, you have exactly one edge.
  1237. 48:06Okay, and like put the zero-weight edge
  1238. 48:12edges if needed.
  1239. 48:17So, that I can say they have like
  1240. 48:19exactly one edge.
  1241. 48:24Uh okay, another way to think about it
  1242. 48:26is if you now imagine what A looks like
  1243. 48:28after you kind of reorganize its rows
  1244. 48:31and columns into buckets, it also has
  1245. 48:33like a block structure
  1246. 48:35where it has zero blocks on the
  1247. 48:37diagonal, that's this fact,
  1248. 48:39and in every other block, uh you have
  1249. 48:42exactly one non-zero.
  1250. 48:45Well, except for these like fictional
  1251. 48:46zeros, whatever.
  1252. 48:48Um
  1253. 48:50Moreover, the blocks have very small
  1254. 48:52dimension, right? The block sizes
  1255. 48:55Oh, I forgot to say this as well.
  1256. 48:58You have to make sure that these are
  1257. 48:59about the same size.
  1258. 49:07Okay, so it's still part of this greedy
  1259. 49:09exercise. You can also make sure that
  1260. 49:11like all the
  1261. 49:13buckets
  1262. 49:15have size about n over capital B, which
  1263. 49:17is also like root n.
  1264. 49:19Okay, so in this this block
  1265. 49:21matrix version of A that I'm imagining,
  1266. 49:24um these blocks have dimension about
  1267. 49:27square root n.
  1268. 49:32Okay.
  1269. 49:35Any question?
  1270. 49:37Okay, so we've got like a little bit of
  1271. 49:39structure out of capital A now.
  1272. 49:42And now we're going to try to like jam
  1273. 49:46this structure into the picture.
  1274. 49:50So this next
  1275. 49:53bit
  1276. 49:54eh
  1277. 49:56may look a little unmotivated, but it's
  1278. 49:59motivated by trying to jam this glorious
  1279. 50:02theorem into the picture.
  1280. 50:10So
  1281. 50:12>> [snorts]
  1282. 50:12>> I now want to turn this into a
  1283. 50:16tripartite graph
  1284. 50:18where I have some middle vertices.
  1285. 50:21And [snorts] the middle vertices, uh
  1286. 50:23hopefully I can not ruin this diagram.
  1287. 50:27Okay, I'm going to have like m equals b
  1288. 50:31times b minus 1. That's the number of
  1289. 50:33bucket pairs, middle vertices. The
  1290. 50:34number of bucket pairs other than this
  1291. 50:35kind.
  1292. 50:37I'm just going to stick them in here.
  1293. 50:40I'll redraw this in a second.
  1294. 50:42>> [clears throat]
  1295. 50:44>> And these are going to name the bucket
  1296. 50:46pairs. 1 2
  1297. 50:482 1
  1298. 50:501 3
  1299. 50:523 1
  1300. 50:54I don't know, like b b prime such that b
  1301. 50:56and b prime are different, etc.
  1302. 51:01And
  1303. 51:02uh
  1304. 51:03I [clears throat] also want to order
  1305. 51:04them in this way where a bucket pair and
  1306. 51:06its reverse come consecutively.
  1307. 51:11So, I want to just
  1308. 51:13change this. So, right now this this
  1309. 51:16bipartite graph I've Okay, forget I
  1310. 51:18inserted these vertices in the middle.
  1311. 51:20This bipartite graph is literally the
  1312. 51:21edge incidence matrix for A.
  1313. 51:23And what I'm about to do here is to make
  1314. 51:24a matrix factorization
  1315. 51:27where A equals L * R where L is going to
  1316. 51:32be
  1317. 51:33the
  1318. 51:34uh incidence matrix for this left
  1319. 51:36bipartite graph and R is going to be
  1320. 51:38this incidence matrix for this right
  1321. 51:39bipartite graph.
  1322. 51:41And here's how I I want to do it. You
  1323. 51:43see
  1324. 51:46here this edge this green edge goes from
  1325. 51:48bucket one to bucket two. I'm just going
  1326. 51:49to make it pass through a vertex one
  1327. 51:51two.
  1328. 51:52Okay, so I'm going to
  1329. 51:53put this
  1330. 51:55and then
  1331. 51:56uh
  1332. 51:57this.
  1333. 51:58Okay, and then I'm going to erase this.
  1334. 52:03Okay? And then this purple edge
  1335. 52:07you know, you just hop straight from
  1336. 52:09this vertex
  1337. 52:10uh in bucket two to this vertex in
  1338. 52:11bucket one. I'm going to not let you hop
  1339. 52:13straight there. I'm going to like have
  1340. 52:15you pass through two one.
  1341. 52:20And I'll show it also for the orange
  1342. 52:22one.
  1343. 52:23So, orange was going from uh bucket
  1344. 52:25three to bucket one. So, I'm going to
  1345. 52:26have it
  1346. 52:28pass through three one.
  1347. 52:34Okay, and so forth.
  1348. 52:36So, uh I'm going to do that um to make
  1349. 52:39this tripartite graph. And
  1350. 52:41um I want to claim that like all the
  1351. 52:44paths you had before from left to the
  1352. 52:45right, they were positive length one.
  1353. 52:47They're like uniquely identified with
  1354. 52:48paths from the same left vertex to the
  1355. 52:50same right vertex in this story.
  1356. 52:53And so, if L is like what matrix
  1357. 52:55multiplication means, if L is the
  1358. 52:56incidence matrix for this thing and R is
  1359. 52:58the matrix incidence matrix for this
  1360. 53:00thing, then you factorize A equals L *
  1361. 53:02R.
  1362. 53:04Well, I guess I told this story as
  1363. 53:06though all the edges had weight one.
  1364. 53:08Um but you know, if this green edge used
  1365. 53:11to have some weight
  1366. 53:12alpha, then
  1367. 53:14whatever, you can put the alpha here and
  1368. 53:16the one here, and now the product along
  1369. 53:18this is alpha again. So, you can put
  1370. 53:19like all the weights, let's say, in the
  1371. 53:21left bipartite graph and put all one
  1372. 53:24weights in the right bipartite graph,
  1373. 53:26and you're you're fine.
  1374. 53:28Okay? So, we've just taken this and
  1375. 53:30like,
  1376. 53:31you know, given like a little bit more
  1377. 53:32structure. Now, it is factorized this L
  1378. 53:34times R.
  1379. 53:36And just to think about the degrees
  1380. 53:37again, like every vertex on the left
  1381. 53:38still has degree three. Every vertex in
  1382. 53:41the middle has degree one to the left
  1383. 53:42and degree one to the right. It's very
  1384. 53:44simple because each bucket pair has
  1385. 53:46exactly one edge. So, it's degree one to
  1386. 53:48the left, degree one to the right.
  1387. 53:51Okay.
  1388. 53:56Now, we're going to make it weirder.
  1389. 53:58Okay.
  1390. 53:59So, uh
  1391. 54:01this is
  1392. 54:02hard to uh explain,
  1393. 54:05but I want to take this picture
  1394. 54:08and I want to make it quadripartite. I'm
  1395. 54:10going to like have an another middle
  1396. 54:12layer of vertices
  1397. 54:14in the middle.
  1398. 54:16And for whatever reason, I really want
  1399. 54:18X's down the middle of this picture. So,
  1400. 54:21I'll explain what I mean by that. So,
  1401. 54:22we're going to have uh
  1402. 54:26These are the middle vertices like
  1403. 54:28before.
  1404. 54:29This is like one, two,
  1405. 54:31two, one, one, three, three, one.
  1406. 54:36Oh man, I should have I should have I
  1407. 54:37shouldn't
  1408. 54:38mess it up too much like that. Uh we're
  1409. 54:40going to have another copy, so it's like
  1410. 54:41one, two,
  1411. 54:43two, one,
  1412. 54:46uh
  1413. 54:47one, three, three, one, four, four, one.
  1414. 54:50And we're going to fill up the same
  1415. 54:51buckets.
  1416. 55:01Okay, and I'll just tell you my weird
  1417. 55:02goal. My weird goal is I want to like
  1418. 55:05again have a picture that exactly
  1419. 55:06captures this exact same thing. Like
  1420. 55:08it's originally literally equivalent to
  1421. 55:10A. I'm just going to make these paths do
  1422. 55:12like a further like weird thing in the
  1423. 55:14middle.
  1424. 55:15And
  1425. 55:16because of
  1426. 55:18this X,
  1427. 55:20I just insist that I want the middle
  1428. 55:22layer to look like a bunch of X's.
  1429. 55:32There's actually a more normal thing I
  1430. 55:33could have done here. I could have made
  1431. 55:36these look like a bunch of parallel
  1432. 55:37edges. And then I wouldn't have to do
  1433. 55:39anything. I would just like take this
  1434. 55:40picture and like take these vertices and
  1435. 55:42just like make two copies and have a an
  1436. 55:44edge. And that would be the same as
  1437. 55:46inserting the identity matrix here.
  1438. 55:49Because like then
  1439. 55:51the matrix for like going straight
  1440. 55:53across is the identity matrix.
  1441. 55:56But for some weird reason, I really want
  1442. 55:58the X's in the middle.
  1443. 56:00So, okay. So, I just make it happen. Um
  1444. 56:05Formally, I think
  1445. 56:07uh you can do it by saying take this
  1446. 56:10matrix R,
  1447. 56:12it's an M by N matrix, and like
  1448. 56:14interchange all consecutive pairs of
  1449. 56:17rows,
  1450. 56:18and then stick an X in the middle, and
  1451. 56:21it works.
  1452. 56:22I'll try to do it in a picture.
  1453. 56:25So, it's just like Okay, we used to have
  1454. 56:27this green path and we want to keep it
  1455. 56:28alive. So, it started here and it went
  1456. 56:31to like one two. But now it's supposed
  1457. 56:34to end up in like bucket two,
  1458. 56:36but like it's sort of forced to go here.
  1459. 56:38So, we just I mean, we set it up so that
  1460. 56:40it looks like this. Okay?
  1461. 56:43And then like the purple one like it
  1462. 56:46went up here, it went to two one, and
  1463. 56:48then it was supposed to go into the
  1464. 56:49first bucket, and it it went up here,
  1465. 56:52and go like here.
  1466. 56:53>> [clears throat]
  1467. 56:54>> Try to do the orange one.
  1468. 56:56Went up to three one.
  1469. 56:58Uh
  1470. 56:59This
  1471. 57:00Yeah, yeah. That's this one maybe.
  1472. 57:03And then like I force it to go here, but
  1473. 57:05really it was supposed to go into here.
  1474. 57:06So, okay, it goes like that.
  1475. 57:08>> [snorts]
  1476. 57:10>> Um
  1477. 57:12Okay. So now like I guess that like it
  1478. 57:14used to be that like this vertex was
  1479. 57:18connected to 2 1 if
  1480. 57:21um in the original graph
  1481. 57:24uh it was in bucket one and its unique
  1482. 57:27edge
  1483. 57:28uh
  1484. 57:31was in bucket two. And anyway, we just
  1485. 57:34like reverse this convention here.
  1486. 57:37Okay, so
  1487. 57:39uh
  1488. 57:40As I said, what you really do is I mean
  1489. 57:41if you think about it for a little
  1490. 57:42while,
  1491. 57:44uh
  1492. 57:45this is kind of the same thing as the
  1493. 57:47original R, but maybe every consecutive
  1494. 57:49pairs of rows is interchanged.
  1495. 57:52And then [snorts]
  1496. 57:53this matrix, well, I'll get back to it
  1497. 57:55in a second. This is still literally L.
  1498. 57:58And we've achieved this factorization.
  1499. 57:59And what is this matrix?
  1500. 58:02It's
  1501. 58:03diag
  1502. 58:05X X
  1503. 58:08X.
  1504. 58:10So what do I mean by that?
  1505. 58:13Oh boy.
  1506. 58:17Yeah, I'm going to erase this.
  1507. 58:25Okay, so
  1508. 58:28this MIDDLE MATRIX
  1509. 58:32THE INCIDENCE MATRIX FOR ALL THESE like
  1510. 58:34X's that I decided to force in there.
  1511. 58:37What does it look like?
  1512. 58:40Well,
  1513. 58:41its rows and columns is like M by M.
  1514. 58:44Rows and columns are like 1 2 2 1 1 3 3
  1515. 58:491 etc.
  1516. 58:521 2
  1517. 58:542 1 so forth.
  1518. 58:56And it's it's naturally divided into
  1519. 58:58like 2 by 2 blocks
  1520. 59:00corresponding to a bucket pair and its
  1521. 59:01reverse.
  1522. 59:03And uh I mean there's mostly no edges
  1523. 59:05going from the left to the right here,
  1524. 59:06but so this is actually all zeros. This
  1525. 59:08is all zeros. And then each little
  1526. 59:11matrix here
  1527. 59:13is this
  1528. 59:15crossing matrix. This This little matrix
  1529. 59:17here is capital X, this 2 by 2 matrix.
  1530. 59:21So, yeah, this is the matrix for like
  1531. 59:23this middle bipartite graph.
  1532. 59:25Okay, and with the more natural thing
  1533. 59:26where I just made all the edges go
  1534. 59:27across, like these would all be 2 by 2
  1535. 59:29identity matrices, and then actually the
  1536. 59:31whole thing would be an identity matrix.
  1537. 59:38Okay, now
  1538. 59:40Any questions besides why did you do
  1539. 59:42this? Or yeah.
  1540. 59:47Okay.
  1541. 59:50Oh, boy.
  1542. 59:51I need more space.
  1543. 59:54Uh okay, I'm going to erase this. So,
  1544. 59:57we've got to here.
  1545. 59:59Yeah.
  1546. 1:00:01Oh, well, anyway.
  1547. 1:00:02So,
  1548. 1:00:03here's the thought experiment. Like this
  1549. 1:00:05is still A, but remember what are we
  1550. 1:00:07trying to do? We're trying to make
  1551. 1:00:08variants of A
  1552. 1:00:10The plan says you're trying to make
  1553. 1:00:11variants of A that have like more
  1554. 1:00:12structure in them, and hopefully also
  1555. 1:00:15the permanent of your variant is related
  1556. 1:00:17to the permanent of A, but let's just
  1557. 1:00:18think about the first question of like
  1558. 1:00:20let's make a variant of A that has more
  1559. 1:00:21structure.
  1560. 1:00:23So,
  1561. 1:00:24thought experiment.
  1562. 1:00:29>> [applause]
  1563. 1:00:31>> UM
  1564. 1:00:33CHANGE
  1565. 1:00:36ALL the X's in the middle
  1566. 1:00:42to I's.
  1567. 1:00:45That's
  1568. 1:00:462 by 2 identity matrices. So, in this
  1569. 1:00:48picture that I just hopefully erased,
  1570. 1:00:51you know, I had all these like 2 by 2 X
  1571. 1:00:52matrices on the diagonal, just imagine
  1572. 1:00:54changing them all to I's.
  1573. 1:00:56Okay, so
  1574. 1:00:57uh
  1575. 1:00:59can I do this?
  1576. 1:01:01Okay, let me try to do this
  1577. 1:01:03here. It's going to be terrible, but
  1578. 1:01:07Okay.
  1579. 1:01:08Well, I'll I'll do it a little bit. So,
  1580. 1:01:10it's like we're going to like uncross
  1581. 1:01:11all these middle guys. So, let me just
  1582. 1:01:13uncross this one for a moment.
  1583. 1:01:17Like I changed it to an I.
  1584. 1:01:20And
  1585. 1:01:22you know, this is going to become down
  1586. 1:01:23here.
  1587. 1:01:24I guess what I'm imagining is like you
  1588. 1:01:26consider A sub new, which is L times
  1589. 1:01:29diag
  1590. 1:01:31I I da da da da I
  1591. 1:01:34times this R
  1592. 1:01:36prime.
  1593. 1:01:39And
  1594. 1:01:41yeah, this one maybe I'll also imagine
  1595. 1:01:43changing to straight across.
  1596. 1:01:46And let me ask you now,
  1597. 1:01:49what kind of structure will this A new
  1598. 1:01:52have now that we've put these cross
  1599. 1:01:53uncrossed
  1600. 1:01:55yellow edges in?
  1601. 1:01:57Like in the final matrix, which this
  1602. 1:02:00final matrix of course is expressing
  1603. 1:02:02its vertex, its rows are this, its
  1604. 1:02:05columns are this, and
  1605. 1:02:07an entry is expressing the
  1606. 1:02:10the number of ways to get from this
  1607. 1:02:12vertex to that vertex or
  1608. 1:02:14the weight of ways to get from this
  1609. 1:02:16vertex to this vertex.
  1610. 1:02:17So, what kind of structure does it have
  1611. 1:02:19or do you notice anything about its
  1612. 1:02:20structure?
  1613. 1:02:23>> It would be almost symmetric.
  1614. 1:02:26>> A
  1615. 1:02:28little bit, in what sense?
  1616. 1:02:29>> Uh the entries
  1617. 1:02:32Uh the entries
  1618. 1:02:34are the same.
  1619. 1:02:36>> Is
  1620. 1:02:37that so? Yeah, well, it's an undirected
  1621. 1:02:42Is that right?
  1622. 1:02:43Um
  1623. 1:02:48Uh [groaning]
  1624. 1:02:50I think that's true. Well, maybe except
  1625. 1:02:52for the fact that there's weights, but
  1626. 1:02:53yeah.
  1627. 1:02:58Um maybe it's hard to tell.
  1628. 1:03:01Uh
  1629. 1:03:05I guess what I'm going for is it's
  1630. 1:03:07actually kind of block diagonal. Like
  1631. 1:03:09bucket one here, if you start here,
  1632. 1:03:11which is in bucket one, you go across,
  1633. 1:03:14you end at bucket one. If If here in
  1634. 1:03:16bucket two, you go up, you go across,
  1635. 1:03:18you end at bucket two.
  1636. 1:03:20And okay, this this one we didn't draw,
  1637. 1:03:22but um
  1638. 1:03:25it's the same thing.
  1639. 1:03:28>> [snorts]
  1640. 1:03:28>> Uh
  1641. 1:03:30So, that's the nature of this. So, if
  1642. 1:03:33you do that, then maybe with like more
  1643. 1:03:35pictures it would have been good, but
  1644. 1:03:38uh
  1645. 1:03:40and A new
  1646. 1:03:44is block DIAGONAL
  1647. 1:03:49WITH RESPECT
  1648. 1:03:52TO the buckets.
  1649. 1:03:55>> [applause]
  1650. 1:03:59>> Okay, so like it used to be that like A
  1651. 1:04:01you know, maybe before you like the
  1652. 1:04:02buckets were like this.
  1653. 1:04:04We used to have the situation where this
  1654. 1:04:05was zeros, and then we had like one one,
  1655. 1:04:08or I suppose one non-zero in each thing
  1656. 1:04:10here.
  1657. 1:04:11And like A new
  1658. 1:04:15uh is actually going to be
  1659. 1:04:21like this.
  1660. 1:04:25Now, these entries are not going to be
  1661. 1:04:26like they're going to be like sums of
  1662. 1:04:28entries in here. So, these will not like
  1663. 1:04:30have just one one, but it'll look like
  1664. 1:04:32this shape.
  1665. 1:04:35>> [sighs]
  1666. 1:04:36>> Um
  1667. 1:04:39Maybe we should do one more example.
  1668. 1:04:40Let's see. So, like
  1669. 1:04:42perhaps [snorts]
  1670. 1:04:44uh
  1671. 1:04:46Okay, hopefully I don't botch this on
  1672. 1:04:48the spot. 1 2 2 1
  1673. 1:04:511 3 3 1
  1674. 1:04:55Uh oh, maybe like this was 1 3.
  1675. 1:05:00So, this guy has degree one.
  1676. 1:05:02Um
  1677. 1:05:03uh to the left. So, it means it's coming
  1678. 1:05:05from like the
  1679. 1:05:07original edge
  1680. 1:05:08that went from bucket one to bucket
  1681. 1:05:10three. So, maybe in the original
  1682. 1:05:12original A there was like some reddish
  1683. 1:05:14edge that went from one to three.
  1684. 1:05:17Um
  1685. 1:05:19So, we did this.
  1686. 1:05:21Uh
  1687. 1:05:22well, and then among other things, you
  1688. 1:05:24see again that like okay, this path now
  1689. 1:05:26goes from one to one.
  1690. 1:05:32Okay.
  1691. 1:05:35And
  1692. 1:05:36this is actually awesome. This is like
  1693. 1:05:38superly great structured
  1694. 1:05:41because it's block diagonal and these
  1695. 1:05:43blocks are the bucket sizes which are
  1696. 1:05:46size like root n.
  1697. 1:05:51So, if you think about the plan, okay,
  1698. 1:05:54it still doesn't exactly pattern match,
  1699. 1:05:55but um
  1700. 1:05:57this A new is like even like much better
  1701. 1:06:00than this. First of all, there's no rank
  1702. 1:06:02error at all in A new.
  1703. 1:06:04And this block structure is um
  1704. 1:06:07way better. The blocks are of dimension
  1705. 1:06:09root n.
  1706. 1:06:11So,
  1707. 1:06:13uh
  1708. 1:06:14it's almost like we did too good here
  1709. 1:06:16because like we we you know we're
  1710. 1:06:18probably going to need to allow this
  1711. 1:06:19slack and this slack and we got
  1712. 1:06:20something that's too good. And you see
  1713. 1:06:23uh
  1714. 1:06:23well, we didn't succeed with the rest of
  1715. 1:06:25this stuff. Like we just kind of made up
  1716. 1:06:26this matrix A new.
  1717. 1:06:28And we could strive to maybe like pass a
  1718. 1:06:33matrix polynomial between A and A new
  1719. 1:06:36to try to like get this going.
  1720. 1:06:39But
  1721. 1:06:40there's only like two points here. This
  1722. 1:06:42would be like the zero point and this
  1723. 1:06:43would be like the other point and like
  1724. 1:06:44that's no good. Like we really needed
  1725. 1:06:47like to make this matrix polynomial like
  1726. 1:06:49have as many points involved as we
  1727. 1:06:51could.
  1728. 1:06:52So,
  1729. 1:06:54this doesn't quite work, but it's the
  1730. 1:06:57right idea.
  1731. 1:07:03Any questions?
  1732. 1:07:06Yeah.
  1733. 1:07:07>> Is there
  1734. 1:07:08like a
  1735. 1:07:09yeah, relationship between the format of
  1736. 1:07:11A new and that of A? I guess what you're
  1737. 1:07:15trying to say seems to me now that
  1738. 1:07:17>> [clears throat]
  1739. 1:07:17>> this kind of like packaging of the
  1740. 1:07:19bipartite graph is
  1741. 1:07:22it seems like it's already I guess
  1742. 1:07:24like making like the matrix I don't know
  1743. 1:07:27which
  1744. 1:07:28is like what do you do the result I
  1745. 1:07:30don't know I guess.
  1746. 1:07:32>> This
  1747. 1:07:33is what originally A is not block
  1748. 1:07:35diagonal it's just block structured. So
  1749. 1:07:38like there's no reason and like the
  1750. 1:07:39whole problem is how could you compute
  1751. 1:07:41the permanent of this fast? You could
  1752. 1:07:43definitely compute the permanent of this
  1753. 1:07:44fast but as you say like two to the root
  1754. 1:07:46n time but like there's not an obvious
  1755. 1:07:48connection between the permanent of the
  1756. 1:07:49two of them.
  1757. 1:07:50I mean they are
  1758. 1:07:52they're related in this way.
  1759. 1:07:54Um
  1760. 1:07:56and maybe you can even a little bit see
  1761. 1:07:59we kind of want to like get some
  1762. 1:08:01relationship here
  1763. 1:08:03and that's where this like J is going to
  1764. 1:08:05play a role like J is going to somehow
  1765. 1:08:07again it doesn't quite match up yet but
  1766. 1:08:08like J is going to kind of match us from
  1767. 1:08:11like an X type it's going to interpolate
  1768. 1:08:14between an X type matrix and a matrix
  1769. 1:08:17that's like more block diagonal than
  1770. 1:08:19X's.
  1771. 1:08:21And by cramming all [snorts]
  1772. 1:08:24something we're almost done by like
  1773. 1:08:25cramming J's in here instead of X's
  1774. 1:08:28we're going to
  1775. 1:08:30uh
  1776. 1:08:31like make a polynomial interpolation
  1777. 1:08:32between A and several different
  1778. 1:08:36reasonably well structured matrices.
  1779. 1:08:42Okay so we're on to the final idea.
  1780. 1:08:45Uh
  1781. 1:08:47let me erase this again.
  1782. 1:08:49This is truly the last idea. Um
  1783. 1:08:58So somehow like these buckets are like
  1784. 1:09:00two course or something so
  1785. 1:09:03uh
  1786. 1:09:06we're going to um
  1787. 1:09:08not number the buckets just one through
  1788. 1:09:11B anymore
  1789. 1:09:13or
  1790. 1:09:14um
  1791. 1:09:15index the buckets
  1792. 1:09:22not with numbers one through capital B
  1793. 1:09:24with
  1794. 1:09:26strings
  1795. 1:09:29in
  1796. 1:09:31sigma to the L.
  1797. 1:09:34And so, we're just going to name them
  1798. 1:09:35after strings, not binary strings, but
  1799. 1:09:37strings over a larger alphabet.
  1800. 1:09:39And um,
  1801. 1:09:41when we do this, it's going to be
  1802. 1:09:43important that the size of the alphabet
  1803. 1:09:46is bigger than log n for some
  1804. 1:09:49technical reasons I won't get into. So,
  1805. 1:09:52we can set it to be like log squared n
  1806. 1:09:54for safety.
  1807. 1:09:56Okay, so we need that.
  1808. 1:09:58And then, we need that the cardinality
  1809. 1:09:59of this
  1810. 1:10:01this should have size
  1811. 1:10:03B, which was square root n or 10 square
  1812. 1:10:06root n or something.
  1813. 1:10:08So,
  1814. 1:10:09this is finally where L comes in.
  1815. 1:10:13This has to be bigger than log n.
  1816. 1:10:15And then, the size of this set of
  1817. 1:10:17strings should be like root n. So, we
  1818. 1:10:19need what value of L solves this?
  1819. 1:10:22Um, well, I mean, you need that like L
  1820. 1:10:24log cardinality of sigma equals log of
  1821. 1:10:27B.
  1822. 1:10:29And that solves to
  1823. 1:10:31uh, L is proportional to
  1824. 1:10:34log B, which is log n
  1825. 1:10:36up to constant over log sigma, which is
  1826. 1:10:38like log log n.
  1827. 1:10:43Okay, so we're going to name our buckets
  1828. 1:10:44after strings like this.
  1829. 1:10:53And um,
  1830. 1:10:59uh, we're going to repeat the exact same
  1831. 1:11:01like bucketing that I started with,
  1832. 1:11:03where I just like, okay, we're going to
  1833. 1:11:04like
  1834. 1:11:05bucket
  1835. 1:11:07buckets of size B, except the buckets
  1836. 1:11:09are just going to be named with I don't
  1837. 1:11:12know, this will be named like
  1838. 1:11:13000 if L is 3, 001,
  1839. 1:11:17002,
  1840. 1:11:1900 sigma, whatever. Um, and you know,
  1841. 1:11:21we're going to have like exactly one
  1842. 1:11:23edge.
  1843. 1:11:24Oops, none of these.
  1844. 1:11:27Um,
  1845. 1:11:28and we're going to like that little
  1846. 1:11:30greedy algorithm we're going to
  1847. 1:11:31do arrange the buckets like this.
  1848. 1:11:36We're going to add like one more. This
  1849. 1:11:37is again [laughter] very minor, but like
  1850. 1:11:38constraint
  1851. 1:11:40that you know before I said like oh I
  1852. 1:11:42don't want any buckets to go straight
  1853. 1:11:44across.
  1854. 1:11:45Uh I want like no edges
  1855. 1:11:49in bucket pairs
  1856. 1:11:56BB' prime. These are not strings unless
  1857. 1:11:58they have Hamming distance N or L.
  1858. 1:12:05So actually most typical pairs of
  1859. 1:12:06strings actually do have maximal Hamming
  1860. 1:12:08distance, so it's fine.
  1861. 1:12:14>> [snorts]
  1862. 1:12:16>> So you know like now like maybe a
  1863. 1:12:18typical
  1864. 1:12:20bucket pair
  1865. 1:12:24Now I'll just illustrate with an L
  1866. 1:12:26equals three
  1867. 1:12:27and sigma equals some numbers like
  1868. 1:12:29digits might be like um I don't know 732
  1869. 1:12:34{comma} 815. That's in
  1870. 1:12:37sigma three cross sigma three if we're
  1871. 1:12:39imagining
  1872. 1:12:41uh L is three and sigma is at least you
  1873. 1:12:44know the number of digits.
  1874. 1:12:48Okay, so [snorts] like you know down
  1875. 1:12:49here we might have like 732 and like 815
  1876. 1:12:53and then there's some
  1877. 1:12:55edge between them and indeed these two
  1878. 1:12:56strings have Hamming distance three, so
  1879. 1:12:57it's okay.
  1880. 1:13:00Um
  1881. 1:13:01Okay.
  1882. 1:13:03We're almost done genuinely. Hang in
  1883. 1:13:04there. Um
  1884. 1:13:06So
  1885. 1:13:07before you have like to make this work
  1886. 1:13:09it was like mildly important that
  1887. 1:13:12you know we picked a nice ordering for
  1888. 1:13:13the bucket pairs. These These were named
  1889. 1:13:15by bucket pairs, right? So we did one
  1890. 1:13:16two and then it's reverse two one and
  1891. 1:13:18then we did one three and then it's
  1892. 1:13:19reverse three one.
  1893. 1:13:20>> [snorts]
  1894. 1:13:20>> So the bucket pairs were like naturally
  1895. 1:13:21grouped into pairs of size two
  1896. 1:13:24and we put like X's on the pairs.
  1897. 1:13:27Okay?
  1898. 1:13:28Now our you know our bucket pairs look
  1899. 1:13:30like this.
  1900. 1:13:32And I claim these
  1901. 1:13:34can naturally get grouped up
  1902. 1:13:36into groups of cardinality two to the L.
  1903. 1:13:41So, [snorts]
  1904. 1:13:42um
  1905. 1:13:43it's going to be kind of a picture here
  1906. 1:13:44where like we'll get like a group of
  1907. 1:13:45size two to the L or index by zero one
  1908. 1:13:48to the L here
  1909. 1:13:49and zero one to the L here and also here
  1910. 1:13:52and also here.
  1911. 1:13:53And like instead of enforcing that like
  1912. 1:13:55these plain X's go across, we're going
  1913. 1:13:57to enforce that literally this script X
  1914. 1:13:59goes across.
  1915. 1:14:01And
  1916. 1:14:02it's not super important, but like how
  1917. 1:14:04is this grouped up?
  1918. 1:14:06Uh this particular one would go into the
  1919. 1:14:08group
  1920. 1:14:10whose group name
  1921. 1:14:12is um
  1922. 1:14:15uh
  1923. 1:14:17seven and eight,
  1924. 1:14:19one and three,
  1925. 1:14:21and like two and five.
  1926. 1:14:25So, what's going on here?
  1927. 1:14:28I would like to group together all
  1928. 1:14:29bucket pairs into a let's say a group
  1929. 1:14:31like this. This means that in the two
  1930. 1:14:33bucket pair names, uh the first
  1931. 1:14:36coordinates have seven and eight in some
  1932. 1:14:38order. The second coordinates have one
  1933. 1:14:39and three in some order. And the third
  1934. 1:14:41coordinates have two and five in some
  1935. 1:14:42order.
  1936. 1:14:44And then within this group
  1937. 1:14:51you can like pin down
  1938. 1:14:55like a particular bucket pair
  1939. 1:15:00using
  1940. 1:15:02some string like U in zero one to the L.
  1941. 1:15:08>> [snorts]
  1942. 1:15:08>> Informally like inside this group, if I
  1943. 1:15:10give you like, I don't know, U equals
  1944. 1:15:13zero one zero, say,
  1945. 1:15:15the convention is that means like okay,
  1946. 1:15:17the the left
  1947. 1:15:19string should have the smaller of the
  1948. 1:15:21two digits if it's zero. And one means
  1949. 1:15:24like the the left string here should
  1950. 1:15:26have the larger of the two digits. And
  1951. 1:15:28like the this one being zero like the
  1952. 1:15:30third bit or third symbol should be uh
  1953. 1:15:33smaller, the last one should be the
  1954. 1:15:34smaller of the two.
  1955. 1:15:36Okay, I mean that's actually not very
  1956. 1:15:37important, but just within this group,
  1957. 1:15:39you get like two to the L
  1958. 1:15:41bucket pairs that look like this, and
  1959. 1:15:43they're naturally indexed by binary
  1960. 1:15:45strings.
  1961. 1:15:48Okay, so
  1962. 1:15:54um
  1963. 1:15:58So, the point is we do the exact same
  1964. 1:16:01thing as before, except now like our
  1965. 1:16:04inside vertices have like different
  1966. 1:16:05names,
  1967. 1:16:06and they're naturally like grouped into
  1968. 1:16:08groups that are
  1969. 1:16:10indexed by 0 1 to the L.
  1970. 1:16:20And before, you know, we were like, "Oh,
  1971. 1:16:22the most natural thing would just be to
  1972. 1:16:23put the identity matrix here and have it
  1973. 1:16:25go across."
  1974. 1:16:26Instead, because to make this all work,
  1975. 1:16:28we're really going to be like, "No, no,
  1976. 1:16:29no, we're going to put in
  1977. 1:16:31the
  1978. 1:16:33bipartite graph corresponding to this
  1979. 1:16:34special script X matrix, which is really
  1980. 1:16:36like this anti-diagonal matrix that like
  1981. 1:16:38goes
  1982. 1:16:39goes that it's like this.
  1983. 1:16:45Okay, this is like script X. Like a bit
  1984. 1:16:47string here is connected to its
  1985. 1:16:50bitwise negation.
  1986. 1:16:52Okay? But, it's fine. You can always
  1987. 1:16:54rearrange the right-hand side
  1988. 1:16:55appropriately because these are just
  1989. 1:16:57This is like a matching, so you just
  1990. 1:16:59you just reshuffle things around.
  1991. 1:17:02So, what I'm saying is you can arrange
  1992. 1:17:04that A looks like L times
  1993. 1:17:09diag script X script X
  1994. 1:17:12{dot} {dot} {dot} script X.
  1995. 1:17:15And this is like a little bit different
  1996. 1:17:16here. This middle matrix,
  1997. 1:17:19you know, used to be these like two by
  1998. 1:17:20two X's down the diagonal.
  1999. 1:17:22Now, it's like
  2000. 1:17:25these like a two to the L by two to the
  2001. 1:17:27L X's down the diagonal. But, okay.
  2002. 1:17:33Okay.
  2003. 1:17:35Uh
  2004. 1:17:37Okay.
  2005. 1:17:39And naturally, uh we're going to be like
  2006. 1:17:41jamming uh JIs in the in place of these
  2007. 1:17:45script axes.
  2008. 1:17:48So,
  2009. 1:17:49uh
  2010. 1:17:50Sorry.
  2011. 1:17:51Um
  2012. 1:18:00>> [clears throat]
  2013. 1:18:00>> Okay, so now remember we did before this
  2014. 1:18:02like thought experiment where we had the
  2015. 1:18:03little axes and I was like, "Oh, what
  2016. 1:18:05happens if you change them to straight
  2017. 1:18:06across eyes?" Oh, then the new thing
  2018. 1:18:10would be
  2019. 1:18:13block diagonal.
  2020. 1:18:14So, it's similar here and I call this an
  2021. 1:18:16exercise. Um
  2022. 1:18:18if you have some matrix
  2023. 1:18:22X hat I
  2024. 1:18:24and it's
  2025. 1:18:26I's coordinate BLOCK DIAGONAL.
  2026. 1:18:34THEN, UH FOR SOME I
  2027. 1:18:37then if you form A L times diag of this
  2028. 1:18:41thing
  2029. 1:18:42where you change them all to X hat I's
  2030. 1:18:48then uh
  2031. 1:18:49you don't get this like glorious block
  2032. 1:18:51diagonal matrix with blocks of size root
  2033. 1:18:53N, but it's still good. Um this IS BLOCK
  2034. 1:18:57DIAGONAL
  2035. 1:18:58>> [applause]
  2036. 1:19:01>> WITH BLOCKS
  2037. 1:19:04of dimension
  2038. 1:19:07at most
  2039. 1:19:08N over size of your alphabet.
  2040. 1:19:11Cuz somehow you get like
  2041. 1:19:13like only you kind of like only uncross
  2042. 1:19:15one coordinate.
  2043. 1:19:17And so, you don't get like the full
  2044. 1:19:18savings, but you get like savings equal
  2045. 1:19:20to like the size of the alphabet.
  2046. 1:19:22Then you have to take that as a uh a
  2047. 1:19:25little exercise. But that's great
  2048. 1:19:27because we set up the alphabet to be
  2049. 1:19:28like, okay, like a little bit bigger
  2050. 1:19:29than log N. So, this is still fine
  2051. 1:19:32for this point of view.
  2052. 1:19:34Cuz it's block diagonal with blocks of
  2053. 1:19:35dimension N over poly log N.
  2054. 1:19:39Okay. So, now we are
  2055. 1:19:42uh
  2056. 1:19:43done.
  2057. 1:19:44Uh so, to complete the plan,
  2058. 1:19:47this plan here,
  2059. 1:19:49>> [applause]
  2060. 1:19:55>> UH WE JUST DEFINE
  2061. 1:19:58A SUB OF T to be L times diag
  2062. 1:20:05like J T J T
  2063. 1:20:10J T
  2064. 1:20:11>> [applause]
  2065. 1:20:12>> times R prime
  2066. 1:20:14like down here.
  2067. 1:20:16And we did it. So, it's a matrix
  2068. 1:20:19polynomial.
  2069. 1:20:20Uh its degree is the same as the degree
  2070. 1:20:23of J, which is this D.
  2071. 1:20:26And if you plug in zero for T
  2072. 1:20:30here, then all these script J's become
  2073. 1:20:33script X's and we get the exact uh
  2074. 1:20:35factorization of A.
  2075. 1:20:38And finally, for T being uh or I being
  2076. 1:20:41one through L,
  2077. 1:20:42uh
  2078. 1:20:43for any I like that, if you plug it in
  2079. 1:20:45here, you'll get like an X hat I, which
  2080. 1:20:47is
  2081. 1:20:48um
  2082. 1:20:50I'th coordinate block diagonal plus low
  2083. 1:20:52rank.
  2084. 1:20:54So, [snorts] this thing will become like
  2085. 1:20:57L times diag
  2086. 1:21:00of like
  2087. 1:21:01I'th coordinate block diagonal
  2088. 1:21:04plus low rank.
  2089. 1:21:07And like many copies of that.
  2090. 1:21:10Okay, and it's linear, so you can pull
  2091. 1:21:11out this piece and the L times the block
  2092. 1:21:13diagonal times R prime
  2093. 1:21:16is block diagonal with blocks of
  2094. 1:21:17dimension at most n over poly-log-n.
  2095. 1:21:19And then the L times low rank times R
  2096. 1:21:22prime things,
  2097. 1:21:23uh they stay low rank and it it stacks
  2098. 1:21:25up. So, like this
  2099. 1:21:30each piece has like fractional rank at
  2100. 1:21:31most
  2101. 1:21:33L to the 100, 1 over L to the 100.
  2102. 1:21:38So, the overall rank of the diagonalized
  2103. 1:21:40version of this low rank thing
  2104. 1:21:42>> [snorts and clears throat]
  2105. 1:21:42>> uh is overall fractional rank 1 over L
  2106. 1:21:44to the 100 and L is like log n, so you
  2107. 1:21:47get fractional rank like n over
  2108. 1:21:50log to the 100 basically.
  2109. 1:21:53And that's it.
  2110. 1:21:55Okay, so we'll get back to regularly
  2111. 1:21:56scheduled programming next time.

About this transcript

This page contains the full transcript of ETH False II: completing the proof by Ryan O'Donnell, generated from the public captions YouTube serves with the video. The transcript has 11,374 words across 2,111 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.