Efficient matrix-vector multiplication for “partial†Hadamard matrices
Clash Royale CLAN TAG#URR8PPP
up vote
2
down vote
favorite
I've recently been working on an algorithm for bilinear systems in the form $y = (Lw) odot (Rx)$, where $odot$ denotes the elementwise product between two matrices of compatible sizes. In the above, we assume $w in mathbbR^d$ and $L in mathbbR^m times d$, where $m geq 2d$ at minimum.
One of the settings involves $L$ being a selection of the first $d$ columns of
a $2^k times 2^k$ Hadamard matrix (we assume that $m = 2^k$ for some $k$). Computing $L x $ can be done efficiently using the Fast Walsh-Hadamard Transform, as we can write
$$
Lx = H_k tildex = H_k beginpmatrix x \ mathbf0_m - d endpmatrix
$$
where $H_k$ is the $2^k times 2^k$ Hadamard matrix and $tildex$ is a
zero-padding of $x$ so that $tildex in mathbbR^2^k$.
I was wondering if there is a way to efficiently compute the product $L^top v$, for the same matrix $L$, (possibly using the FWHT). In the case where $d$ is a power of $2$, I think we could decompose $L^top$ using the recursive decomposition of a Hadamard matrix, and obtain something like the following:
$$
L^top v = beginbmatrix H_d & dots & H_d endbmatrix v
$$
Is my line of thinking above correct? Moreover, is there an efficient way to attack the general case, where $d$ is not a power of $2$, without the need to explicitly generate and store the matrix $L$?
I would appreciate any pointers to references and/or an implementation, if that is a common problem in signal processing.
linear-algebra matrices numerical-linear-algebra fast-fourier-transform hadamard-matrices
add a comment |Â
up vote
2
down vote
favorite
I've recently been working on an algorithm for bilinear systems in the form $y = (Lw) odot (Rx)$, where $odot$ denotes the elementwise product between two matrices of compatible sizes. In the above, we assume $w in mathbbR^d$ and $L in mathbbR^m times d$, where $m geq 2d$ at minimum.
One of the settings involves $L$ being a selection of the first $d$ columns of
a $2^k times 2^k$ Hadamard matrix (we assume that $m = 2^k$ for some $k$). Computing $L x $ can be done efficiently using the Fast Walsh-Hadamard Transform, as we can write
$$
Lx = H_k tildex = H_k beginpmatrix x \ mathbf0_m - d endpmatrix
$$
where $H_k$ is the $2^k times 2^k$ Hadamard matrix and $tildex$ is a
zero-padding of $x$ so that $tildex in mathbbR^2^k$.
I was wondering if there is a way to efficiently compute the product $L^top v$, for the same matrix $L$, (possibly using the FWHT). In the case where $d$ is a power of $2$, I think we could decompose $L^top$ using the recursive decomposition of a Hadamard matrix, and obtain something like the following:
$$
L^top v = beginbmatrix H_d & dots & H_d endbmatrix v
$$
Is my line of thinking above correct? Moreover, is there an efficient way to attack the general case, where $d$ is not a power of $2$, without the need to explicitly generate and store the matrix $L$?
I would appreciate any pointers to references and/or an implementation, if that is a common problem in signal processing.
linear-algebra matrices numerical-linear-algebra fast-fourier-transform hadamard-matrices
add a comment |Â
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I've recently been working on an algorithm for bilinear systems in the form $y = (Lw) odot (Rx)$, where $odot$ denotes the elementwise product between two matrices of compatible sizes. In the above, we assume $w in mathbbR^d$ and $L in mathbbR^m times d$, where $m geq 2d$ at minimum.
One of the settings involves $L$ being a selection of the first $d$ columns of
a $2^k times 2^k$ Hadamard matrix (we assume that $m = 2^k$ for some $k$). Computing $L x $ can be done efficiently using the Fast Walsh-Hadamard Transform, as we can write
$$
Lx = H_k tildex = H_k beginpmatrix x \ mathbf0_m - d endpmatrix
$$
where $H_k$ is the $2^k times 2^k$ Hadamard matrix and $tildex$ is a
zero-padding of $x$ so that $tildex in mathbbR^2^k$.
I was wondering if there is a way to efficiently compute the product $L^top v$, for the same matrix $L$, (possibly using the FWHT). In the case where $d$ is a power of $2$, I think we could decompose $L^top$ using the recursive decomposition of a Hadamard matrix, and obtain something like the following:
$$
L^top v = beginbmatrix H_d & dots & H_d endbmatrix v
$$
Is my line of thinking above correct? Moreover, is there an efficient way to attack the general case, where $d$ is not a power of $2$, without the need to explicitly generate and store the matrix $L$?
I would appreciate any pointers to references and/or an implementation, if that is a common problem in signal processing.
linear-algebra matrices numerical-linear-algebra fast-fourier-transform hadamard-matrices
I've recently been working on an algorithm for bilinear systems in the form $y = (Lw) odot (Rx)$, where $odot$ denotes the elementwise product between two matrices of compatible sizes. In the above, we assume $w in mathbbR^d$ and $L in mathbbR^m times d$, where $m geq 2d$ at minimum.
One of the settings involves $L$ being a selection of the first $d$ columns of
a $2^k times 2^k$ Hadamard matrix (we assume that $m = 2^k$ for some $k$). Computing $L x $ can be done efficiently using the Fast Walsh-Hadamard Transform, as we can write
$$
Lx = H_k tildex = H_k beginpmatrix x \ mathbf0_m - d endpmatrix
$$
where $H_k$ is the $2^k times 2^k$ Hadamard matrix and $tildex$ is a
zero-padding of $x$ so that $tildex in mathbbR^2^k$.
I was wondering if there is a way to efficiently compute the product $L^top v$, for the same matrix $L$, (possibly using the FWHT). In the case where $d$ is a power of $2$, I think we could decompose $L^top$ using the recursive decomposition of a Hadamard matrix, and obtain something like the following:
$$
L^top v = beginbmatrix H_d & dots & H_d endbmatrix v
$$
Is my line of thinking above correct? Moreover, is there an efficient way to attack the general case, where $d$ is not a power of $2$, without the need to explicitly generate and store the matrix $L$?
I would appreciate any pointers to references and/or an implementation, if that is a common problem in signal processing.
linear-algebra matrices numerical-linear-algebra fast-fourier-transform hadamard-matrices
edited Jul 27 at 22:13
asked Jul 27 at 22:01
VHarisop
804421
804421
add a comment |Â
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2864799%2fefficient-matrix-vector-multiplication-for-partial-hadamard-matrices%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password