Skip to content

Instantly share code, notes, and snippets.

@tobydriscoll
Last active July 25, 2022 17:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save tobydriscoll/8d87997704e9fd400e96ea860d9f6a34 to your computer and use it in GitHub Desktop.
Save tobydriscoll/8d87997704e9fd400e96ea860d9f6a34 to your computer and use it in GitHub Desktop.
Trefethen & Bau lecture notes in MATLAB
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lecture 3: Norms"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Vector norms"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The contour lines of the major $p$-norms give some idea of the metric structure created by them."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGkCAIAAACgjIjwAAAACXBIWXMAABcSAAAXEgFnn9JSAAAA\nB3RJTUUH4AkHDhsfZPcAjwAAACR0RVh0U29mdHdhcmUATUFUTEFCLCBUaGUgTWF0aFdvcmtzLCBJ\nbmMuPFjdGAAAACJ0RVh0Q3JlYXRpb24gVGltZQAwNy1TZXAtMjAxNiAxMDoyNzozMUGUiHYAACAA\nSURBVHic7N1/XNPXvT/wdwBpaKJAaCUBZwSJTitdwVpxd2KduFWwo3a37e5aaK10s3bVXvd1W7di\nr7DqunV3aqt2E1cr1m723larYFvp3Yi2gj5K2mJFDYLYQoIrATUpkV/5/nHwYxp+w/n8SHg9H/sj\nwIdPzmzCK+ec9zlH5fF4CAAAQG5BcjcAAACACIEEAAAKgUACAABFQCABAIAiIJAAAEAREEgAAKAI\nCCQAAFAEBBIAACgCAgkAABQBgQQAAIqAQAIAAEVAIAEAgCIgkAAAQBEQSAAAoAghcjcAQCwdHR2n\nT5/+5JNPwsPDp0+fPmnSpKAgfAIDUC4EEgSazs7O3/3ud2+//fann37qdruF74eFhd19990bNmyI\nj4+XsXkA0BcVDuiDQFJfX//jH//YbDb3dUFoaOjKlSufe+650NBQKRsGAANCIEHgKCsru/vuu7/8\n8ssBr3zyySc3b94sQZMAYPAQSBAgPB5PcnLyxx9/PMjr9+7de99994naJAAYEszxQoB4/fXXfdJo\n3rx5O3fuPH36dElJyYMPPuhz/U9+8pPOzk4JGwgAA0APCQJBe3v7N7/5zZqaGuE7d9555zvvvHPD\nDTcI33nuueeeeeYZ79/6+OOPv/Wtb0nXSgDoFwIJAsEnn3xy2223eX+npqYmLi7O+zsdHR1xcXFf\nfPGF8J2//OUvjz322FCfq7a2VnisUqkmTZrEHn/55ZcffPDBBx980NHRccstt0yfPj0xMVGr1Q54\nw87Ozurq6srKyk8//fTixYvsFxMTE2+66aZhNOPy5cv/+7//e+rUKZfLtWrVqqlTp37xxRft7e3C\nxRMnTgwODiai06dPv/322+fPn9doNHfccccdd9xhNBq9n8Ltdv/P//zPyZMnv/zyywkTJsTHx8+d\nO9fnXxWAJw+A/9u3b5/3q/rb3/52r5dlZGR4X/b4448P47m876BSqTweT21t7YIFC3q+uaKjow8f\nPtzPrTo6On7/+99rNJpe35u33XbbiRMnBt8Mj8fz+9//PiIiQvj+m2++6fF4TCaT98X19fVXr17t\nOYZJRLfffnt1dTW71YEDB8aPH+9zwZgxY5544onGxsZh/LsBDAiBBIFg48aN3n83V69e3etlixYt\n8r5s3bp1w3gunySorq7W6XS9JgoRBQUFvfTSS73ep7KyctasWX39IhMcHLxmzZqvvvpqwGZ0dXUt\nW7bM59d7DaQzZ84sXLiwr2eMiYm5dOnS3r17x4wZ09c1M2fObG9vH8Y/HUD/EEgQCJ566invv5h/\n+MMfel7T3t4+duxY78v2798/jOfy+et8yy239PWHm9HpdC6Xy+cmp06d8p7f6t+CBQv6b4ZKpdq5\nc2fPX+w1kKZMmdL/082ZM4eN6fVjeFkO0D/MIUEgcLvd3tMkarW65wf8goICnxmj8+fP+8yaDIZK\nper5zYSEhJSUlOjo6FOnTr333ns+9Xvbtm1bvny58KXH45k3b96RI0e8r5k/f35qaurEiRPLysre\ne++9uro675/u3Lnz4Ycf7qcZN99887/+9S+fVr355ptLliyZMmWK1Wr1+dE3vvGNzMxMl8v1wQcf\nnD17ttf/p9OnT587d+7Vq1ePHj1aXV3t/aPIyEiHw9HrbwEMn9yJCCCFsrIynx7JXXfdNbxb9XwT\n/exnP2traxMuOHjwoM+meffee6/3HbZv3+79U5VK9fLLL3tfcOXKlXnz5nlfExUV9a9//av/ZhDR\n2LFjly5d+tJLL5WUlOzbt6+2ttbTo4dERD/60Y/cbrdwq17XY/385z8XLmhra1u8eLHPBQ0NDcP7\nBwToCwIJAt+ePXt8qt3Cw8M///zz4d3N5+/yhAkTek6opKWleV8zZ84c759GR0d7//Q///M/ez7L\nV1995VNT8Mwzz/TTDCKaPHnyyZMne97KJ5AmTJhw5coV7wu8C/YYo9Hoc5OeK47ff//9Qf+bAQwK\nNleFQHb58uXVq1fv2LHD+5vBwcEvv/zyhAkT2JednZ1/+9vf+r/PvffeGxYW1uuPsrKyQkJ830dp\naWklJSXClzabTXhst9sbGxu9L/7pT3/a87ZhYWHZ2dkvvPCC8J0BN6HYt2/fgBNaRDR37lyfeJ40\naVJERERLS4vwnczMTJ/fuvXWWzUajcvlEr7z+eefD/hcAEOCQIKA9f777y9dutTn7+a4ceP+/ve/\n33XXXcJ3rl69+tBDD/V/q4aGhr4Cqde9w/V6vfeXzc3NwuPPPvvM+0cJCQlTp07t9c4ZGRnegeTz\niz6+973vzZgxo58LBLfeemvPb44dO9Y7kCZOnOhzgUqlGjt2rHcgeTD9DLxh6yAIQG1tbWvWrFm4\ncKFPGk2fPv3DDz/0TqOR88keJjw83PtL77/dPrkSExPT151jY2O9vzx//rx3Hvjop5LbR69F6j6d\nPJ/2M4MvCwQYHgQSBJpz586lpKS88MIL3jEQHBz8q1/9qqKiYjCDWkPS614MvVbiMT7lc/2sYYqM\njPT+0uPx9DNKJoxADo9Pg/tpP4B4MGQHAeWTTz75/ve/7zNJk5CQsGfPngFXoUpj8uTJ3l/2c1iG\nz4+CgoKE/YF66rmrAoDfQSBB4Dh69OjixYsvXbrk/c2HH374pZde6mdPubCwsNOnT/d/Z45/7n26\naP10enx+NHnyZLVa3dfFOJ0dAgACCQJEQ0NDenr6lStXvL/5xz/+cfXq1f3/okql6qusQAw+gVRX\nV2exWJKSknpe+dZbb/XziwCBB5+qIECsWbPGJ43y8/MHTCPp3XTTTT4bZr/44os9L2tqatqzZ4/3\ndxQy5AggHvSQIBAcPXrU5893bGzs1atXc3Nz+/mt2NhY7x19JPPCCy/88Ic/FL585ZVXJkyYkJeX\nJ3ynsbFx4cKF3mOPEydOXLlypaStBJAcAgkCwcsvv+zznfr6+t/+9rf9/9btt98uSyDde++9mZmZ\n+/fvF76Tn5//+uuvf+c73/nGN75x/PjxDz/80Ke3t2XLlsEcrQTg1xBIEAj6XzSqQC+99NIHH3zg\nXUdXXV3ts4Gp4KGHHuq5lRxA4MEcEvi9rq6uAcvklGbChAknT57sdVdTb+PGjdu2bduuXbukaRWA\nvBBI4Pdqa2vdbrfcrRiy6OjovXv3vvXWW9/61rd6Hpah0+nuv//+U6dOLV++HMtUYZTAeUgA8mtv\nbz9z5szJkycvXrw4bdq0GTNmGAwGuRsFIDUEUuCoqqqqrKy8+eab58+fL3dbAACGDIEUOLKyso4f\nP37HHXcUFhbK3RYAgCHDHFKAqK6uPn78uNytAAAYPgRSIDh79uyjjz4qdysAAEYE65D8ldPpbG5u\nrq6ufuedd959993W1la5WwQAMCIIJL/0xRdfLFiwQO5WAADwhCE7AABQBPSQ/NL48eN99hJtbW1d\ntmyZXO0BABg5BJJfCg0NnTlzpvd3nE6nXI0BAOACQ3YAAKAICCQAAFAEDNnBdR7PBZVqogxP7LaT\nWi/D84rP5W5iD5xuh/DY1drU68WasKjrj9VRRKRV69iDgORpsagiejm7XfTnlet1DgNBIEG3qVOn\nyt0EAKmdOXNG7ibAdQgkICLq8hwhoqrTBUGquZI9qafF4rGsUk1aqopbKtmT8uJyN9XYyoioscV6\nscVKRBp1lEati44wEZEmLEqjjhpk/2bq1Kn9/Flk/Sqhg3Wx2epkD1qs7Bm16qjxkSaNOoo9tT9x\n2z22Qx77IdW0p6XsKnV2vdbZtSEkeNu0b+ZI9qQwGAgkICLq6jpKRJKmUe0rHvshVdImWQZthsEn\ngVgAaNS6eEPKnGlZ4g2ssTtr1FFEJiKK16d4N6mxxUrdKVVW5nYQUXSEyW/ySa1XxS2lyNs8VRtI\nv0iyzyXBQQ/Stdc8KAoCCYiIQoKfJtop0ZO57V1V64koaM5eiZ5xuIQQqjxfLHSAEuMy+P6t/9nP\nfja8X9Soo+L1UXQtpVzuJtaRqrGVCZGp/HBSRSSpkjZ7bIe6jt0flLRZmtlElknSveZhcBBIICm/\nGKZrbLFebD5bYy8nIhZCC5KeEu9v+pNPPsnlPhp1FOtICfnU2GK92GytsRcK4eTdwVIQ1lUi6rKs\nVEnYVQKlQSCBdJQ8TMc6Fi63o8ZeplFHxetnp0zLUnLHYkCs/xSvT0mMS3e6HRebz9bYyiprixWb\nTKq4pSrDoi7LSvZY7uaADBBIIAkFD9NV1hZ551DmnLwAq7RmPafoCFPitW6TcpNJrQ+SfPgOlAOB\nBKJT5jAd6xKxyaF4/ewfz98id4ukIHSbfJIpzpCilO6g9/Bd3FKVfpHcDQLpIJBAXB77IU/tK8oZ\npmM5xOaHArI/NEjeyVRjKyurKiSieP3sxLgMuZtGJAzfVa2nVruiPseAqBBIICJP1QaP26aQYTrv\nLlFiXLqyhqrko1FHJcZlJMZlNLZYa21l+4+tVUqHSa0PmvZrTCmNKggkEAv7UxKUtFnuhlBji1Xo\nAYySoblhiI4wRUeYvDtM8se2MKVkWamEFxKIDYEEInDbu6rWqyKSZP9gW1lbJIzOKWQwSuFYhyne\nkCLMMMn8T8emlGoJZQ6jgcrj8cjdBlCE/jewGQK3vevY/appT8s7HV1ZW4TRuZFrbLGyKkTZE52t\nGeCbSdxe88AJAgm6cXlzdhfUyVrCIESRvy8kUg6Xu+lYVaH8seS2d1lWctz4DoGkNAgk6DbyN6en\nxeKp2iDxRpnehAE6RJEYFBFLXEeDEUhKg0CCbiN8c3aXd8uURkLZAqJIbMIgnmxjofwyCYGkNChq\nAA5YGslS3q2Ij+2jSXSEKTrpqRp7WWVt8cVma2JcutQLuVAOHrgQSDBSHvshj+2QLGnEposSJ6Uj\niiQWr0+JjjDV2MpKLJtk+Cig1gclbe6qWk+1yKSAgiE76Da84YvuNJJ8jQgbo9OodaKeRQQDEna+\nkCGWRjx2hyE7pUEPCYZPljQS/gJiukgJ2Lql8ZFTyqoK2cSSdJ8P2Ngd+kkBJEjuBoC/kiWNauxl\n+4+tJaLMOXlII+WIjjClJa3SqHUllk2VtUXSPbFaHzTt154Wi6f2FemeFESDITvoNqThC+nTSChe\nQMdIyVzuphLLJqmHUoc7dochO6VBDwmGjH0glTKNGlusbNNPdIwUTqOOSktaFR1hkrSrhH5SoEAg\nwdAIq18le8bK2qKyqsIFSU+hlM4vsFmltKRVNfZyGTKpxSLRM4IIMGQH3QYzfCHxzkAud1NlbbHT\n3ZSW9JQETyc2W6vz2oMr/VxmCBtrCNNK0iJxCeUnaUmrJBq+G+LeQhiyUxpU2cGgue1SplFji/V9\ny8aUaVkp+iwJno4XljoVDlv3g2YbEVU47OynQtL0GjleieUUrjGEaQ1hY5Mj9exxss4g9v8FXlhX\niYikW6vE1idZVqqwL7h/QiDB4LDPnlKlEduVbkHSU8qfMbK1Oln8VDTbWPAYwrSGMG1ypIGIMmJM\nhjCtYcaQOz0sk2ytV64Fm509trU6hfuzfFJ4d4odZlFi2cQei/58ar0qbmn3+UnIJH+DITvo1v/w\nRZdlpcqwSIITJVg1HREpeZjO1uosqrd6J1BGjImIknV6sXswQg+MRVSFw85iKTlSr+T+k8TDd91n\nVQy0ewiG7JQGgQTd+nlzdllWqtQGCQoZWNGwMnelYyFERAXnLN1dE7VWggQasFV0LZ+K6q1COGXE\nKrFnyTq+kmUSue39v2gRSEqDQIJufb05PbWveFosEhR5s0kjpQ3TeXeGWE9I9hDqBxs/LGqwKra1\nbFdWKT5zDGJxEgJJaRBI0K3XNycr8pZg41T2d0o5i15ZDhU1WImIdYZyEmQ7cnAYWDIJ3aaMGJNy\n2s9GZaMjTFJkkmWlSr+or0xCICkNAgm69fLmZIeRi1/IwEZyMufkifosg1RUb1Xm3/HhEZKpwmFT\nzmiedGOz/RaCI5CUBoEE3Xq+ObssK1VxS8VOo7KqQiWsNGJdIjY/FAA51JMwmmdrdWbEmDJiTfKW\n57FFZhq1TuxM6uewLgSS0iCQoJvPm7PLspLXQdH9KLFsJLkL6oQoypmcJPufaQnYWp0F5yysw5QR\nkyDjDBMrvWP7E4r6RH0VOCCQlAZbB0Ev2J5gEqSRVh0lYxrZWp35J4+sOFFMRGXffzQnISng04iI\nDGHa3Blzt85KN6i1K04cWnGiuMJhk6UlbOWsRq1jO7iLR2VY5HHbsNOd8qGHBN2ET4vSFDKUWDZK\nMa3dB1urM/+kmQ1eBd7o3OAJtRuGMG3O5CS5ektSTCKyoruvD0Gjh6Q0CCToJrw5u47dP/jdwIan\nxLIx3pASr08R7yn6gijqybukMHfGXFliSYJM6v6k5bWDAwJJaRBI0I29OSWYOpIrjYS5E0RRr4S5\ntIxYU85kGUYvpcikr08mIZCUBnNIcJ3HfohEnjpiI3XSp1FBtWWJea9BrX0r9X6kUa8MYdqchKS3\nUu83qLUrThQXVEt9jkNiXEa8frao80mYTFI4BBJc56naIHYaaa/tAC2ZCodtiXlvRbMNUTQYLJa2\nzkonoiXmvRLHEsskVnspCnZskv0Que1iPQWMAIbsoNvUqVNPl24Ub/tU6Su8hekiueZF/F2Fw5Z/\n8oghTJs7I1XKEbzK2iJRa8GFlUkYslMa9JCASKjzFi2NyiTfwLuo3rrEvDc50vBW6v1Io+FJ1hm2\nzkpPjjRIPIIXb0jRqHXinTar0i8itR4DdwqEQALRVdYWSbkXg63VueJEccE5y9ZZizBGN0LCCF5R\ng3WJea9whKCoNOqoeENKY4tVvEwKmvZrCsNpSYqDQAIiMQsZGlusNfZyydKIzRihY8SXIUy7dVZ6\nRoxJsq6SRh01Z1pWjb1crExS6yU43AuGCoEEImpssZZVFYq9MYygoNqSf/IIOkZi8O4qSZZJaUmr\nGlusjS1WCZ4OlACBBGJxuZvet2yU5kQJNkzHSunQMRIP6yoRkTTDd6yfVFZV6HI3if1coAQIJBDL\nsapCaU7bE4bp2N9KEBXrKkk2fKdRRyXGpZdYNon9RKAECCQQBVsAK0EaYZhOFmz4rqLZJkEmxetT\n4vWzWaEmBDYEEvDHJqIlWACbf/IIhunkwtYnSZRJhhSnu0m8ojtQCAQScMbK6uaIXMjAJo2IyH+H\n6eqcbd7/k7s5w8EyicSfUmKTSShwCHghcjcAAg0rq9Ooo8R7CrYFQ3KkQeHDdHXONrPNef5KGxGZ\n7U4iqrsyQPYYtaHsQapBS0TzDFr2TfalArEpJSJacaJ466x08TZ0YIcnlVUVpiWtEvXVBTJCIAFP\nJZaN8frZok4d2VqdS8x7t85apMBhujpn266zDiIy251mm9OoDTWODTVqQ43a0GyTjn1JXqnT89e7\nH1xpq3O2nb/SVmpzslRjv5Jq0M4zaBWYT+xsQ7EzKTrCFK+ffayqUPYD70EkCCTgpsZeRiJPHSkw\njVgIeSdQql6bm6RPTR/y32UhqHomVp2zjaVUqc1ZaHWwTDJqQ+cZtAoJJ3b6u9iZJOzgINfRjiAq\nbK4K3Ua40aTL3bT/2FpR67wrHLYVJw4pJI1YDhVaHUTEQih7iq6vro8Yz262Ob3DKdukU0Iysbk9\nUXezdbmbSiybuKxvw+aqSoNAgm4jfHOWWDYmxmWImkb5J4/Ivm+3dw5lmXSyd1BYz4klk0KaxGb4\nRD0QvcZeVllbPPKj/BBISoNAgm4jeXNW1hY1tljFG9lXQt8ov8KunD/6vapztrFGGrWhucn6LJNO\nrpZIkElsWdIId6VCICkNyr5hpBpbrJXni8Wr87a1OmVMI/ZX/oYdHxdaHVkm3dkHpucm6xWYRkRk\n1IYWpE5kLdxldUz5+6n8CrssBeWsHDz/5BHxasET49JRBR54EEgwUpW1RQuSnhKpElfGKgYWRQuL\nqono7APT2R96idswDEZtaJZJdzg94XBGQp2zbWFRtSyxxHa9W3GiWKRMYlsKYfuGAINAghFhi+dF\nmjpiM+TSpxGLoil/P0VEhzMScpP1klUrcMQ6TIczEohIllgyhGlzJieJl0nxenHP8QPpIZBg+Fzu\nJlEH68Seh+j9Sb16RX4aRd7YfJJ3LEn57BmxJpZJIt2fnZmEgbuAgUCC4TtWVZg4KV2kwboVJ4qT\nIw0ZsaJvzyow25xT/n7KbHf6b6+oL96xxOaWJHvqjFhTRowp/+QRMW7OBu7QSQoYCCQYpsYWq8vt\nEGl9ItuvU7KdgeqcbQuLq3PMFwpSJx5OTwikKPLGYqkgdWKh1bGwuFqyETz2qUKkPVjZcDE6SYEB\ngQTDJN5RsBUOW1GDVbJdU9l0Uapee/aB6cosn+Mr1aA9nJGQqtdKNoLHJpNE2hdc2OOO+51Beggk\nGI7K2iKNWidGLcO1JUdSpBHrGBVaHf5SQceLMIJntjun/P2UBF0l4ayKCoeN+82jI0yobggMCCQY\nDvFqGdhpe+JthiZgM0asYxSoY3T9Y2V4WSadNF0l1k8SaXESq27ASef+DoEEQ1ZWVRivTxGjlmHF\nieKMGJMEZXX5FfYc84XD6QmjqmPUk9BVKrQ6JMikZJ0hI8ZUcE6UgbvoCFNlrVjlfCANBBIMjcvd\nVGMvS4zjP6QmTSEDG6Yz252jZMZoMIzaUKEAT+zhu4xYk631ihiTSdi7IQAgkGBoRCr1rnDYCs5Z\n2PGj4hGG6Q6nJ4j6RH5H2P5uYZG41XdsMqmowcp9Mgkl4AEAgQRD0NhivdhiFaPUu+CcReypI7PN\niWG6/rHhuxzzBVGH74TJJO53jo4wXUQnyZ8hkGAIKmuLEieJNVgn6tQRS6OC1IkYpusfq3Qw252i\nZlJGrClZZ+CeSRp1VMq0LHSS/BcCCQZLpO4RG6wTtc670OrIMV/ApNEgsUwSu8whZ3KSrfUK94E7\ndJL8GgIJBkus7tE5y9ZZi7jfVpBfYd9ldZx9YLp4TxF4WJmDqP0kQ5hWjC2F0EnyawgkGBSXu0mM\n7pHYg3U55gtmuxMlDMMgwdidSAN36CT5LwQSDEplbXG8PoXvPW2tTlEr69iBC0ijYZMgk3ImJ1U4\nOG/foFFHxetTam1lHO8J0kAgwaCIsfaInS4hUmVdodVRaHUgjUZI7ExiFXfcl8qyNUl87wkSCJG7\nAeAHKmuLuG/NUOGw2VqdObNEWQZrtjnzK+zKmTeqc3Scb+ootbqJqM7RWefoIKLzTR0+l02KCjHq\nQohonukGoy5knkktfVN7YpnEasHFqJhP1hnYsiSOI7cadRTb3U6k3ehBJAgkGFiNvZz7xt75J4/k\nzpjL956MUOEtxs0Hr87R8WqZ01x9leUQCxijLtioC2Z5Mynqa+++800dQlCVWq/WOVxpmxvZZakJ\nN8wzqWXMJyGTzDYn90pFYVnSW6n3c7wt2wIcgeRfEEgwgBp7GfeNvYvqrYYwrRi1DGxnoMPpCXJV\neJda3aVWd/6hSyyBUhNuyF0UPpgsYX0jbyyfSq3uUutVFk7zTOp5phuyZ8vwf41l0sKi6sMZ/M+L\nStYZDGHaonorx/MY2RbgjS1WMfakB5GoPB6P3G0ARZg6deqZM2d6fr/EsjHekMK3omGJeW/ujLli\nBNLC4urcJL30acT6QyyHsmdrHk7R9gwYLk9hrr56vqljnkmdPVsjfZ+JLU4SYyzU1upccaKYbyep\nxl5WYytLS3qqrwv6es2DXNBDgv6wau9+3tLDUFBtSdYZREqjVL1W4jTaVe7MK75ERNmzNdXrYrnn\nkMCoC1mbHkHXkmnZ7iYiWpseLmWHKcukO3+lTYwRUUOY1hCm5TuQGx1hKqsqRCfJj6DKDvojRrV3\nwTlLRgz/4jdWBiblPnV5xS0Jz9bnFV9iUbQ2PUK8NPLGkun9VdFr08N3lbsSnq3PK26R4HmZ7Cm6\nOmebGEV3uTNSUf89yiGQoD+NLVa+1d4F1Ra2HJLjPYnIbHP+1mKXrMi71OpOeLZ+V7lrbXo4iyJp\nntebUReSPVtbsjJ6bXq4ufpqwrP1u8r5H3zXy/NeKwQ32zg/HZtW5LtOFvXf/gWBBH1i5Qx8q71F\n6h6xbby537anOkdH2ubGZbubdjwUVb0uVpb6Ah9CLOUVX1q2u4mVQojKqA3NTdLnmC9wvzNbJ8vx\nhqz+G5nkLxBI0KeLzdZ4A8/xOlZGxb17lGO+kGqQYuqIjdGlJtxQvS5WIYuEBNmzte+vijbqghds\napSgq8T+wblnEptJKqrnmR/RESZsbecvEEjQpxp7Gd/ZYDG6R2ab02xzir3qiHWMzNVX5RqgGwxh\nbul8U0fCs/Vid5Vyk/XsH5/vbblv3BBvSHG5HRxvCOJBIEHvauxlfHdnEGntkQRrYNmMUWrCDSUr\no6UpWxgJFkvZszULNjWKWuwgrJble1thTRKvG2LUzo8gkKB3F5ut4yO5LoZtsGbEcK6+za+wG8eG\nijpYl1fcsmx3U8nKaMV2jHrFukq7yl2iDt+lGrTGsaHcMylnclJRA8/8iDekYNTOLyCQoHd8x+sq\nHLYKh53jOnwiqnO2/dZiF7V7JAzTKW3GaDCMuhA2fMdWLImkIHUi94E7Q9jYCoedY3VDdIQJo3Z+\nAYEEveA/XtdQzTeNiCjHfOGZJD33bWwEbLeekpXRIt1fAkZdyMMpWqMuOOHZerGeQhuam6zPt/Bc\nlsR2tytqqOZ1Q4za+QsEEvSC/3hdvTVnMs+Nvc02Z92VNpGWwbIShtSEG3Y8xLPkXRbClJJ4ZQ5s\nyJRvJykj1sS3/hu1dn4BgQS94LvbCqv25nvuUb5FlKMQiKjO0bFsd1P2bI1/TRr1TyhzECOTjNrQ\nbJOO70wS9/pv1Nr5BQQS+Kqxl7ncTVzH66zJkTzDo9DqqLvSlmXScbyngKWREla88iVkkhg3Z9UN\nnDtJMSaOpQ0YtfMLCCTw5Wpt4rt/Hfdyhl1Wh0jdIzZvFHhpxLBMEqPGQYxObfzd7QAAIABJREFU\nUrLOwLe0QauOuth8ltfdQAwIJPBVYy/nOIHE95AbErN7lLa5kYgCYN6oH2vTI4y6YDEyiXsnyRCm\nTdbpKxzcyiXiDCnoISkcAgl8udxNHCeQCs5Z+I7XidQ9YmtI/bqmbpAeTtHWOTq4r5llnSS+5XZ8\nFyRp1TpMIykcAgm+psZeNj7CxHECydbq5NhDYkteuHeP2Bmvgd03Ehh1ITseihLOVuco1aCtu9LG\ntZM01tbq5DVqh2kk5UMgwddcbLZquW4XxH326Jkk/t0jtheD8rcF4sWoC8ldFM594M6oDc0y6XZZ\nufVCuI/aRUeYMI2kZAgk+JrGFp4rkMSor8uewrl7lLa5cZ5J7Y97MYwEOwSdeyZlT9GZbc46Zxuv\nG2bEmCqaudU1jI+cgh6SkiGQ4Gv4TiBVOOwcd1MttDqyTDq+WzOUWt3nmzpGyWCdDzaZxHfgzqgN\nNY4N3XWWWycpWWewtXIbA8Q0ksIhkOA69uGR1wQS296b43rY/Ap7Nu/ZI3bUHt97+guRBu5yk/SF\nXEftDGFajtNIdO11Dgo0WgbNYTBcbp4rkCqaeXaP2EAQ342984pbJkWFSDxYZ6u/1NBwqeJ4na3h\nkvf3k2cZicgQGz5zlrinaXibZ1JPigrJK27huC2FcWxonbPNbHPy+o+VHGng2NXWqHUXm8/yPegL\neEEgwXV8t7CrcNg47l+3y+rgW1xX5+jIP3Spel0sx3v2xVZ/6eC+T20Nlw7uqzTEhhtiwmfOmmiI\nCTfEXo+BihN1DfWXKk5cYBcsvufWxfckStC2HQ9FLdjU+HCKlldNh1Eb+kySfpfVwS2QdPr8k0dy\nEvi8lqIjTI0tVin+ZWHoEEhwHd+KBu4F33xPmni1zJm7KFzsyjoWRdu3HjXEhi/OTDz+2dN9XSnE\nj63+0kcnLhzc9+n2rUdmzpqYcc+tovaZjLoQVt3AcQ3WPK6nm7Pib153Gx85pcZezutuwBcCCa7j\nWNFQVG9N1nGrryu0OviO17HuUfuLRl437IlF0cH9lf3nUE+G2PDFsYmL70lkd8j7zcGZsyY+tmKu\nITZcpKY+nKLNP3Sp1OrmNXop7P/N5T/ZteJvG5dRO61alC0QgQsUNcDX8KposLU6DWFjudyKiM7z\n3isor/iSqBvWbd9yJPN7W4lo/3srHnti7vBuYogNf+yJuS+/8qAhJnz50te2bznCtY3Xse37dpW7\nON4z1aAt5bdClk0jcbkV6hqUDIEE13GsaLC5nRxXIBVaHfO4ljPsKneuTRelw2Grv7T8kdcO7q/c\ntvPBYUeRNyGWPjpxIfN7W231lwb+naFbmx5eanVzPJwi26Qz2/kFkk7PcTWSBp0kpUIggSh4DbAw\ndU6ePaRlu5uyZ3Obw/fGMmPmrIn731vBd+LHEBv+8s4HF2cmLl/6mhiZZNSFzDOp84q53ZlttMpr\nhSzfaSTs16BYCCS4jm9FA68VSIW86+tKre7s2RqON2Q+OnHh8Ude49Ux6tVjT8x9bMXc5Utf++gE\nz4MemOzZGo6LZI3aULa1HZe7GcK0tlYnx0zCkJ0yIZCAP74VDRynIohoV7mzztHBfe2RkEZiryJa\nfE/iYyvm5v3mIPdMYmuSOGZSqp7rNJJOb2u9wuVW4yOncLkPcIdAgus4rhbkWNFgtjk5TiCVWq/m\nLuI8eyRZGjHiZVJqwg35h7iN2s0zaDlOIxnCxvKqa8AGQoqFQBqCrq6u2trao0eP1tfXezyefq7s\n6OhoaGhoaGiQrG1c8Cqxq2i2c6xo4Fvwvavc+XAK5/q6vN8clCyNGCGT+M4nPZyiPd/Era7BODaU\n15AdERnUWo51DS43/yMKYeQQSINy9erVvLy822+//a677lq2bNl3v/vdO+64Y/v27e3t7b1eX1tb\nO3/+/Pnz50vczmHjO6TO8dhpdrgOrw1Vd5U755nUfMsZlj/y2sxZE6VMI2bxPYkzZ03cvpVnLbhR\nF8Jx1I5ttMrreCSOg8AadZRGHYVpJAVCIA3s0qVLDzzwwGuvveZyXV+ocfny5RdeeOHf//3fL10S\npQxXYtw/MPIqseNbX1dqvco3jT46caHixIW1zy3meM/Be2zF3I9OXOA7cJeacAPf/b+VWWiHym9l\nQiANbMuWLVVVVUQ0bdq0NWvWbNq0adWqVbfccgsRnT59etmyZa2trXK3UVk4ltiV2pwcz5sotbrn\n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\nCYEEIIojR4489thj7P2VlJRksViIaNy4cfv27UOpN0CvMIcEIIq5c+c++uij7DFLIyLasGED0gig\nLwgkALGsXr06MTFR+PLuu+/udWUSADAIJACxtLe3X7lyRfjy6NGjFy9elLE9AAqHQAIQy/r168+f\nPy982dzc/Mtf/hKztgB9QSABiOLw4cN79+4louDg4F/84hcqlYqIPvzww7/+9a9yNw1AoRBIAPw1\nNjY+88wz7PFPfvKTZcuWPfTQQ+zLP/3pT5999pl8TQNQLpR9A3Dm8XiWLl167NgxIpoyZcqbb745\nZsyY1tbWzMzMuro6IoqLi3vrrbfCwsLkbimAsqCHBMDZjh07WBqFhIQ8//zzY8aMIaKwsLANGzYE\nBQURUW1t7XPPPSdzKwGUB4EEwNNnn322ceNG9vjxxx+fPn268KOZM2dmZ2ezx2+88ca7774rQ/sA\nFAxDdgDctLa23nvvvTU1NUQ0ffr0N954w2eLILfbfc8999TW1hLRuHHjDhw4oNfr+7nhm2++efr0\n6R/+8IdTp04VteUASoAeEgA3v/vd71gajRkz5vnnn++5YZ1arf7d737Hzqe4fPnymjVrurq6+rpb\na2vr+vXrX331Ve/acYAAhkAC4OP999//29/+xh4/8cQTU6ZM6fWy2267benSpezx8ePHt2/f3tcN\nt23b5r2uFiDgYcgOQHHOnj27Y8cO4fCkzZs3f//735e3SQASwB74AEpRVFS0a9euxsZGm80md1sA\nZIBAAlCKzz///OOPP+75fbbLA0DAQyABKMXdd9996623Cl82Njb+6le/krE9ABJDIAEoRWxsrPdp\nSWxbB4DRA1V2AACgCAgkAABQBAQSAAAoAgIJAAAUAYEEAACKgEACAABFQCABAIAiIJAAAEAREEgA\nAKAICCQAAFAEBBIAACgCAgkAABQBgQQAAIqAE2MBAP5/+3VMAwAAACCof2treEAJJwsOCYAFQQJg\nQZAAWBAkABYECYAFQQJgIQQLvJuCBsowAAAAAElFTkSuQmCC\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ezcontour('sqrt(x.^2+y.^2)',[-1 1],[-1 1])\n",
"axis equal, title('2-norm')\n",
"xlabel('x_1'), ylabel('x_2')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nhw+v55BdVFSUNyeDjh07ajeOHTtW1zaOh7i4KgITQfJb4eHh4eHhVs8CVzkak56eXtc22oXABUFC\noOKQHeANffv21ZYqHDt2rK7TjA4ePKjdcLmmABAgCBLgDc2aNfvFL34hhLDZbG+88UbNDX788Uft\nEGujRo1uv/12L08PUAFBArzEcb3UxMREx9E5TXV19fz58+12uxBi2LBhbdq0sWB+gNUIEuAl9957\n76233iqEqKqqevTRR//+978fPXo0Nzd3586dDz30UEpKihCiadOmf/jDH6yeKWANFjUA3rNgwYKp\nU6emp6cXFRUtWLDA5dGmTZsuXLiQFQ0IWOwhAd4THR29efPmWbNmOa6jqmncuPHtt9++bdu2u+++\n26q5AZYL0g5bA/Cy8+fPayvuunXr1qlTp+DgYKtnBFiMIAEAlMAhOwCAEggSAEAJBAkAoASCBABQ\nAkECACiBIAEAlECQAABKIEgAACUQJACAEggSAEAJBAkAoASCBABQAkECACiBIAEAlECQAABKIEgA\nACUQJACAEggSAEAJBAkAoASCBABQAkECACiBIAEAlECQAABKIEgAACWEWD0BwE9UVVXl5+drtxs1\nahQdHV3XlgUFBeXl5UKIoKCgjh07eml+gPKC7Ha71XMA/MSMGTN27Nih3V6+fPnIkSNrbvP9998/\n8sgjVVVVQohJkyY9//zzXp0ioDCCBJjm0qVLCQkJeXl5QojWrVtv27atdevWzhuUlpYmJCTk5uYK\nIfr37//ee++FhHCUAriKz5AA07Ro0eIvf/lLcHCwEOLChQtz58512WD+/PlajVq0aPHXv/6VGgHO\nCBJgpgEDBjz99NPa7R07diQlJTke+uijjxw/Ll68uJ4PmYDAxCE7wGTV1dUTJ07ct2+fEKJ58+Zb\nt26NiorKy8tLSEi4dOmSEOLXv/71Cy+8YPU0AeUQJMB8Z8+eve+++y5cuCCEuOmmm1avXv34449/\n++23Qoi+fftu2LCBg3VATQQJ8Ijdu3c/+eST2vsrPj7+4MGDQogWLVokJSWx1BuoFZ8hAR4xdOjQ\nSZMmabe1GgkhFi1aRI2AuhAkwFOeffbZPn36OH689957az0zCYCGIAGeUlFRUVxc7PgxOTm5oKDA\nwvkAiiNIgKcsXLjwxIkTjh8LCwuff/55PrUF6kKQAI/47LPP3n//fSFEcHDw7373u6CgICHE119/\nvWbNGqunBiiKIAHmO3PmzJw5c7TbU6ZMmTx58mOPPab9+Ne//vXw4cPWTQ1QF8u+AZPZ7faJEyfu\n3btXCBEbG7tp06bQ0FCbzZaQkJCdnS2E6Nq16+bNm8PCwqyeKaAW9pAAk61evVqrUUhIyOLFi0ND\nQ4UQYWFhixYtatSokRAiKyvrT3/6k8WzBNRDkAAzHT58+LXXXtNuP/XUUz179nQ8NHDgwAkTJmi3\nP/jgg08//dSC+QEK45AdYBqbzTZ27Njjx48LIXr27PnBBx+4XCLo8uXLo0ePzsrKEkK0aNFi69at\nHTp0qGfATZs2HT169Fe/+lVcXJxHZw6ogD0kwDSvvPKKVqPQ0NDFixfXvGBdkyZNXnnlFe37KS5d\nujR79uzq6uq6RrPZbAsXLly7dq3z2nHAjxEkwByff/75xo0btdszZsyIjY2tdbP+/ftPnDhRu71/\n//5Vq1bVNeCKFSucz6sF/B6H7ADlpKenr1692vHlSUuXLv3f//1fa6cEeAHXwAdUsW3btnXr1p05\ncyY/P9/quQAWIEiAKnJzc7///vua92tXeQD8HkECVHHvvff27dvX8eOZM2d+//vfWzgfwMsIEqCK\njh07On9bknZZByBwsMoOAKAEggQAUAJBAgAogSABAJRAkAAASiBIAAAlECQAgBIIEgBACQQJAKAE\nggQAUAJBAgAogSABAJRAkAAASuAbYwEASmAPCQCgBIIEAFACQQIAKIEgAQCUQJAAAEogSAAAJfw/\n++rwVfT/TQYAAAAASUVORK5CYII=\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ezcontour('abs(x)+abs(y)',[-1 1],[-1 1])\n",
"axis equal, title('1-norm')\n",
"xlabel('x_1'), ylabel('x_2')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nUqCQAABS+P9D1K6e4Np2lgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ezcontour('max(abs(x),abs(y))',[-1 1],[-1 1])\n",
"axis equal, title('\\infty-norm')\n",
"xlabel('x_1'), ylabel('x_2')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Induced matrix norms"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A matrix norm is the maximum of $\\|Ax\\|$ over all unit vectors $x$. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"A = [-2 0; -1 3];\n",
"t = linspace(0,2*pi,300);\n",
"x1 = cos(t); x2 = sin(t);\n",
"Ax = A*[x1;x2];\n",
"subplot(121), scatter(x1,x2,4,t,'.'), axis equal, axis off, title('x')\n",
"subplot(122), scatter(Ax(1,:),Ax(2,:),4,t,'.'), axis equal, axis off, title('Ax')\n",
"colormap(hsv)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"plot(t,sqrt( sum(Ax.^2,1) ))\n",
"xlim([0 2*pi])\n",
"xlabel('angle'), ylabel('||Ax||_2')\n",
"hold on, plot([0 2*pi],[norm(A),norm(A)],':')\n",
"text(6.4,norm(A),'||A||_2')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"t = linspace(-1,1,100); o = ones(size(t));\n",
"x1 = [t,o,t,-o]; x2 = [o,t,-o,t];\n",
"Ax = A*[x1;x2];\n",
"subplot(121), scatter(x1,x2,4,1:400,'.'), axis equal, axis off, title('x')\n",
"subplot(122), scatter(Ax(1,:),Ax(2,:),4,1:400,'.'), axis equal, axis off, title('Ax')\n",
"colormap(hsv)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"plot(max(abs(Ax),[],1))\n",
"ylabel('||Ax||_\\infty')\n",
"hold on, plot([1 400],[norm(A,inf),norm(A,inf)],':')\n",
"text(402,norm(A,inf),'||A||_\\infty')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The `max` and `sum` functions can operate along a specified dimension of a matrix, making the matrix norm easy to compute directly."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"onenorm = max( sum(abs(A),1), [],2)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"infnorm = max( sum(abs(A),2), [],1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Unitary matrices"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A unitary (or real orthogonal) matrix preserves the 2-norm---i.e., Euclidean distances. So they represent rotations and reflections. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"[Phi,Theta] = ndgrid(linspace(0,1.5*pi,60),linspace(0.25*pi,pi,50));\n",
"x = [ cos(Phi(:)).*sin(Theta(:)) sin(Phi(:)).*sin(Theta(:)) cos(Theta(:)) ];\n",
"[Q,~] = qr(magic(3));\n",
"Qx = (Q*x')';\n",
"\n",
"colr = sum(x,2);\n",
"subplot(121)\n",
"scatter3(x(:,1),x(:,2),x(:,3),40,colr,'.')\n",
"axis equal, title('x')\n",
"subplot(122)\n",
"scatter3(Qx(:,1),Qx(:,2),Qx(:,3),40,colr,'.')\n",
"axis equal, title('Qx')\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Matlab",
"language": "matlab",
"name": "matlab"
},
"language_info": {
"codemirror_mode": "octave",
"file_extension": ".m",
"help_links": [
{
"text": "MetaKernel Magics",
"url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
}
],
"mimetype": "text/x-octave",
"name": "matlab",
"version": "0.11.0"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment