imate.sample_matrices.toeplitz_schatten#
- imate.sample_matrices.toeplitz_schatten(a, b, size, p=2)#
Compute the Schatten norm of Toeplitz matrix using an analytic formula.
The Toeplitz matrix using the entries \(a\) and \(b\) refers to the matrix generated by
imate.toeplitz()
.- Parameters:
- afloat
The diagonal elements of the Toeplitz matrix.
- bfloat
The upper off-diagonal elements of the Toeplitz matrix.
- sizeint, default=20
Size of the square matrix.
- pfloat, default=2
The order \(p\) of Schatten \(p\)-norm.
- Returns:
- logdetfloat
Natural logarithm of the determinant of Toeplitz matrix
See also
Notes
The Schatten \(p\)-norm of matrix \(\mathbf{A}\) is defined as
(1)#\[\begin{split}\Vert \mathbf{A} \Vert_p = \begin{cases} \left| \mathrm{det}(\mathbf{A}) \right|^{\frac{1}{n}}, & p=0, \\ \left| \frac{1}{n} \mathrm{trace}(\mathbf{A}^{p}) \right|^{\frac{1}{p}}, & p \neq 0, \end{cases}\end{split}\]where \(n\) is the size of the matrix. When \(p \geq 0\), the above definition is the Schatten norm, and when \(p < 0\), the above is the Schatten anti-norm.
Note
Conventionally, the Schatten norm is defined without the normalizing factor \(\frac{1}{n}\) in (1). However, this factor is justified by the continuity granted by
\[\lim_{p \to 0} \Vert \mathbf{A} \Vert_p = \Vert \mathbf{A} \Vert_0.\]For the matrix \(\mathbf{A}\) given in
imate.toeplitz()
, the Schatten norm (or anti-norm) is\[\Vert \mathbf{A} \Vert_p = a.\]Examples
>>> from imate.sample_matrices import toeplitz_schatten >>> a, b = 2, 3 >>> # Schatten 2-norm >>> toeplitz_schatten(a, b, size=6) 2.0