import functools
from typing import Callable, Tuple
import altair as alt
import numpy as np
import sympy as sp
import pandas as pd
from IPython import display
import matplotlib.pyplot as plt
Plot vector norms in 2D. e.g.
Set $||\mathbf{v}|| = 1$,
def calc_v2(v1, p):
"""Calculates the second element in vector v."""
return (1 ** p - np.abs(v1) ** p) ** (1 / p)
fig, axes = plt.subplots(2, 4, figsize=(12, 6))
axes = axes.ravel()
v1s = np.array(np.arange(-1, 1, 0.01).tolist() + [1])
for index, p in enumerate([0.1, 0.3, 0.5, 1, 2, 2.5, 5, 100]):
ax = axes[index]
v2s = (1 ** p - np.abs(v1s) ** p) ** (1 / p)
ax.plot(v1s, v2s, color='blue')
ax.plot(v1s, -v2s, color='blue')
ax.set(title=f"{p=:}")
ax.grid()
plt.tight_layout()