%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%           Suggested Notation System for Wavelet Analysis
%%           Initiated, developed and improved by Bin Han
%%           since 2009 at the University of Alberta
%%           Using this micro file, we trying to achieve
%%           a consistent notationn system for all aspects of
%%           wavelet analysis.
%%           The meaning of each symbol is explained.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{bm}


%%%may be already defined symbols
%triple bar norm
%\newcommand{\vertiii}[1]{{\left\vert\kern-0.25ex\left\vert\kern-0.25ex\left\vert #1
%    \right\vert\kern-0.25ex\right\vert\kern-0.25ex\right\vert}}  %triple bar norm
\newcommand{\vertiii}[1]{{\left\vert\kern-0.45ex\left\vert\kern-0.45ex\left\vert #1\right\vert\kern-0.45ex\right\vert\kern-0.45ex\right\vert}}  %triple bar norm
\newcommand{\mnorm}[1]{\vertiii{#1}}

%\newcommand{\ow}{orthogonal } %orthogonal or orthonormal wavelet, undecided yet

\newcommand{\lb}{[\![}
\newcommand{\rb}{]\!]}

\newcommand{\re}{\operatorname{Re}}
\newcommand{\im}{\operatorname{Im}}
\newcommand{\odd}{\operatorname{odd}}
\newcommand{\bo}{\mathcal{O}} %standard big O notation
\newcommand{\so}{o} %standard small o notation
\newcommand{\tr}{\operatorname{trace}} %trace of a matrix

\newcommand{\0}{\mathbf{0}}   %vector/matrix of 0's
\newcommand{\1}{\mathbf{1}}   %vector/matrix of 1's
\newcommand{\pcr}{\mathsf{r}} %r in a polar coordinate
\newcommand{\pcth}{\mathsf{\theta}}   %\theta in a polar coordinate

\newcommand{\iu}{i}           %imaginary unit,\iu for variants of i
\newcommand{\dirac}{\delta}   %Dirac sequence in dD

%\newcommand{dd}{d} %dimension d, not used

\newcommand{\dm}{\mathsf{M}}   %dD dilation, eigens:\lambda
\newcommand{\df}{\mathsf{d}}   %1D dilation factor
\newcommand{\dfm}{\mathsf{M}}   %1D dilation factor, another choice
\newcommand{\ddm}{\mathsf{d}_\dm} %determinant of \dm
\newcommand{\dn}{\mathsf{N}}   %other dilation N (often N=(M^T)^{-1})
\newcommand{\dl}{\mathsf{L}}   %other dilation matrix L
\newcommand{\rdm}{\mathsf{A}}  %dD real-valued dilation, tentative
%\newcommand{\grad}{\mathcal{D}}  %gradient differential operator
\newcommand{\grad}{\partial}

%use \gamma \in \dmc, \omega\in \dmfc
\newcommand{\dmc}{\Gamma_{\dm}}  %time domain coset: \dm[0,1)^d \cap Z^d
\newcommand{\dmfc}{\Omega_{\dm}} %frequency coset:[(\dm^T)^{-1} Z^n]\cap [0,1)^d
\newcommand{\dmcg}[1]{\Gamma_{#1}}  %command version of \dmc
\newcommand{\dmfcg}[1]{\Omega_{#1}} %command version of \dmfc

%blackboard fonts for standard notations
\newcommand{\A}{\mathbb{A}}    %algebraic number fields
\newcommand{\C}{\mathbb{C}}    %complex number field
\newcommand{\D}{\mathbb{D}}    %open unit disk in complex number field
\newcommand{\F}{\mathbb{F}}    %field for symmetry extension
\newcommand{\N}{\mathbb{N}}    %natural numbers
\newcommand{\NN}{\mathbb{N}_0} %Natural Nonnegative numbers
\newcommand{\PL}{\mathbb{P}}   %ring of all polynomials
\newcommand{\Q}{\mathbb{Q}}    %rational number field
\newcommand{\R}{\mathbb{R}}    %real number field
\newcommand{\T}{\mathbb{T}}    %torus =[0,2\pi]=R/[2\pi Z]
\newcommand{\Z}{\mathbb{Z}}    %integers

%d-dimensional version of above
\newcommand{\dC}{\mathbb{C}^d}
\newcommand{\dD}{\mathbb{D}^d}
\newcommand{\dF}{\mathbb{F}^d}
\newcommand{\dN}{\mathbb{N}^d}
\newcommand{\dNN}{\mathbb{N}^d_0}
\newcommand{\dQ}{\mathbb{Q}^d}
\newcommand{\dR}{\mathbb{R}^d}
\newcommand{\dT}{\mathbb{T}^d}
\newcommand{\dZ}{\mathbb{Z}^d}

%1D function spaces, often use p, q, \tau as parameters
%Note \S is already used by latex. So, we use \Sc here
\newcommand{\DC}{\mathscr{D}(\mathbb{R})}   %1D test function space
\newcommand{\DCzero}{\mathscr{D}(\mathbb{\R}\backslash\{0\})}  %1D test function on R\0
\newcommand{\SC}{\mathscr{S}(\mathbb{R})}    %1D Schwarz space
\newcommand{\E}{\mathscr{E}(\mathbb{R})}     %1D C\infty functions
\newcommand{\DCpr}{\mathscr{D}'(\mathbb{R})}  %1D distribution
\newcommand{\SCpr}{\mathscr{S}'(\mathbb{R})} %1D tempered distribution
\newcommand{\Epr}{\mathscr{E}'(\mathbb{R})}     %1D compactly supported distribution

%\newcommand{\B}{\mathscr{B}} %general Banach function space.

\newcommand{\CH}[1]{\mathscr{C}^{#1}(\R)} %$C^\tau$/H\"older
\newcommand{\TCH}[1]{\mathscr{C}^{#1}(\T)} %$C^\tau$/H\"older

\newcommand{\Lp}[1]{L_{#1}(\mathbb{R})}
\newcommand{\LLp}[1]{\mathcal{L}_{#1}(\mathbb{R})}
\newcommand{\Lr}[2]{(L_{#1}(\mathbb{R}))^{#2}}
\newcommand{\Lrs}[3]{(L_{#1}(\mathbb{R}))^{#2\times #3}}
\newcommand{\lLp}[1]{L_{#1}^{loc}(\mathbb{R})}
\newcommand{\lLr}[2]{(L_{#1}^{loc}(\mathbb{R}))^{#2}}
\newcommand{\lLrs}[3]{(L_{#1}^{loc}(\mathbb{R}))^{#2\times #3}}
\newcommand{\Lpnu}[2]{L_{2,#1,#2}(\mathbb{R})} %weighted subspace of L2

\newcommand{\TLp}[1]{L_{#1}(\mathbb{T})}
\newcommand{\TLr}[2]{(L_{#1}(\mathbb{T}))^{#2}}
\newcommand{\TLrs}[3]{(L_{#1}(\mathbb{T}))^{#2\times #3}}

\newcommand{\Hp}[1]{{H^{#1}_{p}(\mathbb{R})}}     %1D Sobolev
\newcommand{\SL}[2]{{L^{#1}_{#2}(\mathbb{R})}}    %1D Sobolev
%\newcommand{\HH}[1]{{H^{#1}(\mathbb{R})}}         %old definition of 1D L2 Sobolev
%\newcommand{\THH}[1]{{H^{#1}(\mathbb{T})}}        %old definition of 1D periodic L2 Sobolev
\newcommand{\HH}[1]{{L^{#1}_2(\mathbb{R})}}          %1D L2 Sobolev
\newcommand{\THH}[1]{{L^{#1}_2(\mathbb{T})}}         %1D periodic L2 Sobolev
\newcommand{\BS}[3]{{B^{#1}_{#2,#3}(\mathbb{R})}} %1D Besov
\newcommand{\TL}[3]{{F^{#1}_{#2,#3}(\mathbb{R})}} %1DTriebel-Lizorkin

%dD function spaces, often use p, q, \tau as parameters
\newcommand{\dDC}{\mathscr{D}(\mathbb{R}^d)}  %dD test function
\newcommand{\dSC}{\mathscr{S}(\mathbb{R}^d)} %dD Schwarz space
\newcommand{\dE}{\mathscr{E}(\mathbb{R}^d)} %dD C\infty space
\newcommand{\dDCpr}{\mathscr{D}'(\mathbb{R}^d)} %dD distributions
\newcommand{\dSCpr}{\mathscr{S}'(\mathbb{R}^d)} %tempered distribution
\newcommand{\dEpr}{\mathscr{E}'(\mathbb{R}^d)} %compactly supported distribution

\newcommand{\dCH}[1]{\mathscr{C}^{#1}(\dR)}  %$C^\tau$/H\"older

\newcommand{\dLp}[1]{L_{#1}(\mathbb{R}^d)}
\newcommand{\dLr}[2]{(L_{#1}(\mathbb{R}^d))^{#2}}
\newcommand{\dLrs}[3]{(L_{#1}(\mathbb{R}^d))^{#2\times #3}}
\newcommand{\dlLp}[1]{L_{#1}^{loc}(\mathbb{R}^d)}
\newcommand{\dlLr}[2]{(L_{#1}^{loc}(\mathbb{R}^d))^{#2}}
\newcommand{\dlLrs}[3]{(L_{#1}^{loc}(\mathbb{R}^d))^{#2\times #3}}

\newcommand{\dTLp}[1]{L_{#1}(\mathbb{T}^d)}
\newcommand{\dTLr}[2]{(L_{#1}(\mathbb{T}^d))^{#2}}
\newcommand{\dTLrs}[3]{(L_{#1}(\mathbb{T}^d))^{#2\times #3}}

%\newcommand{\dHp}[1]{H^{#1}_{p}(\mathbb{R}^d)}     %old definition of dD Sobolev
\newcommand{\dHp}[1]{L^{#1}_{p}(\mathbb{R}^d)}     %dD Sobolev
\newcommand{\dSL}[2]{{L^{#1}_{#2}(\mathbb{R}^d)}}    %1D Sobolev
%\newcommand{\dHH}[1]{H^{#1}(\mathbb{R}^d)}         %old definition of dD L2 Sobolev
\newcommand{\dHH}[1]{L^{#1}_2(\mathbb{R}^d)}
\newcommand{\dBS}[3]{B^{#1}_{#2,#3}(\mathbb{R}^d)} %dD Besov
\newcommand{\dTL}[3]{F^{#1}_{#2,#3}(\mathbb{R}^d)} %dDTriebel-Lizorkin

%1D sequence spaces
\newcommand{\lp}[1]{l_{#1}(\mathbb{Z})}
\newcommand{\lpp}[2]{l_{#1}^{#2}(\mathbb{Z})}
\newcommand{\lr}[2]{(l_{#1}(\mathbb{Z}))^{#2}}
\newcommand{\lrs}[3]{(l_{#1}(\mathbb{Z}))^{#2\times #3}}
\newcommand{\sq}{l(\mathbb{Z})} %space of all 1D sequences

%dD sequence spaces
\newcommand{\dlp}[1]{l_{#1}(\mathbb{Z}^d)}
\newcommand{\dlr}[2]{(l_{#1}(\mathbb{Z}^d))^{#2}}
\newcommand{\dlrs}[3]{(l_{#1}(\mathbb{Z}^d))^{#2\times #3}}
\newcommand{\dsq}{l(\mathbb{Z}^d)} %space of all dD sequences

%vector multi-integers
\newcommand{\vk}{\mathsf{k}}
\newcommand{\vm}{\mathsf{m}}
\newcommand{\vn}{\mathsf{n}}
\newcommand{\vj}{\mathsf{j}}
%\newcommand{\vl}{\mathtt{l}} %hard to distinguish with 1 (one).
\newcommand{\vc}{\mathsf{c}} %vector of parameters
\newcommand{\vC}{\mathsf{C}} %vector of constants
\newcommand{\vff}{\mathsf{f}}
\newcommand{\vgg}{\mathsf{g}}

\newcommand{\ind}[1]{\mathscr{#1}}

%Time domain sequences/filters, \t here means time.
\newcommand{\te}{\boldsymbol{e}} %e_j=(0,...,0,1,0,...,0) with jth being 1
\newcommand{\td}{\boldsymbol{\delta}}  %Dirac/Kronicker sequence
\newcommand{\ta}{a}
\newcommand{\tb}{b}
\newcommand{\tu}{u}
\newcommand{\tv}{v}
\newcommand{\tw}{w}
\newcommand{\tA}{A}
\newcommand{\tB}{B}
\newcommand{\tth}{\vartheta}

%Time domain sequences/filters, \tt here means tilde time.
\newcommand{\tta}{\tilde{a}}
\newcommand{\ttb}{\tilde{b}}
\newcommand{\ttu}{\tilde{u}}
\newcommand{\ttv}{\tilde{v}}
\newcommand{\ttw}{\tilde{w}}
\newcommand{\ttA}{\tilde{A}}
\newcommand{\ttB}{\tilde{B}}
\newcommand{\ttth}{\tilde{\vartheta}}

%Time domain sequences/filters, \mr here means \mathring.
\newcommand{\mra}{{\mathring{a}}}
\newcommand{\mrb}{{\mathring{b}}}
\newcommand{\mru}{{\mathring{u}}}
\newcommand{\mrv}{{\mathring{v}}}
\newcommand{\mrw}{{\mathring{w}}}
\newcommand{\mrA}{{\mathring{A}}}
\newcommand{\mrB}{{\mathring{B}}}
\newcommand{\mrth}{{\mathring{\vartheta}}}

%Frequency domain filters, \f here means frequency
\newcommand{\fa}{\mathbf{a}}
\newcommand{\fb}{\mathbf{b}}
\newcommand{\fu}{\mathbf{u}}
\newcommand{\fv}{\mathbf{v}}
\newcommand{\fw}{\mathbf{w}}

%Fourier transform of sequences, \hat here means Fourier
\newcommand{\ha}{\widehat{a}}
\newcommand{\hb}{\widehat{b}}
\newcommand{\hu}{\widehat{u}}
\newcommand{\hv}{\widehat{v}}
\newcommand{\hw}{\widehat{w}}
\newcommand{\hth}{\widehat{\vartheta}}
\newcommand{\hTh}{\widehat{\Theta}}

\newcommand{\hta}{\widehat{\tilde{a}}}
\newcommand{\htb}{\widehat{\tilde{b}}}
\newcommand{\htu}{\widehat{\tilde{u}}}
\newcommand{\htv}{\widehat{\tilde{v}}}
\newcommand{\htw}{\widehat{\tilde{w}}}
\newcommand{\htth}{\widehat{\tilde{\vartheta}}}
\newcommand{\htTh}{\widehat{\tilde{\Theta}}}

%If not sure use \ha or \fa, then use \fha so that you can change later
\newcommand{\fha}{\mathbf{a}}
\newcommand{\fhb}{\mathbf{b}}
\newcommand{\fhu}{\mathbf{u}}
\newcommand{\fhv}{\mathbf{v}}
\newcommand{\fhw}{\mathbf{w}}
\newcommand{\fhth}{\mathbf{\vartheta}}

\newcommand{\fhta}{\tilde{\mathbf{a}}}
\newcommand{\fhtb}{\tilde{\mathbf{b}}}
\newcommand{\fhtu}{\tilde{\mathbf{u}}}
\newcommand{\fhtv}{\tilde{\mathbf{v}}}
\newcommand{\fhtw}{\tilde{\mathbf{w}}}
\newcommand{\fhtth}{\tilde{\mathbf{\vartheta}}}


%Time domain sequences/filters, \hm here means \hat \mathring.
\newcommand{\hma}{{\widehat{\mathring{a}}}}
\newcommand{\hmb}{{\widehat{\mathring{b}}}}
\newcommand{\hmu}{{\widehat{\mathring{u}}}}
\newcommand{\hmv}{{\widehat{\mathring{v}}}}
\newcommand{\hmw}{{\widehat{\mathring{w}}}}
\newcommand{\hmA}{{\widehat{\mathring{A}}}}
\newcommand{\hmB}{{\widehat{\mathring{B}}}}
\newcommand{\hmth}{{\widehat{\mathring{\vartheta}}}}

%Laurent polynomials of sequences, \p means polynomial
\newcommand{\pa}{\mathsf{a}}
\newcommand{\pb}{\mathsf{b}}
\newcommand{\pc}{\mathsf{c}}
\newcommand{\pd}{\mathsf{d}}
\newcommand{\pu}{\mathsf{u}}
\newcommand{\pv}{\mathsf{v}}
\newcommand{\pw}{\mathsf{w}}
\newcommand{\pta}{\tilde{\mathsf{a}}}
\newcommand{\ptb}{\tilde{\mathsf{b}}}
\newcommand{\ptd}{\tilde{\mathsf{d}}}
\newcommand{\ptu}{\tilde{\mathsf{u}}}
\newcommand{\ptv}{\tilde{\mathsf{v}}}
\newcommand{\ptw}{\tilde{\mathsf{w}}}

%Extra Laurent polynomials
\newcommand{\pp}{\mathsf{p}}
\newcommand{\pq}{\mathsf{q}}
\newcommand{\pA}{\mathsf{A}}
\newcommand{\pB}{\mathsf{B}}
\newcommand{\pC}{\mathsf{C}}
\newcommand{\pD}{\mathsf{D}}
\newcommand{\pP}{\mathsf{P}}
\newcommand{\pQ}{\mathsf{Q}}
\newcommand{\pR}{\mathsf{R}}
\newcommand{\pU}{\mathsf{U}}
\newcommand{\pV}{\mathsf{V}}
\newcommand{\pW}{\mathsf{W}}
\newcommand{\pth}{\mathsf{\theta}}
\newcommand{\pTh}{\mathsf{\Theta}}

%extra trigonometric polynomials
\newcommand{\fp}{\mathbf{p}}
\newcommand{\fq}{\mathbf{q}}
\newcommand{\fA}{\mathbf{A}}
\newcommand{\fB}{\mathbf{B}}
\newcommand{\fM}{\mathbf{M}}
\newcommand{\fP}{\mathbf{P}}
\newcommand{\fQ}{\mathbf{Q}}
\newcommand{\fU}{\mathbf{U}}
\newcommand{\fV}{\mathbf{V}}
\newcommand{\fW}{\mathbf{W}}
\newcommand{\fth}{{\boldsymbol{\theta}}}
\newcommand{\fTh}{{\boldsymbol{\Theta}}}

%\mathtt of f, g, h used as vectors of numbers
\newcommand{\vf}{\mathtt{f}}
\newcommand{\vg}{\mathtt{g}}
\newcommand{\vh}{\mathtt{h}}
\newcommand{\vu}{\mathtt{u}}
\newcommand{\vv}{\mathtt{v}}
\newcommand{\vw}{\mathtt{w}}
\newcommand{\vns}{\mathtt{n}} %denote Gaussian noise
\newcommand{\vz}{\mathtt{z}} %denote impusle noise

%z/polynomial-transform of sequence, \bp means \breve polynomial
\newcommand{\bpa}{\breve{a}}
\newcommand{\bpb}{\breve{b}}
\newcommand{\bpu}{\breve{u}}
\newcommand{\bpv}{\breve{v}}
\newcommand{\bpw}{\breve{w}}

%Time domain functions: f, g, h, \phi, \psi, \eta,
%Their frequency ones: add \mathbf. \f here means frequency
\newcommand{\f}{f}
\newcommand{\g}{g}
\newcommand{\h}{h}
\newcommand{\ff}{\mathbf{f}}
\newcommand{\fg}{\mathbf{g}}
\newcommand{\fh}{\mathbf{h}}
\newcommand{\fphi}{{\boldsymbol{\varphi}}}
\newcommand{\fpsi}{{\boldsymbol{\psi}}}
\newcommand{\feta}{{\boldsymbol{\eta}}}
%\newcommand{\fphi}{\bm{\varphi}}
%\newcommand{\fpsi}{\bm{\psi}}
%\newcommand{\feta}{\bm{\eta}}
%occasionally
\newcommand{\fF}{\mathbf{F}}
\newcommand{\fG}{\mathbf{G}}
\newcommand{\fH}{\mathbf{H}}
\newcommand{\fPhi}{{\boldsymbol{\Phi}}}
\newcommand{\fPsi}{{\boldsymbol{\Psi}}}
\newcommand{\fEta}{{\mathbf{H}}}


%Fourier transform of functions, \hat here \means Fourier
\newcommand{\hf}{\hat{f}}
\newcommand{\hg}{\hat{g}}
\newcommand{\hh}{\hat{h}}
\newcommand{\hphi}{\hat{\phi}}
\newcommand{\hpsi}{\hat{\psi}}
\newcommand{\heta}{\hat{\eta}}


%weight function
\newcommand{\wf}{\mathtt{w}}
%\newcommand{\ker}{\operatorname{ker}} %kernel of an operator
\newcommand{\ran}{\operatorname{ran}} %range of an operator

%multiplicity \mphi for \phi/lowpass, \mpsi for \psi/high-pass
\newcommand{\mphi}{r}
\newcommand{\mpsi}{s}
\newcommand{\meta}{t} %tentative
\newcommand{\mi}{\ell}  %multiplicity index, default \ell. also use m.

\newcommand{\U}{\mathscr{U}}   %used in multiresolution analysis
\newcommand{\V}{\mathscr{V}}   %used in multiresolution analysis
\newcommand{\W}{\mathscr{W}}   %used in multiresolution analysis
\newcommand{\tU}{\tilde{\mathscr{U}}}   %used in multiresolution analysis
\newcommand{\tV}{\tilde{\mathscr{V}}}   %used in multiresolution analysis
\newcommand{\tW}{\tilde{\mathscr{W}}}   %used in multiresolution analysis

\newcommand{\diff}{\nabla}     %backward difference operator
\newcommand{\wa}{\mathcal{W}}  %wavelet analysis operator
\newcommand{\ws}{\mathcal{V}}   %wavelet synthesis operator (V=W^*).
\newcommand{\twa}{\widetilde{\mathcal{W}}}  %wavelet analysis operator
\newcommand{\tws}{\widetilde{\mathcal{V}}}   %wavelet synthesis operator (V=W^*).
\newcommand{\Dop}{\mathcal{D}} %dilation operator
\newcommand{\sym}{\mathsf{S}}   %Symmetry operator
\newcommand{\symc}{\mathbb{S}}  %Complex symmetry operator
\newcommand{\cd}{\mathcal{R}}  %cascade/refinement operator C: use C or R.
\newcommand{\sd}{\mathcal{S}}  %subdivision operator S
\newcommand{\tz}{\mathcal{T}}  %transition operator T
\newcommand{\si}{\mathtt{S}}            %shift invariance space
\newcommand{\sh}{S}            %shear matrix=[1,1; 0,1]
\newcommand{\fr}{\mathcal{F}}   %frame approximation operator.
\newcommand{\ft}{\mathscr{F}}  %Fourier transform
\newcommand{\ap}{\mathcal{A}}  %Approximation operator
\newcommand{\pr}{\mathcal{P}}  %projection operator/matrix
\newcommand{\prm}{P}           %projection matrix
\newcommand{\qp}{\mathcal{Q}}  %quasi-projection operator
\newcommand{\pz}{\mathscr{P}}  %periodization operator from R to T
\newcommand{\PP}{\mathbf{P}}   %use for polyphase matrix
\newcommand{\pPP}{\mathsf{P}}   %use for polyphase matrix for laurent polynomials
\newcommand{\PPC}{\mathbf{Q}}   %use for polyphase matrix for cosets
\newcommand{\pPPC}{\mathsf{Q}}   %use for polyphase matrix for cosets for polynomials
\newcommand{\PR}{\mathscr{P}}   %use for polynomial rings
\newcommand{\G}{\mathscr{G}}
\newcommand{\vgu}{\upsilon} %matching filter for matrix filters
\newcommand{\vgU}{\Upsilon} %special matching filter for matrix filters
\newcommand{\hatvgu}{\hat{\vec{\upsilon}}}
\newcommand{\hatvgU}{\hat{\vec{\Upsilon}}}
\newcommand{\ao}{\operatorname{ao}} %accuracy order or approximation order.
\newcommand{\sr}{\operatorname{sr}}  %sum rules
\newcommand{\sm}{\operatorname{sm}}  %smoothness exponent
%\newcommand{\sm}{\nu_2} %old notation, not used
\newcommand{\vmo}{\operatorname{vm}} %\vm=vec{m}. Vanishing moment
\newcommand{\bdo}{\operatorname{bo}} %balanced order
\newcommand{\jsr}{\operatorname{jsr}}
\newcommand{\phase}{\operatorname{phase}} %default linear phase at 0
\newcommand{\lpm}{\operatorname{lpm}}  %linear-phase moments
\newcommand{\fs}{\operatorname{fsupp}}  %filter support of a filter
%\newcommand{\supp}{\mbox{supp}} %support, normally defined.
%\newcommand{\supp}{\operatorname{supp}}
\newcommand{\len}{\operatorname{len}}
\newcommand{\mean}{\operatorname{E}}
\newcommand{\var}{\operatorname{Var}}
\newcommand{\nvar}{\operatorname{VAR}}
\newcommand{\fsi}{\operatorname{Fsi}}
\newcommand{\ofi}{\operatorname{Ofi}}
\newcommand{\pfi}{\operatorname{Pfi}}
\newcommand{\fsp}{\operatorname{Fsp}}  %frequency separation of a 1D filter
\newcommand{\mz}{\mathsf{Z}} %multiplicity of zero of a Laurent polynomail
\newcommand{\gcf}{\operatorname{gcf}} %greatest common factor
%\newcommand{\supp}{\operatorname{supp}} %support of a function
\newcommand{\sampled}{\,!\,} %{\mid} {\!\updownarrow\!}

\newcommand{\Aop}{\mathcal{A}}
\newcommand{\cM}{\mathcal{M}}
\newcommand{\cN}{\mathcal{N}}
\newcommand{\cA}{\mathcal{A}}
\newcommand{\cB}{\mathcal{B}}
\newcommand{\cC}{\mathcal{C}}
\newcommand{\cQ}{\mathcal{Q}}
\newcommand{\cR}{\mathcal{R}}
\newcommand{\cU}{\mathcal{U}}
\newcommand{\id}{\mathrm{Id}}

%notation for sets
\newcommand{\sO}{\mathfrak{O}}
\newcommand{\sS}{\mathfrak{S}}
\newcommand{\sU}{\mathfrak{U}}

%some special symbols and operators, to be replaced by next
\newcommand{\WS}{\operatorname{\mathsf{AS}}} %time wavelet/framelet system
\newcommand{\AS}{\operatorname{\mathsf{AS}}} %time domain affine system
\newcommand{\PAS}{\operatorname{\mathsf{PAS}}} %time domain affine system
\newcommand{\DAS}{\operatorname{\mathsf{DAS}}} %discrete time domain affine system

%to be replaced by next
\newcommand{\FWS}{\operatorname{\mathsf{FAS}}} %frequency domain wavelet system
\newcommand{\FAS}{\operatorname{\mathsf{FAS}}} %frequency domain affine system
\newcommand{\FPAS}{\operatorname{\mathsf{FPAS}}} %frequency domain periodic affine system

\newcommand{\sinc}{\operatorname{sinc}}
\newcommand{\lcm}{\operatorname{lcm}}
\newcommand{\Adj}{\operatorname{Adj}}
\newcommand{\diag}{\operatorname{diag}}
\newcommand{\spec}{\operatorname{spec}}
\newcommand{\supp}{\operatorname{supp}}
\newcommand{\dist}{\operatorname{dist}}
%\newcommand{\setsp}{\;\mid\;}     %set separator
\newcommand{\setsp}{\;:\;}     %set separator
%\newcommand{\setsp}{\;:\!\! | \!\! :\;}  %self-defined set separator
\newcommand{\tp}{\mathsf{T}}  %transpose


%up and down-sampling operator
\newcommand{\ds}{\!\downarrow\! }
\newcommand{\us}{ \!\uparrow\!}


%other macros
\newcommand{\wh}{\widehat}
\newcommand{\wt}{\widetilde}
\renewcommand{\le}{\leqslant}
\renewcommand{\ge}{\geqslant}
\newcommand{\bs}{\backslash}
\newcommand{\ol}{\overline}
\newcommand{\la}{\langle}
\newcommand{\ra}{\rangle}
\newcommand{\er}{\eqref}

\newcommand{\gep}{\varepsilon}
\newcommand{\eps}{\epsilon}
\newcommand{\gl}{\lambda}
\newcommand{\gL}{\Lambda}
\newcommand{\gd}{\delta}

%shorthand notation
\newcommand{\bp}{ \begin{proof} }
\newcommand{\sbp}[1]{ \begin[#1]{proof} }
\newcommand{\ep}{  \end{proof} }
\newcommand{\be}{ \begin{equation} }
\newcommand{\ee}{ \end{equation} }
\newcommand{\imply}{ \Longrightarrow }
\newcommand{\limply}{\Longleftarrow}

%\wtt and \whh is used if not decide on
%widetilde or tilde, widehat or hat

\newcommand{\wtt}{\widetilde}
\newcommand{\whh}{\widehat}


\newcommand{\tpctf}{\operatorname{TP-\mathbb{C}TF}}
\newcommand{\ctf}{\operatorname{\mathbb{C}TF}} 