|
4 | 4 | "cell_type": "markdown", |
5 | 5 | "metadata": {}, |
6 | 6 | "source": [ |
7 | | - "# Eigenvalues and Eigenvectors\n" |
| 7 | + "# Eigenvalues and Eigenvectors\n", |
| 8 | + "\n", |
| 9 | + "$~$" |
8 | 10 | ] |
9 | 11 | }, |
10 | 12 | { |
|
369 | 371 | { |
370 | 372 | "data": { |
371 | 373 | "text/html": [ |
372 | | - "<div style=\"height:40px\"></div><div class=\"flip-container\" id=\"NwVPXDktrHPg\" tabindex=\"0\" style=\"outline:none;\"></div><div style=\"height:40px\"></div><div class=\"next\" id=\"NwVPXDktrHPg-next\" onclick=\"window.checkFlip('NwVPXDktrHPg')\"> </div> <div style=\"height:40px\"></div>" |
| 374 | + "<div style=\"height:40px\"></div><div class=\"flip-container\" id=\"FairJEVINolE\" tabindex=\"0\" style=\"outline:none;\"></div><div style=\"height:40px\"></div><div class=\"next\" id=\"FairJEVINolE-next\" onclick=\"window.checkFlip('FairJEVINolE')\"> </div> <div style=\"height:40px\"></div>" |
373 | 375 | ], |
374 | 376 | "text/plain": [ |
375 | 377 | "<IPython.core.display.HTML object>" |
|
499 | 501 | " next.classList.add('hide');\n", |
500 | 502 | "\n", |
501 | 503 | " //container.classList.add(\"prepare\");\n", |
502 | | - " \n", |
| 504 | + "\n", |
503 | 505 | " container.className=\"flip-container slide\";\n", |
| 506 | + "\n", |
504 | 507 | " backcard.parentElement.removeChild(frontcard);\n", |
505 | 508 | " backcard.parentElement.appendChild(frontcard);\n", |
| 509 | + "\n", |
506 | 510 | " setTimeout(slideback, 600, container, frontcard, backcard, next);\n", |
507 | | - " \n", |
| 511 | + "\n", |
508 | 512 | "}\n", |
509 | 513 | "\n", |
510 | 514 | "\n", |
|
536 | 540 | "\n", |
537 | 541 | " let cardOrder = JSON.parse(container.dataset.cardOrder);\n", |
538 | 542 | "\n", |
539 | | - " var cards=eval('cards'+container.id);\n", |
| 543 | + " //var cards=eval('cards'+container.id);\n", |
| 544 | + " var cards=JSON.parse(container.dataset.cards);\n", |
540 | 545 | "\n", |
541 | 546 | " var flipper=createOneCard(container, false, cards, cardOrder[cardnum], cardnum);\n", |
542 | 547 | " container.append(flipper);\n", |
543 | 548 | " cardnum= (cardnum+1) % parseInt(container.dataset.numCards);\n", |
544 | | - " if ((cardnum == 0) && (container.dataset.shuffleCards == \"True\")) {\n", |
| 549 | + " if ((cardnum == 0) && (container.dataset.shuffleCards == \"true\")) {\n", |
545 | 550 | " cardOrder = randomOrderArray(parseInt(container.dataset.numCards));\n", |
546 | 551 | " container.dataset.cardOrder = JSON.stringify(cardOrder);\n", |
547 | | - " console.log(cardOrder);\n", |
| 552 | + " //console.log(cardOrder);\n", |
548 | 553 | " }\n", |
549 | 554 | "\n", |
550 | 555 | " container.dataset.cardnum=cardnum;\n", |
|
599 | 604 | "\n", |
600 | 605 | "\n", |
601 | 606 | "function createOneCard (mydiv, frontCard, cards, cardnum, seq) {\n", |
| 607 | + " /*\n", |
602 | 608 | " var colors=eval('frontColors'+mydiv.id);\n", |
603 | 609 | " var backColors=eval('backColors'+mydiv.id);\n", |
604 | 610 | " var textColors=eval('textColors'+mydiv.id);\n", |
| 611 | + " */\n", |
| 612 | + " var colors = JSON.parse(mydiv.dataset.frontColors);\n", |
| 613 | + " var backColors = JSON.parse(mydiv.dataset.backColors);\n", |
| 614 | + " var textColors = JSON.parse(mydiv.dataset.textColors);\n", |
| 615 | + "\n", |
605 | 616 | " //console.log(backColors)\n", |
606 | 617 | "\n", |
607 | 618 | " var flipper = document.createElement('div');\n", |
|
701 | 712 | "\n", |
702 | 713 | "\n", |
703 | 714 | "\n", |
704 | | - "function createCards(id, keyControl, grabFocus, shuffleCards, title, subject) {\n", |
| 715 | + "function createCards(id, cards, keyControl, grabFocus, shuffleCards, title, subject,\n", |
| 716 | + " frontColors, backColors, textColors) {\n", |
705 | 717 | " console.log(id);\n", |
706 | 718 | "\n", |
707 | 719 | " var mydiv=document.getElementById(id);\n", |
708 | 720 | " /*mydiv.onclick = window.flipCard(mydiv);*/\n", |
709 | 721 | " /*\n", |
710 | | - " mydiv.addEventListener('click', function(){window.flipCard(mydiv);}, false);\n", |
711 | | - " mydiv.addEventListener('keydown', function(event){window.checkKey(mydiv,event);}, true);\n", |
| 722 | + " mydiv.addEventListener('click', function(){window.flipCard(mydiv);}, false);\n", |
| 723 | + " mydiv.addEventListener('keydown', function(event){window.checkKey(mydiv,event);}, true);\n", |
712 | 724 | " */\n", |
713 | 725 | " mydiv.onclick = function(){window.flipCard(mydiv);};\n", |
714 | | - " //console.log(keyControl);\n", |
715 | | - " if (keyControl == \"True\"){\n", |
| 726 | + " if (keyControl == true){\n", |
716 | 727 | " mydiv.onkeydown = function(event){window.checkKey(mydiv,event);};\n", |
717 | 728 | " }\n", |
718 | 729 | " /* mydiv.addEventListener('keydown', function(event){event.stopPropagation(); console.log(event); event.preventDefault();}, true); */\n", |
719 | 730 | " /*mydiv.onkeypress = function(event){console.log(event); event.preventDefault();};*/\n", |
720 | 731 | "\n", |
721 | 732 | " //console.log(mydiv);\n", |
722 | 733 | "\n", |
723 | | - " var cards=eval('cards'+id);\n", |
| 734 | + " // var cards=eval('cards'+id);\n", |
| 735 | + " // Store cards and color data in the container's dataset for later access in cleanup()\n", |
| 736 | + " mydiv.dataset.cards = JSON.stringify(cards);\n", |
| 737 | + " mydiv.dataset.frontColors = JSON.stringify(frontColors);\n", |
| 738 | + " mydiv.dataset.backColors = JSON.stringify(backColors);\n", |
| 739 | + " mydiv.dataset.textColors = JSON.stringify(textColors);\n", |
| 740 | + "\n", |
724 | 741 | " mydiv.dataset.cardnum=0;\n", |
725 | 742 | " mydiv.dataset.numCards=cards.length;\n", |
726 | 743 | "\n", |
727 | 744 | " mydiv.dataset.shuffleCards = shuffleCards;\n", |
728 | 745 | " var cardOrder;\n", |
729 | | - " if (shuffleCards == \"True\"){\n", |
| 746 | + " if (shuffleCards == true){\n", |
730 | 747 | " cardOrder = randomOrderArray(cards.length);\n", |
731 | 748 | " } else {\n", |
732 | 749 | " cardOrder = Array.from({ length: cards.length }, (_, index) => index);\n", |
733 | 750 | " }\n", |
734 | 751 | " mydiv.dataset.cardOrder = JSON.stringify(cardOrder);\n", |
735 | | - " console.log(mydiv.dataset.cardOrder);\n", |
| 752 | + " //console.log(mydiv.dataset.cardOrder);\n", |
736 | 753 | "\n", |
737 | 754 | "\n", |
738 | 755 | " mydiv.addEventListener('swiped-left', function(e) {\n", |
|
844 | 861 | " next.innerHTML=\"Next >\";\n", |
845 | 862 | " }\n", |
846 | 863 | "\n", |
847 | | - " if (grabFocus == \"True\" )\n", |
| 864 | + " if (grabFocus == true )\n", |
848 | 865 | " mydiv.focus();\n", |
849 | 866 | "\n", |
850 | 867 | " return flipper;\n", |
|
853 | 870 | "\n", |
854 | 871 | "\n", |
855 | 872 | "\n", |
856 | | - "\n", |
857 | | - " function try_create() {\n", |
858 | | - " if(document.getElementById(\"NwVPXDktrHPg\")) {\n", |
859 | | - " createCards(\"NwVPXDktrHPg\", \"True\", \"False\", \"False\", \"\", \"\");\n", |
860 | | - " } else {\n", |
861 | | - " setTimeout(try_create, 200);\n", |
862 | | - " }\n", |
863 | | - " };\n", |
864 | | - " \n", |
865 | | - "var cardsNwVPXDktrHPg=[{\"front\": \"eigenvector\", \"back\": \"Given a square $n \\\\times n$ matrix $\\\\mathbf{M}$, a non-zero $n$-vector $\\\\mathbf{u}$ is an <I>eigenvector</I> of $\\\\mathbf{M}$ if there exists a constant $\\\\lambda$ such that \\\\begin{equation} \\\\mathbf{Mu} = \\\\lambda \\\\mathbf{u}. \\\\end{equation}\"}, {\"front\": \"eigenvalue\", \"back\": \"Given a square $n \\\\times n$ matrix $\\\\mathbf{M}$, a constant $\\\\lambda$ is an <I>eigenvalue</I> of $\\\\mathbf{M}$ if there exists a non-zero vector $\\\\mathbf{u}$ such that \\\\[ \\\\mathbf{Mu} = \\\\lambda \\\\mathbf{u}. \\\\]\"}, {\"front\": \"modal matrix\", \"back\": \"For a square matrix \\\\(\\\\mathbf{M}\\\\), the modal matrix is a matrix whose columns are the unit eigenvectors of \\\\(\\\\mathbf{M}\\\\).\"}];\n", |
866 | | - "var frontColorsNwVPXDktrHPg= [\"var(--asparagus)\", \"var(--terra-cotta)\", \"var(--cyan-process)\" ];\n", |
867 | | - "var backColorsNwVPXDktrHPg= [\"var(--dark-blue-gray)\" ];\n", |
868 | | - "var textColorsNwVPXDktrHPg= [\"var(--snow)\" ];\n", |
869 | | - "try_create(); " |
| 873 | + "var cardsFairJEVINolE = [{\"front\": \"eigenvector\", \"back\": \"Given a square $n \\\\times n$ matrix $\\\\mathbf{M}$, a non-zero $n$-vector $\\\\mathbf{u}$ is an <I>eigenvector</I> of $\\\\mathbf{M}$ if there exists a constant $\\\\lambda$ such that \\\\begin{equation} \\\\mathbf{Mu} = \\\\lambda \\\\mathbf{u}. \\\\end{equation}\"}, {\"front\": \"eigenvalue\", \"back\": \"Given a square $n \\\\times n$ matrix $\\\\mathbf{M}$, a constant $\\\\lambda$ is an <I>eigenvalue</I> of $\\\\mathbf{M}$ if there exists a non-zero vector $\\\\mathbf{u}$ such that \\\\[ \\\\mathbf{Mu} = \\\\lambda \\\\mathbf{u}. \\\\]\"}, {\"front\": \"modal matrix\", \"back\": \"For a square matrix \\\\(\\\\mathbf{M}\\\\), the modal matrix is a matrix whose columns are the unit eigenvectors of \\\\(\\\\mathbf{M}\\\\).\"}];\n", |
| 874 | + "var frontColorsFairJEVINolE = [\"var(--asparagus)\", \"var(--terra-cotta)\", \"var(--cyan-process)\"];\n", |
| 875 | + "var backColorsFairJEVINolE = [\"var(--dark-blue-gray)\"];\n", |
| 876 | + "var textColorsFairJEVINolE = [\"var(--snow)\"];\n", |
| 877 | + "(function() {\n", |
| 878 | + " var observer = new MutationObserver(function(mutations, obs) {\n", |
| 879 | + " var el = document.getElementById(\"FairJEVINolE\");\n", |
| 880 | + " if (el) {\n", |
| 881 | + " createCards(\"FairJEVINolE\", cardsFairJEVINolE, true, false, false, \"\", \"\", frontColorsFairJEVINolE, backColorsFairJEVINolE, textColorsFairJEVINolE);\n", |
| 882 | + " obs.disconnect();\n", |
| 883 | + " }\n", |
| 884 | + " });\n", |
| 885 | + " observer.observe(document.body, { childList: true, subtree: true });\n", |
| 886 | + " })();" |
870 | 887 | ], |
871 | 888 | "text/plain": [ |
872 | 889 | "<IPython.core.display.Javascript object>" |
|
1172 | 1189 | { |
1173 | 1190 | "data": { |
1174 | 1191 | "text/html": [ |
1175 | | - "<div style=\"height:40px\"></div><div class=\"flip-container\" id=\"GdkuSvByJKyr\" tabindex=\"0\" style=\"outline:none;\"></div><div style=\"height:40px\"></div><div class=\"next\" id=\"GdkuSvByJKyr-next\" onclick=\"window.checkFlip('GdkuSvByJKyr')\"> </div> <div style=\"height:40px\"></div>" |
| 1192 | + "<div style=\"height:40px\"></div><div class=\"flip-container\" id=\"tIRlIqMiYAZw\" tabindex=\"0\" style=\"outline:none;\"></div><div style=\"height:40px\"></div><div class=\"next\" id=\"tIRlIqMiYAZw-next\" onclick=\"window.checkFlip('tIRlIqMiYAZw')\"> </div> <div style=\"height:40px\"></div>" |
1176 | 1193 | ], |
1177 | 1194 | "text/plain": [ |
1178 | 1195 | "<IPython.core.display.HTML object>" |
|
1302 | 1319 | " next.classList.add('hide');\n", |
1303 | 1320 | "\n", |
1304 | 1321 | " //container.classList.add(\"prepare\");\n", |
1305 | | - " \n", |
| 1322 | + "\n", |
1306 | 1323 | " container.className=\"flip-container slide\";\n", |
| 1324 | + "\n", |
1307 | 1325 | " backcard.parentElement.removeChild(frontcard);\n", |
1308 | 1326 | " backcard.parentElement.appendChild(frontcard);\n", |
| 1327 | + "\n", |
1309 | 1328 | " setTimeout(slideback, 600, container, frontcard, backcard, next);\n", |
1310 | | - " \n", |
| 1329 | + "\n", |
1311 | 1330 | "}\n", |
1312 | 1331 | "\n", |
1313 | 1332 | "\n", |
|
1339 | 1358 | "\n", |
1340 | 1359 | " let cardOrder = JSON.parse(container.dataset.cardOrder);\n", |
1341 | 1360 | "\n", |
1342 | | - " var cards=eval('cards'+container.id);\n", |
| 1361 | + " //var cards=eval('cards'+container.id);\n", |
| 1362 | + " var cards=JSON.parse(container.dataset.cards);\n", |
1343 | 1363 | "\n", |
1344 | 1364 | " var flipper=createOneCard(container, false, cards, cardOrder[cardnum], cardnum);\n", |
1345 | 1365 | " container.append(flipper);\n", |
1346 | 1366 | " cardnum= (cardnum+1) % parseInt(container.dataset.numCards);\n", |
1347 | | - " if ((cardnum == 0) && (container.dataset.shuffleCards == \"True\")) {\n", |
| 1367 | + " if ((cardnum == 0) && (container.dataset.shuffleCards == \"true\")) {\n", |
1348 | 1368 | " cardOrder = randomOrderArray(parseInt(container.dataset.numCards));\n", |
1349 | 1369 | " container.dataset.cardOrder = JSON.stringify(cardOrder);\n", |
1350 | | - " console.log(cardOrder);\n", |
| 1370 | + " //console.log(cardOrder);\n", |
1351 | 1371 | " }\n", |
1352 | 1372 | "\n", |
1353 | 1373 | " container.dataset.cardnum=cardnum;\n", |
|
1402 | 1422 | "\n", |
1403 | 1423 | "\n", |
1404 | 1424 | "function createOneCard (mydiv, frontCard, cards, cardnum, seq) {\n", |
| 1425 | + " /*\n", |
1405 | 1426 | " var colors=eval('frontColors'+mydiv.id);\n", |
1406 | 1427 | " var backColors=eval('backColors'+mydiv.id);\n", |
1407 | 1428 | " var textColors=eval('textColors'+mydiv.id);\n", |
| 1429 | + " */\n", |
| 1430 | + " var colors = JSON.parse(mydiv.dataset.frontColors);\n", |
| 1431 | + " var backColors = JSON.parse(mydiv.dataset.backColors);\n", |
| 1432 | + " var textColors = JSON.parse(mydiv.dataset.textColors);\n", |
| 1433 | + "\n", |
1408 | 1434 | " //console.log(backColors)\n", |
1409 | 1435 | "\n", |
1410 | 1436 | " var flipper = document.createElement('div');\n", |
|
1504 | 1530 | "\n", |
1505 | 1531 | "\n", |
1506 | 1532 | "\n", |
1507 | | - "function createCards(id, keyControl, grabFocus, shuffleCards, title, subject) {\n", |
| 1533 | + "function createCards(id, cards, keyControl, grabFocus, shuffleCards, title, subject,\n", |
| 1534 | + " frontColors, backColors, textColors) {\n", |
1508 | 1535 | " console.log(id);\n", |
1509 | 1536 | "\n", |
1510 | 1537 | " var mydiv=document.getElementById(id);\n", |
1511 | 1538 | " /*mydiv.onclick = window.flipCard(mydiv);*/\n", |
1512 | 1539 | " /*\n", |
1513 | | - " mydiv.addEventListener('click', function(){window.flipCard(mydiv);}, false);\n", |
1514 | | - " mydiv.addEventListener('keydown', function(event){window.checkKey(mydiv,event);}, true);\n", |
| 1540 | + " mydiv.addEventListener('click', function(){window.flipCard(mydiv);}, false);\n", |
| 1541 | + " mydiv.addEventListener('keydown', function(event){window.checkKey(mydiv,event);}, true);\n", |
1515 | 1542 | " */\n", |
1516 | 1543 | " mydiv.onclick = function(){window.flipCard(mydiv);};\n", |
1517 | | - " //console.log(keyControl);\n", |
1518 | | - " if (keyControl == \"True\"){\n", |
| 1544 | + " if (keyControl == true){\n", |
1519 | 1545 | " mydiv.onkeydown = function(event){window.checkKey(mydiv,event);};\n", |
1520 | 1546 | " }\n", |
1521 | 1547 | " /* mydiv.addEventListener('keydown', function(event){event.stopPropagation(); console.log(event); event.preventDefault();}, true); */\n", |
1522 | 1548 | " /*mydiv.onkeypress = function(event){console.log(event); event.preventDefault();};*/\n", |
1523 | 1549 | "\n", |
1524 | 1550 | " //console.log(mydiv);\n", |
1525 | 1551 | "\n", |
1526 | | - " var cards=eval('cards'+id);\n", |
| 1552 | + " // var cards=eval('cards'+id);\n", |
| 1553 | + " // Store cards and color data in the container's dataset for later access in cleanup()\n", |
| 1554 | + " mydiv.dataset.cards = JSON.stringify(cards);\n", |
| 1555 | + " mydiv.dataset.frontColors = JSON.stringify(frontColors);\n", |
| 1556 | + " mydiv.dataset.backColors = JSON.stringify(backColors);\n", |
| 1557 | + " mydiv.dataset.textColors = JSON.stringify(textColors);\n", |
| 1558 | + "\n", |
1527 | 1559 | " mydiv.dataset.cardnum=0;\n", |
1528 | 1560 | " mydiv.dataset.numCards=cards.length;\n", |
1529 | 1561 | "\n", |
1530 | 1562 | " mydiv.dataset.shuffleCards = shuffleCards;\n", |
1531 | 1563 | " var cardOrder;\n", |
1532 | | - " if (shuffleCards == \"True\"){\n", |
| 1564 | + " if (shuffleCards == true){\n", |
1533 | 1565 | " cardOrder = randomOrderArray(cards.length);\n", |
1534 | 1566 | " } else {\n", |
1535 | 1567 | " cardOrder = Array.from({ length: cards.length }, (_, index) => index);\n", |
1536 | 1568 | " }\n", |
1537 | 1569 | " mydiv.dataset.cardOrder = JSON.stringify(cardOrder);\n", |
1538 | | - " console.log(mydiv.dataset.cardOrder);\n", |
| 1570 | + " //console.log(mydiv.dataset.cardOrder);\n", |
1539 | 1571 | "\n", |
1540 | 1572 | "\n", |
1541 | 1573 | " mydiv.addEventListener('swiped-left', function(e) {\n", |
|
1647 | 1679 | " next.innerHTML=\"Next >\";\n", |
1648 | 1680 | " }\n", |
1649 | 1681 | "\n", |
1650 | | - " if (grabFocus == \"True\" )\n", |
| 1682 | + " if (grabFocus == true )\n", |
1651 | 1683 | " mydiv.focus();\n", |
1652 | 1684 | "\n", |
1653 | 1685 | " return flipper;\n", |
|
1656 | 1688 | "\n", |
1657 | 1689 | "\n", |
1658 | 1690 | "\n", |
1659 | | - "\n", |
1660 | | - " function try_create() {\n", |
1661 | | - " if(document.getElementById(\"GdkuSvByJKyr\")) {\n", |
1662 | | - " createCards(\"GdkuSvByJKyr\", \"True\", \"False\", \"False\", \"\", \"\");\n", |
1663 | | - " } else {\n", |
1664 | | - " setTimeout(try_create, 200);\n", |
1665 | | - " }\n", |
1666 | | - " };\n", |
1667 | | - " \n", |
1668 | | - "var cardsGdkuSvByJKyr=[{\"front\": \"eigenvector\", \"back\": \"Given a square $n \\\\times n$ matrix $\\\\mathbf{M}$, a non-zero $n$-vector $\\\\mathbf{u}$ is an <I>eigenvector</I> of $\\\\mathbf{M}$ if there exists a constant $\\\\lambda$ such that \\\\begin{equation} \\\\mathbf{Mu} = \\\\lambda \\\\mathbf{u}. \\\\end{equation}\"}, {\"front\": \"eigenvalue\", \"back\": \"Given a square $n \\\\times n$ matrix $\\\\mathbf{M}$, a constant $\\\\lambda$ is an <I>eigenvalue</I> of $\\\\mathbf{M}$ if there exists a non-zero vector $\\\\mathbf{u}$ such that \\\\[ \\\\mathbf{Mu} = \\\\lambda \\\\mathbf{u}. \\\\]\"}, {\"front\": \"modal matrix\", \"back\": \"For a square matrix \\\\(\\\\mathbf{M}\\\\), the modal matrix is a matrix whose columns are the unit eigenvectors of \\\\(\\\\mathbf{M}\\\\).\"}];\n", |
1669 | | - "var frontColorsGdkuSvByJKyr= [\"var(--asparagus)\", \"var(--terra-cotta)\", \"var(--cyan-process)\" ];\n", |
1670 | | - "var backColorsGdkuSvByJKyr= [\"var(--dark-blue-gray)\" ];\n", |
1671 | | - "var textColorsGdkuSvByJKyr= [\"var(--snow)\" ];\n", |
1672 | | - "\n", |
1673 | | - "\n", |
1674 | | - " {\n", |
1675 | | - " const jmscontroller = new AbortController();\n", |
1676 | | - " const signal = jmscontroller.signal;\n", |
1677 | | - "\n", |
1678 | | - " setTimeout(() => jmscontroller.abort(), 5000);\n", |
1679 | | - "\n", |
1680 | | - " fetch(\"https://raw.githubusercontent.com/jmshea/Linear-Algebra-for-Data-Science-with-Python/main/03-matrices/flashcards/6-eigen.json\", {signal})\n", |
1681 | | - " .then(response => response.json())\n", |
1682 | | - " .then(json => createCards(\"GdkuSvByJKyr\", \"True\", \"False\", \"False\", \"\", \"\"))\n", |
1683 | | - " .catch(err => {\n", |
1684 | | - " console.log(\"Fetch error or timeout\");\n", |
1685 | | - " try_create(); \n", |
1686 | | - " });\n", |
1687 | | - " }\n", |
1688 | | - " " |
| 1691 | + "var cardstIRlIqMiYAZw = [{\"front\": \"eigenvector\", \"back\": \"Given a square $n \\\\times n$ matrix $\\\\mathbf{M}$, a non-zero $n$-vector $\\\\mathbf{u}$ is an <I>eigenvector</I> of $\\\\mathbf{M}$ if there exists a constant $\\\\lambda$ such that \\\\begin{equation} \\\\mathbf{Mu} = \\\\lambda \\\\mathbf{u}. \\\\end{equation}\"}, {\"front\": \"eigenvalue\", \"back\": \"Given a square $n \\\\times n$ matrix $\\\\mathbf{M}$, a constant $\\\\lambda$ is an <I>eigenvalue</I> of $\\\\mathbf{M}$ if there exists a non-zero vector $\\\\mathbf{u}$ such that \\\\[ \\\\mathbf{Mu} = \\\\lambda \\\\mathbf{u}. \\\\]\"}, {\"front\": \"modal matrix\", \"back\": \"For a square matrix \\\\(\\\\mathbf{M}\\\\), the modal matrix is a matrix whose columns are the unit eigenvectors of \\\\(\\\\mathbf{M}\\\\).\"}];\n", |
| 1692 | + "var frontColorstIRlIqMiYAZw = [\"var(--asparagus)\", \"var(--terra-cotta)\", \"var(--cyan-process)\"];\n", |
| 1693 | + "var backColorstIRlIqMiYAZw = [\"var(--dark-blue-gray)\"];\n", |
| 1694 | + "var textColorstIRlIqMiYAZw = [\"var(--snow)\"];\n", |
| 1695 | + "(function() {\n", |
| 1696 | + " var observer = new MutationObserver(function(mutations, obs) {\n", |
| 1697 | + " var el = document.getElementById(\"tIRlIqMiYAZw\");\n", |
| 1698 | + " if (el) {\n", |
| 1699 | + " createCards(\"tIRlIqMiYAZw\", cardstIRlIqMiYAZw, true, false, false, \"\", \"\", frontColorstIRlIqMiYAZw, backColorstIRlIqMiYAZw, textColorstIRlIqMiYAZw);\n", |
| 1700 | + " obs.disconnect();\n", |
| 1701 | + " }\n", |
| 1702 | + " });\n", |
| 1703 | + " observer.observe(document.body, { childList: true, subtree: true });\n", |
| 1704 | + " })();" |
1689 | 1705 | ], |
1690 | 1706 | "text/plain": [ |
1691 | 1707 | "<IPython.core.display.Javascript object>" |
|
1701 | 1717 | "display_flashcards(git_url + git_dir + file)" |
1702 | 1718 | ] |
1703 | 1719 | }, |
| 1720 | + { |
| 1721 | + "cell_type": "code", |
| 1722 | + "execution_count": null, |
| 1723 | + "metadata": {}, |
| 1724 | + "outputs": [], |
| 1725 | + "source": [] |
| 1726 | + }, |
1704 | 1727 | { |
1705 | 1728 | "cell_type": "code", |
1706 | 1729 | "execution_count": null, |
|
0 commit comments