On this page
The operator norm of real matrices
Imports 2 library modules and 11 external
External: HB.structures, mathcomp.classical.all_ssreflect_compat, mathcomp.algebra.algebraic_hierarchy.ssralg, mathcomp.algebra.numeric_hierarchy.ssrnum, mathcomp.algebra.matrix, mathcomp.algebra.sesquilinear, mathcomp.classical.boolp, mathcomp.classical.classical_sets, mathcomp.reals.reals, mathcomp.analysis.topology_theory.topology, mathcomp.analysis.normedtype_theory.normedtype
Imported by 31
- GaussianAnalysis.matrix.lambda_max
- GaussianAnalysis.matrix.spectral_gap
- GaussianAnalysis.matrix.nets
- GaussianAnalysis.matrix.random_opnorm
- GaussianAnalysis.matrix.covering
- GaussianAnalysis.matrix.nuclear
- GaussianAnalysis.matrix.condition_cone
- GaussianAnalysis.matrix.tensor_packing
- GaussianAnalysis.probability.subgaussian_matrix
- GaussianAnalysis.probability.hanson_wright
- GaussianAnalysis.random_matrix.goe
- GaussianAnalysis.random_matrix.goe_edge
- GaussianAnalysis.random_matrix.wigner
- GaussianAnalysis.random_matrix.restricted_isometry
- GaussianAnalysis.random_matrix.matrix_series
- GaussianAnalysis.random_matrix.goe_entries
- GaussianAnalysis.comparison.escape
- GaussianAnalysis.comparison.cgmt
- GaussianAnalysis.convex.least_squares
- GaussianAnalysis.convex.feature_moments
- GaussianAnalysis.convex.gauss_feature
- GaussianAnalysis.convex.barrier_lindeberg
- GaussianAnalysis.convex.ridge_comparison
- GaussianAnalysis.convex.feature_mixture
- GaussianApplications.MatrixSeriesStatement
- GaussianApplications.MatrixSeriesTheorem
- GaussianApplications.GoeEdgeStatement
- GaussianApplications.SKGapStatement
- GaussianApplications.SKGapTheorem
- GaussianApplications.SKGap.Disorder
- GaussianApplications.SKGap.Poincare
Required by 38 files of the paper proofs
- extension/Condition/GaussianCone.v
- extension/Condition/Sat.v
- extension/Condition/Slices.v
- extension/Condition/Unsat.v
- extension/ConditionKappa/GaussianLimit.v
- extension/ConditionKappa/Sat.v
- extension/ConditionKappa/Unsat.v
- extension/Features/Mixture.v
- extension/Features/Regular.v
- extension/Gaussian/Limit.v
- extension/Gaussian/Representation.v
- extension/Gaussian/Subcritical.v
- extension/Mixture/Interpolation.v
- extension/Sat/ApproximateFit.v
- extension/Sat/Apriori.v
- extension/Sat/AprioriSparse.v
- extension/Sat/Interpolation.v
- extension/Sat/LightTail.v
- extension/Sat/LightTailBound.v
- extension/Sat/OneStage.v
- extension/Sat/SmallResidual.v
- extension/Sat/SparseLimit.v
- extension/Sat/SparseLower.v
- extension/Sat/Universality.v
- extension/Unsat/FourthMomentThree.v
- extension/Unsat/LeastSquares.v
- extension/Unsat/Regularized.v
- extension/Unsat/Ridge.v
- extension/Unsat/Universality.v
- theories/Feature/DiagonalTrace.v
- theories/Head/TailSupport.v
- theories/Spectral/OperatorNet.v
- theories/Spectral/OperatorTransport.v
- theories/Spectral/OrthogonalBounds.v
- theories/Spectral/SymmetricDiagonalization.v
- theories/SquareFree/EdgeLower.v
- theories/SquareFree/EdgeUpper.v
- theories/SquareFree/WalkNBEvent.v
The operator norm of A : 'M[R]_(m, n) is its norm as a linear map x |-> A *m x from 'cV[R]_n to 'cV[R]_m, both with the Euclidean norm frobenius. It is characterized by the inequality frobenius (A *m x) <= b * frobenius x (opnorm_leP) and by the bilinear inequality `|mxdot y (A *m x)| <= b * frobenius y * frobenius x (opnorm_bilinearP). For a symmetric matrix, it is the smallest b such that `|mxdot x (A *m x)| <= b * mxdot x x for every x (opnorm_symP), and the largest absolute value of an eigenvalue (opnorm_spectral). For a symmetric matrix and an even exponent p > 0, tr (A ^+ p) <= t ^+ p, or mxdot x (A ^+ p *m x) <= t ^+ p * mxdot x x for every x, gives opnorm A <= t (opnorm_le_trace_exp, opnorm_le_form_exp). The operator norm lies between the norm mx_norm of MathComp-Analysis and the Frobenius norm: mx_norm A <= opnorm A <= frobenius A (mx_norm_le_opnorm, opnorm_le_frobenius).
opnorm A | the operator norm of A, the supremum of frobenius (A *m x) over the columns x with frobenius x <= 1 |
Main results
| Results | Statement | Used by theories/ |
|---|---|---|
The operator norm sup_{|x| <= 1} |A x| is the least b with |A x| <= b |x|, and the least b with |y^T A x| <= b |y| |x|. It is a submultiplicative norm, invariant under transposition and orthogonal multiplication, and lies between the entrywise norm mx_norm of MathComp-Analysis and the Frobenius norm (mx_norm_le_opnorm, opnorm_le_frobenius). | Spectral/, SquareFree/, SquareFree/, Head/; opnorm_trmx inside the library only | |
For a symmetric matrix, opnorm A <= b if and only if |x^T A x| <= b x^T x for all x, and the operator norm is the largest absolute value of an eigenvalue. | Feature/, SquareFree/, SquareFree/, Spectral/, Spectral/, Head/ | |
For a symmetric matrix and an even exponent p > 0, opnorm A ^ p <= tr(A^p); so tr(A^p) <= t^p with t >= 0 gives opnorm A <= t, and so does x^T A^p x <= t^p x^T x for all x. | Feature/, SquareFree/, SquareFree/, SquareFree/ |
Declarations28 exported
Variable R : realType. Implicit Types m n p : nat.
forall [R : realType] [m n : nat], 'M_(m, n) -> RDefinition opnorm m n (A : 'M[R]_(m, n)) : R := sup [set frobenius (A *m x) | x in [set x : 'cV[R]_n | frobenius x <= 1]].
Used by 156 declarations in 28 files
- this file: opnorm_ub, opnorm_le, opnorm_ge0, opnorm_le_frobenius, frobenius_mulmx_opnorm, opnorm_leP, frobenius_mulmx_mx_opnorm, opnorm0, opnormZ, opnormN, opnormD, opnorm_mulmx, mxdot_opnorm, mxdot_delta_opnorm, mx_norm_le_opnorm, opnorm_bilinearP, opnorm_trmx, opnorm_orthogonalmxl, opnorm_orthogonalmxr, opnorm_symP, opnorm_spectral, opnorm_exp_le_trace, opnorm_exp_le_trace_even, opnorm_le_trace_exp, opnorm_le_form_exp
- GaussianAnalysis.matrix.lambda_max: lambda_max_ubound, lambda_max_has_sup, lambda_max_opnorm, lambda_max_lipschitz, opnorm_lambda_max
- GaussianAnalysis.matrix.spectral_gap: opnorm_row_sum
- GaussianAnalysis.matrix.nets: opnorm_net, mxdot_net_bound, opnorm_net_sphere, opnorm_net_bilinear, opnorm_net_sym
- GaussianAnalysis.matrix.random_opnorm: mxdot_psd_le, opnorm_sym_part_net, opnorm_sum_subexponential
- GaussianAnalysis.matrix.covering: colmax_le_opnorm, frob_sep, dual_ball_covering, product_covering, matrix_small_ball
- GaussianAnalysis.matrix.nuclear: nuclear, frobenius_le_opnorm, nuclear_has_sup, nuclear_ub, nuclear_le, mxdot_le_nuclear, frobenius_sqr_le_nuclear, nuclear_outer, nuclear_spectral, nuclear_sym, range_duality, range_duality_sym
- GaussianAnalysis.matrix.tensor_packing: opnorm_compress_gram, sudakov_mx_series, separated_card_sudakov, tensor_packing
- GaussianAnalysis.probability.subgaussian_matrix: opnorm_lip, measurable_opnorm, opnorm_tail_mgf, subgaussian_opnorm_tail
- GaussianAnalysis.probability.hanson_wright: gauss_chaos_mgf, opnorm_diag01, opnorm_hw_mask, hw_decoupled_mgf, hw_offdiag_mgf, entry_le_opnorm, hw_diag_mgf, hanson_wright_mgf, hanson_wright_upper, hanson_wright
- GaussianAnalysis.random_matrix.goe: goe_opnorm_lipschitz, integrable_goe_opnorm, opnorm_goe_mx, goe_opnorm_mean, integrable_goe_opnorm_expR, goe_opnorm_mgf, spec_le_opnorm, goe_clip_err, goe_clip_err2, goe_tr_var, goe_opnorm_tail_small
- GaussianAnalysis.random_matrix.goe_edge: lambda_max_net_le, goe_lambda_max_mean, goe_opnorm_edge_tail
- GaussianAnalysis.random_matrix.wigner: wigner, goe_stat_near, wigner_uniform
- GaussianAnalysis.random_matrix.restricted_isometry: tuple_submx_net, sparse_norm_subgaussian
- GaussianAnalysis.random_matrix.matrix_series: mxtrace_mul_psd_le, gauss_mx_series_trace_rec, gauss_mx_series_trace_le, gauss_mx_series_moment, mxdot_mulmx_opnorm_le, opnorm_block_diag_le, opnorm_le_sym_dilation, series_opnorm_lipschitz, measurable_series_opnorm, gauss_mx_series_opnorm_moment, gauss_mx_series_opnorm, gauss_mx_series_opnorm_log
- GaussianAnalysis.random_matrix.goe_entries: opnorm_diag_mx_le, opnorm_sub_diag_le, measurable_goe_opnorm_ge
- GaussianAnalysis.comparison.escape: opnorm_lipschitz, integrable_gauss_opnorm, gauss_opnorm_mean, gauss_opnorm_tail, gauss_opnorm_mean_sqrt
- GaussianAnalysis.convex.least_squares: regular_feature
- GaussianAnalysis.convex.feature_moments: form_le_opnorm, reg_lambda_gt0, reg_int4, reg_moment4, reg_resid4, reg_ell_var
- GaussianAnalysis.convex.gauss_feature: opnorm_sqr_le, gauss_regular_feature
- GaussianAnalysis.convex.barrier_lindeberg: ins_l_var, insertion_compare, loo_compare, objective_ge0, Phi_ge0, Phi_le, Phi_meas, int_Phi, int_Phi_set, ref_point, barrier_lindeberg_mean, loo_variance, Sbar_sqr_le, int_P4, ref_moment_bound, barrier_lindeberg_variance, barrier_lindeberg_concentration
- GaussianAnalysis.convex.ridge_comparison: ridge_comparison
- GaussianAnalysis.convex.feature_mixture: mixture_regular_feature_dot, mixture_regular_feature
- GaussianApplications.MatrixSeriesStatement: matrix_series_statement
- GaussianApplications.GoeEdgeStatement: goe_edge_statement
- GaussianApplications.SKGapStatement: sk_gap_statement
- GaussianApplications.SKGap.Disorder: sk_good_disorder, sk_coupling_opnorm_le, measurable_sk_coupling_opnorm, sk_good_disorder_measurable, sk_good_disorder_prob
- GaussianApplications.SKGap.Poincare: pair_quad_le, ising_gen_sq_ge, ising_cov_from_gap, gap_from_bounds, scaled_bounds, sk_gap_deterministic
forall [R : realType] [m n : nat] (A : 'M_(m, n)), has_sup [set frobenius (A *m x) | x in [set x | frobenius x <= 1]]
Statement as written in the source
forall [R : realType] [m n : nat] (A : 'M_(m, n)) [x : 'cV_n], frobenius x <= 1 -> frobenius (A *m x) <= opnorm A
Statement as written in the source
Used by 2 declarations in 1 file
- this file: opnorm_ge0, frobenius_mulmx_opnorm
forall [R : realType] [m n : nat] [A : 'M_(m, n)] [b : R], (forall x : 'cV_n, frobenius x <= 1 -> frobenius (A *m x) <= b) -> opnorm A <= b
Statement as written in the source
Used by 6 declarations in 4 files
- this file: opnorm_le_frobenius, opnorm_leP
- GaussianAnalysis.matrix.lambda_max: opnorm_lambda_max
- GaussianAnalysis.matrix.nets: opnorm_net, opnorm_net_sphere
- GaussianAnalysis.convex.gauss_feature: opnorm_sqr_le
forall [R : realType] [m n : nat] (A : 'M_(m, n)), 0 <= opnorm A
Statement as written in the source
Lemma opnorm_ge0 m n (A : 'M[R]_(m, n)) : 0 <= opnorm A.
Used by 42 declarations in 14 files
- this file: frobenius_mulmx_mx_opnorm, opnorm0, opnormZ, opnormD, opnorm_mulmx, mx_norm_le_opnorm, opnorm_trmx, opnorm_spectral, opnorm_le_trace_exp
- GaussianAnalysis.matrix.lambda_max: lambda_max_opnorm, opnorm_lambda_max
- GaussianAnalysis.matrix.nets: opnorm_net, mxdot_net_bound, opnorm_net_sphere, opnorm_net_sym
- GaussianAnalysis.matrix.covering: colmax_le_opnorm
- GaussianAnalysis.matrix.nuclear: mxdot_le_nuclear
- GaussianAnalysis.matrix.tensor_packing: sudakov_mx_series, separated_card_sudakov
- GaussianAnalysis.probability.hanson_wright: gauss_chaos_mgf, opnorm_hw_mask, hw_decoupled_mgf, hanson_wright_mgf
- GaussianAnalysis.random_matrix.goe: goe_clip_err, goe_clip_err2, goe_tr_var
- GaussianAnalysis.random_matrix.goe_edge: lambda_max_net_le
- GaussianAnalysis.random_matrix.matrix_series: gauss_mx_series_trace_le, mxdot_mulmx_opnorm_le, opnorm_block_diag_le, opnorm_le_sym_dilation, gauss_mx_series_opnorm_moment, gauss_mx_series_opnorm, gauss_mx_series_opnorm_log
- GaussianAnalysis.convex.gauss_feature: opnorm_sqr_le, gauss_regular_feature
- GaussianAnalysis.convex.barrier_lindeberg: objective_ge0, Phi_meas, ref_point
- GaussianAnalysis.convex.ridge_comparison: ridge_comparison
- GaussianApplications.SKGap.Poincare: pair_quad_le, scaled_bounds
Statement as written in the source
Used by 10 declarations in 10 files
- this file: opnorm0
- GaussianAnalysis.matrix.lambda_max: lambda_max_lipschitz_frobenius
- GaussianAnalysis.matrix.covering: colmax_le_frobenius
- GaussianAnalysis.matrix.nuclear: frobenius_le_nuclear
- GaussianAnalysis.probability.subgaussian_matrix: opnorm_lip
- GaussianAnalysis.probability.hanson_wright: hanson_wright_subexponential
- GaussianAnalysis.random_matrix.goe_edge: goe_lambda_max_lipschitz
- GaussianAnalysis.random_matrix.goe_entries: measurable_goe_opnorm_ge
- GaussianAnalysis.comparison.escape: opnorm_lipschitz
- GaussianApplications.SKGap.Disorder: measurable_sk_coupling_opnorm
forall [R : realType] [m n : nat] (A : 'M_(m, n)) (x : 'cV_n), frobenius (A *m x) <= opnorm A * frobenius x
Statement as written in the source
Used by 13 declarations in 7 files
- this file: opnorm_leP, frobenius_mulmx_mx_opnorm, opnormZ, opnormD, opnorm_mulmx, mxdot_opnorm
- GaussianAnalysis.matrix.nets: opnorm_net
- GaussianAnalysis.matrix.covering: colmax_le_opnorm
- GaussianAnalysis.probability.hanson_wright: gauss_chaos_mgf
- GaussianAnalysis.random_matrix.restricted_isometry: sparse_norm_subgaussian
- GaussianAnalysis.random_matrix.matrix_series: mxdot_mulmx_opnorm_le, opnorm_le_sym_dilation
- GaussianAnalysis.convex.gauss_feature: opnorm_sqr_le
forall [R : realType] [m n : nat] (A : 'M_(m, n)) [b : R], 0 <= b -> (forall x : 'cV_n, frobenius (A *m x) <= b * frobenius x) <-> opnorm A <= b
The operator norm sup_{|x| <= 1} |A x| is the least b with |A x| <= b |x|, and the least b with |y^T A x| <= b |y| |x|. It is a submultiplicative norm, invariant under transposition and orthogonal multiplication, and lies between the entrywise norm mx_norm of MathComp-Analysis and the Frobenius norm (mx_norm_le_opnorm, opnorm_le_frobenius).
theories/ by: Spectral/SymmetricDiagonalization , SquareFree/EdgeLower , SquareFree/WalkNBEvent , Head/TailSupport ; opnorm_trmx inside the library onlyStatement as written in the source
Used by 10 declarations in 5 files
- this file: opnormZ, opnormD, opnorm_mulmx, opnorm_bilinearP, opnorm_symP
- GaussianAnalysis.matrix.nuclear: nuclear_outer
- GaussianAnalysis.probability.hanson_wright: opnorm_diag01
- GaussianAnalysis.random_matrix.matrix_series: opnorm_block_diag_le, opnorm_le_sym_dilation
- GaussianAnalysis.random_matrix.goe_entries: opnorm_diag_mx_le
Statement as written in the source
Used by 1 declaration in 1 file
- this file: frobenius_mulmx_mx_opnorm
forall [R : realType] [m n p : nat] (A : 'M_(m, n)) (X : 'M_(n, p)), frobenius (A *m X) <= opnorm A * frobenius X
Statement as written in the source
Used by 2 declarations in 2 files
- GaussianAnalysis.matrix.nuclear: frobenius_le_opnorm
- GaussianAnalysis.convex.gauss_feature: gauss_regular_feature
forall (R : realType) (m n : nat), opnorm (0 : 'M_(m, n)) = 0
Statement as written in the source
Lemma opnorm0 m n : opnorm (0 : 'M[R]_(m, n)) = 0.
Used by 6 declarations in 4 files
- this file: opnormZ
- GaussianAnalysis.matrix.nuclear: nuclear_has_sup, nuclear_ge0, range_duality
- GaussianAnalysis.probability.hanson_wright: hanson_wright_upper
- GaussianApplications.SKGap.Disorder: sk_good_disorder_prob
Statement as written in the source
Used by 8 declarations in 5 files
- this file: opnormN
- GaussianAnalysis.matrix.nuclear: mxdot_le_nuclear, nuclear_sym, range_duality, range_duality_sym
- GaussianAnalysis.random_matrix.goe: opnorm_goe_mx
- GaussianApplications.SKGap.Disorder: sk_coupling_opnorm_le
- GaussianApplications.SKGap.Poincare: scaled_bounds
Used by 7 declarations in 5 files
- GaussianAnalysis.matrix.lambda_max: lambda_max_lipschitz, opnorm_lambda_max
- GaussianAnalysis.matrix.nuclear: mxdot_le_nuclear
- GaussianAnalysis.probability.hanson_wright: hanson_wright
- GaussianAnalysis.random_matrix.goe_entries: opnorm_sub_diag_le, measurable_goe_opnorm_ge
- GaussianApplications.SKGap.Disorder: measurable_sk_coupling_opnorm
Stated in the README together with opnorm_leP.
Statement as written in the source
Used by 10 declarations in 7 files
- GaussianAnalysis.matrix.nuclear: nuclear_sym, range_duality, range_duality_sym
- GaussianAnalysis.probability.subgaussian_matrix: opnorm_lip
- GaussianAnalysis.random_matrix.goe: opnorm_goe_mx
- GaussianAnalysis.random_matrix.goe_entries: opnorm_sub_diag_le, measurable_goe_opnorm_ge
- GaussianAnalysis.comparison.escape: opnorm_lipschitz
- GaussianApplications.SKGap.Disorder: measurable_sk_coupling_opnorm
- GaussianApplications.SKGap.Poincare: gap_from_bounds
forall [R : realType] [m n p : nat] (A : 'M_(m, n)) (B : 'M_(n, p)), opnorm (A *m B) <= opnorm A * opnorm B
Stated in the README together with opnorm_leP.
Statement as written in the source
Used by 1 declaration in 1 file
- GaussianAnalysis.probability.hanson_wright: opnorm_hw_mask
forall [R : realType] [m n : nat] (A : 'M_(m, n)) (y : 'cV_m) (x : 'cV_n), `|mxdot y (A *m x)| <= opnorm A * frobenius y * frobenius x
Statement as written in the source
Used by 12 declarations in 8 files
- this file: mxdot_delta_opnorm, opnorm_bilinearP, opnorm_trmx, opnorm_symP, opnorm_spectral
- GaussianAnalysis.matrix.lambda_max: lambda_max_ubound
- GaussianAnalysis.matrix.nets: mxdot_net_bound
- GaussianAnalysis.matrix.nuclear: nuclear_outer
- GaussianAnalysis.matrix.tensor_packing: sudakov_mx_series
- GaussianAnalysis.random_matrix.goe_edge: lambda_max_net_le
- GaussianAnalysis.convex.feature_moments: form_le_opnorm
- GaussianApplications.SKGap.Poincare: pair_quad_le
forall [R : realType] [m n : nat] (A : 'M_(m, n)) (i : 'I_m) (j : 'I_n), `|A i j| <= opnorm A * frobenius (delta_mx i 0 : 'cV_m) * frobenius (delta_mx j 0 : 'cV_n)
Statement as written in the source
Used by 5 declarations in 5 files
- this file: mx_norm_le_opnorm
- GaussianAnalysis.matrix.random_opnorm: mxdot_psd_le
- GaussianAnalysis.matrix.nuclear: nuclear_spectral
- GaussianAnalysis.probability.hanson_wright: entry_le_opnorm
- GaussianAnalysis.random_matrix.matrix_series: mxtrace_mul_psd_le
forall [R : realType] [m n : nat] (A : 'M_(m, n)), mx_norm A <= opnorm A
Statement as written in the source
Lemma mx_norm_le_opnorm m n (A : 'M[R]_(m, n)) : mx_norm A <= opnorm A.
Used by 1 declaration in 1 file
- GaussianAnalysis.convex.gauss_feature: gauss_regular_feature
forall [R : realType] [m n : nat] (A : 'M_(m, n)) [b : R], 0 <= b -> (forall (y : 'cV_m) (x : 'cV_n), `|mxdot y (A *m x)| <= b * frobenius y * frobenius x) <-> opnorm A <= b
Stated in the README together with opnorm_leP.
Statement as written in the source
Used by 2 declarations in 2 files
- this file: opnorm_trmx
- GaussianAnalysis.matrix.nuclear: range_duality
Stated in the README together with opnorm_leP.
Used by 5 declarations in 4 files
- GaussianAnalysis.matrix.nuclear: nuclear_sym, range_duality_sym
- GaussianAnalysis.probability.hanson_wright: opnorm_hw_mask
- GaussianAnalysis.random_matrix.goe: opnorm_goe_mx
- GaussianAnalysis.convex.feature_moments: form_le_opnorm
forall [R : realType] [m n : nat] [P : 'M_m] (A : 'M_(m, n)), P \is orthogonalmx -> opnorm (P *m A) = opnorm A
Statement as written in the source
Lemma opnorm_orthogonalmxl m n (P : 'M[R]_m) (A : 'M[R]_(m, n)) : P \is orthogonalmx -> opnorm (P *m A) = opnorm A.
Used by 3 declarations in 3 files
- GaussianAnalysis.matrix.random_opnorm: mxdot_psd_le
- GaussianAnalysis.matrix.nuclear: nuclear_spectral
- GaussianAnalysis.random_matrix.matrix_series: mxtrace_mul_psd_le
forall [R : realType] [m n : nat] (A : 'M_(m, n)) [Q : 'M_n], Q \is orthogonalmx -> opnorm (A *m Q) = opnorm A
Statement as written in the source
Lemma opnorm_orthogonalmxr m n (A : 'M[R]_(m, n)) (Q : 'M[R]_n) : Q \is orthogonalmx -> opnorm (A *m Q) = opnorm A.
Used by 3 declarations in 3 files
- GaussianAnalysis.matrix.random_opnorm: mxdot_psd_le
- GaussianAnalysis.matrix.nuclear: nuclear_spectral
- GaussianAnalysis.random_matrix.matrix_series: mxtrace_mul_psd_le
forall [R : realType] [n : nat] [A : 'M_n] [b : R], A \is symmetricmx -> 0 <= b -> (forall x : 'cV_n, `|mxdot x (A *m x)| <= b * mxdot x x) <-> opnorm A <= b
For a symmetric matrix, opnorm A <= b if and only if |x^T A x| <= b x^T x for all x, and the operator norm is the largest absolute value of an eigenvalue.
theories/ by: Feature/DiagonalTrace , SquareFree/EdgeUpper , SquareFree/EdgeLower , Spectral/OperatorTransport , Spectral/OrthogonalBounds , Head/TailSupport Statement as written in the source
Used by 7 declarations in 6 files
- this file: opnorm_spectral, opnorm_le_form_exp
- GaussianAnalysis.matrix.lambda_max: opnorm_lambda_max
- GaussianAnalysis.matrix.spectral_gap: opnorm_row_sum
- GaussianAnalysis.matrix.nets: opnorm_net_sym
- GaussianAnalysis.matrix.tensor_packing: opnorm_compress_gram
- GaussianApplications.SKGap.Poincare: ising_cov_from_gap
forall [R : realType] [n : nat] [A P : 'M_n] [d : 'rV_n], P \is orthogonalmx -> A = P^T *m diag_mx d *m P -> opnorm A = \big[Num.max/0]_i `|d 0 i|
Stated in the README together with opnorm_symP.
Statement as written in the source
Lemma opnorm_spectral n (A P : 'M[R]_n) (d : 'rV[R]_n) : P \is orthogonalmx -> A = P^T *m diag_mx d *m P -> opnorm A = \big[Num.max/0]_i `|d 0 i|.
Used by 3 declarations in 3 files
- this file: opnorm_exp_le_trace
- GaussianAnalysis.matrix.nuclear: nuclear_spectral
- GaussianAnalysis.random_matrix.goe: spec_le_opnorm
forall [R : realType] [n : nat] [A : 'M_n] (k : nat), A \is symmetricmx -> opnorm A ^+ k.+1.*2 <= \tr (A ^+ k.+1.*2)
Statement as written in the source
Lemma opnorm_exp_le_trace n (A : 'M[R]_n) k : A \is symmetricmx -> opnorm A ^+ k.+1.*2 <= \tr (A ^+ k.+1.*2).
Used by 2 declarations in 2 files
- this file: opnorm_exp_le_trace_even
- GaussianAnalysis.random_matrix.matrix_series: gauss_mx_series_opnorm_moment
forall [R : realType] [n : nat] [A : 'M_n] [p : nat], A \is symmetricmx -> ~~ odd p -> (0 < p)%N -> opnorm A ^+ p <= \tr (A ^+ p)
For a symmetric matrix and an even exponent p > 0, opnorm A ^ p <= tr(A^p); so tr(A^p) <= t^p with t >= 0 gives opnorm A <= t, and so does x^T A^p x <= t^p x^T x for all x.
theories/ by: Feature/DiagonalTrace , SquareFree/EdgeUpper , SquareFree/WalkNBEvent , SquareFree/EdgeLower Statement as written in the source
Lemma opnorm_exp_le_trace_even n (A : 'M[R]_n) p : A \is symmetricmx -> ~~ odd p -> (0 < p)%N -> opnorm A ^+ p <= \tr (A ^+ p).
Used by 1 declaration in 1 file
- this file: opnorm_le_trace_exp
forall [R : realType] [n : nat] [A : 'M_n] [p : nat] [t : R], A \is symmetricmx -> ~~ odd p -> (0 < p)%N -> 0 <= t -> \tr (A ^+ p) <= t ^+ p -> opnorm A <= t
Stated in the README together with opnorm_exp_le_trace_even.
Statement as written in the source
Lemma opnorm_le_trace_exp n (A : 'M[R]_n) p (t : R) : A \is symmetricmx -> ~~ odd p -> (0 < p)%N -> 0 <= t -> \tr (A ^+ p) <= t ^+ p -> opnorm A <= t.
forall [R : realType] [n : nat] [A : 'M_n] [p : nat] [t : R], A \is symmetricmx -> ~~ odd p -> (0 < p)%N -> 0 <= t -> (forall x : 'cV_n, mxdot x (A ^+ p *m x) <= t ^+ p * mxdot x x) -> opnorm A <= t
For a symmetric matrix and an even exponent p > 0, a bound t^p on the quadratic form of A^p bounds the operator norm by t.
Stated in the README together with opnorm_exp_le_trace_even.