Efficiently computing symmetric Toeplitz matrix such that $Tx=y$
$begingroup$
Let $x,y in mathbb{R}^N$ be known vectors. I am looking for an efficient means to compute the coefficients of the symmetric Toeplitz matrix
$$
T = begin{bmatrix}
c_0 & c_1 & ldots & c_{N-1} \
c_1 & c_0 & ldots & c_{N-2} \
vdots & vdots & ddots & vdots \
c_{N-1} & c_{N-2} & ldots & c_0
end{bmatrix}
$$
which satisfies $Tx=y$. Tests in Mathematica seem to indicate that all $c_i$ can be uniquely determined from $x$ and $y$, but I cannot find a generic algorithm to do this.
linear-algebra matrices algorithms
$endgroup$
add a comment |
$begingroup$
Let $x,y in mathbb{R}^N$ be known vectors. I am looking for an efficient means to compute the coefficients of the symmetric Toeplitz matrix
$$
T = begin{bmatrix}
c_0 & c_1 & ldots & c_{N-1} \
c_1 & c_0 & ldots & c_{N-2} \
vdots & vdots & ddots & vdots \
c_{N-1} & c_{N-2} & ldots & c_0
end{bmatrix}
$$
which satisfies $Tx=y$. Tests in Mathematica seem to indicate that all $c_i$ can be uniquely determined from $x$ and $y$, but I cannot find a generic algorithm to do this.
linear-algebra matrices algorithms
$endgroup$
add a comment |
$begingroup$
Let $x,y in mathbb{R}^N$ be known vectors. I am looking for an efficient means to compute the coefficients of the symmetric Toeplitz matrix
$$
T = begin{bmatrix}
c_0 & c_1 & ldots & c_{N-1} \
c_1 & c_0 & ldots & c_{N-2} \
vdots & vdots & ddots & vdots \
c_{N-1} & c_{N-2} & ldots & c_0
end{bmatrix}
$$
which satisfies $Tx=y$. Tests in Mathematica seem to indicate that all $c_i$ can be uniquely determined from $x$ and $y$, but I cannot find a generic algorithm to do this.
linear-algebra matrices algorithms
$endgroup$
Let $x,y in mathbb{R}^N$ be known vectors. I am looking for an efficient means to compute the coefficients of the symmetric Toeplitz matrix
$$
T = begin{bmatrix}
c_0 & c_1 & ldots & c_{N-1} \
c_1 & c_0 & ldots & c_{N-2} \
vdots & vdots & ddots & vdots \
c_{N-1} & c_{N-2} & ldots & c_0
end{bmatrix}
$$
which satisfies $Tx=y$. Tests in Mathematica seem to indicate that all $c_i$ can be uniquely determined from $x$ and $y$, but I cannot find a generic algorithm to do this.
linear-algebra matrices algorithms
linear-algebra matrices algorithms
asked Apr 2 '18 at 1:26
Steven RobertsSteven Roberts
132
132
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
Are you sure this is always possible with a symmetric Toeplitz matrix? Take for example $x = [1, 1, 0, ldots, 0]^T$. Then the first two elements of $T cdot x$ are given by $c_0 + c_1$ and $c_1 + c_0$. Therefore, if $y_0 neq y_1$, there is no solution.
If you drop the symmetric constraint it's easier. For
$$T = {rm toep}{c} = begin{bmatrix}
c_0 & 0 & 0 & ldots & 0 \
c_1 & c_0 & 0 & ldots & 0 \
c_2 & c_1 & c_0 & ldots & 0 \
vdots & vdots & vdots & ddots & vdots \
c_{N-1} & c_{N-2} & c_{N-3}& ldots & c_0
end{bmatrix},$$ we have ${rm toep}{c} cdot x = {rm toep}{x} cdot c$ due to the commutativity of the (truncated) convolution. To see this, just write out the product: $y_0 = c_0 x_0$, $y_1 = c_0 x_1 + c_1 x_0$, $y_2 = c_0 x_2 + c_1 x_1 + c_2 x_0$ and so on, you can clearly see how $c$ and $x$ are interchangeable. Then, it is easy to find $c$ via $c = {rm toep}{x}^{-1} cdot y$. Note that since the Toeplitz matrix is diagonal, this can be done efficiently. We have $c_0 = frac{y_0}{x_0}$, $c_1 = frac{y_1 - c_0 x_1}{x_0}$, etc.
If you must do it with symmetrix Toeplitz matrices (which will not always work), write out your products and isolate the c's. You'll notice that $T = c_0 I + sum_{n=1}^{N-1} c_n (D_n + D_n^T)$, where $D_n$ is a matrix with ones on its $n$-th diagonal (note that $D_n = D_1^n$ for $ngeq 1$). Therefore, $T x = c_0 x + sum_{n=1}^{N-1} c_n (D_n + D_n^T)x$, which we can write as $T x = X cdot c$, where $$X=begin{bmatrix} x & (D_1 + D_1^T)x & ldots & (D_{N-1} + D_{N-1}^T)xend{bmatrix}.$$ This allows to solve for $c$ via $c = X^{-1} y$, provided that $X$ is invertible (it is not for my example given in the beginning of this post).
$endgroup$
add a comment |
$begingroup$
You are looking for a $c$ such that $y = c ast x,$ where $ast$ denotes (cyclic) convolution. Take Fourier transforms (DFT, in this case) of both sides, to get
$widehat{y} = widehat{c} widehat{x},$ where the multiplication is pointwise.It follows that you can compute $c$ given $x, y$ as long as the compatibility condition that $widehat{y}_i$ is zero if $widehat{x}_i$ is.
$endgroup$
1
$begingroup$
I didn't think to diagonalize $T$. Doesn't this only work, though, if $T$ is circulant, not symmetric Toeplitz?
$endgroup$
– Steven Roberts
Apr 2 '18 at 3:12
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2718178%2fefficiently-computing-symmetric-toeplitz-matrix-such-that-tx-y%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Are you sure this is always possible with a symmetric Toeplitz matrix? Take for example $x = [1, 1, 0, ldots, 0]^T$. Then the first two elements of $T cdot x$ are given by $c_0 + c_1$ and $c_1 + c_0$. Therefore, if $y_0 neq y_1$, there is no solution.
If you drop the symmetric constraint it's easier. For
$$T = {rm toep}{c} = begin{bmatrix}
c_0 & 0 & 0 & ldots & 0 \
c_1 & c_0 & 0 & ldots & 0 \
c_2 & c_1 & c_0 & ldots & 0 \
vdots & vdots & vdots & ddots & vdots \
c_{N-1} & c_{N-2} & c_{N-3}& ldots & c_0
end{bmatrix},$$ we have ${rm toep}{c} cdot x = {rm toep}{x} cdot c$ due to the commutativity of the (truncated) convolution. To see this, just write out the product: $y_0 = c_0 x_0$, $y_1 = c_0 x_1 + c_1 x_0$, $y_2 = c_0 x_2 + c_1 x_1 + c_2 x_0$ and so on, you can clearly see how $c$ and $x$ are interchangeable. Then, it is easy to find $c$ via $c = {rm toep}{x}^{-1} cdot y$. Note that since the Toeplitz matrix is diagonal, this can be done efficiently. We have $c_0 = frac{y_0}{x_0}$, $c_1 = frac{y_1 - c_0 x_1}{x_0}$, etc.
If you must do it with symmetrix Toeplitz matrices (which will not always work), write out your products and isolate the c's. You'll notice that $T = c_0 I + sum_{n=1}^{N-1} c_n (D_n + D_n^T)$, where $D_n$ is a matrix with ones on its $n$-th diagonal (note that $D_n = D_1^n$ for $ngeq 1$). Therefore, $T x = c_0 x + sum_{n=1}^{N-1} c_n (D_n + D_n^T)x$, which we can write as $T x = X cdot c$, where $$X=begin{bmatrix} x & (D_1 + D_1^T)x & ldots & (D_{N-1} + D_{N-1}^T)xend{bmatrix}.$$ This allows to solve for $c$ via $c = X^{-1} y$, provided that $X$ is invertible (it is not for my example given in the beginning of this post).
$endgroup$
add a comment |
$begingroup$
Are you sure this is always possible with a symmetric Toeplitz matrix? Take for example $x = [1, 1, 0, ldots, 0]^T$. Then the first two elements of $T cdot x$ are given by $c_0 + c_1$ and $c_1 + c_0$. Therefore, if $y_0 neq y_1$, there is no solution.
If you drop the symmetric constraint it's easier. For
$$T = {rm toep}{c} = begin{bmatrix}
c_0 & 0 & 0 & ldots & 0 \
c_1 & c_0 & 0 & ldots & 0 \
c_2 & c_1 & c_0 & ldots & 0 \
vdots & vdots & vdots & ddots & vdots \
c_{N-1} & c_{N-2} & c_{N-3}& ldots & c_0
end{bmatrix},$$ we have ${rm toep}{c} cdot x = {rm toep}{x} cdot c$ due to the commutativity of the (truncated) convolution. To see this, just write out the product: $y_0 = c_0 x_0$, $y_1 = c_0 x_1 + c_1 x_0$, $y_2 = c_0 x_2 + c_1 x_1 + c_2 x_0$ and so on, you can clearly see how $c$ and $x$ are interchangeable. Then, it is easy to find $c$ via $c = {rm toep}{x}^{-1} cdot y$. Note that since the Toeplitz matrix is diagonal, this can be done efficiently. We have $c_0 = frac{y_0}{x_0}$, $c_1 = frac{y_1 - c_0 x_1}{x_0}$, etc.
If you must do it with symmetrix Toeplitz matrices (which will not always work), write out your products and isolate the c's. You'll notice that $T = c_0 I + sum_{n=1}^{N-1} c_n (D_n + D_n^T)$, where $D_n$ is a matrix with ones on its $n$-th diagonal (note that $D_n = D_1^n$ for $ngeq 1$). Therefore, $T x = c_0 x + sum_{n=1}^{N-1} c_n (D_n + D_n^T)x$, which we can write as $T x = X cdot c$, where $$X=begin{bmatrix} x & (D_1 + D_1^T)x & ldots & (D_{N-1} + D_{N-1}^T)xend{bmatrix}.$$ This allows to solve for $c$ via $c = X^{-1} y$, provided that $X$ is invertible (it is not for my example given in the beginning of this post).
$endgroup$
add a comment |
$begingroup$
Are you sure this is always possible with a symmetric Toeplitz matrix? Take for example $x = [1, 1, 0, ldots, 0]^T$. Then the first two elements of $T cdot x$ are given by $c_0 + c_1$ and $c_1 + c_0$. Therefore, if $y_0 neq y_1$, there is no solution.
If you drop the symmetric constraint it's easier. For
$$T = {rm toep}{c} = begin{bmatrix}
c_0 & 0 & 0 & ldots & 0 \
c_1 & c_0 & 0 & ldots & 0 \
c_2 & c_1 & c_0 & ldots & 0 \
vdots & vdots & vdots & ddots & vdots \
c_{N-1} & c_{N-2} & c_{N-3}& ldots & c_0
end{bmatrix},$$ we have ${rm toep}{c} cdot x = {rm toep}{x} cdot c$ due to the commutativity of the (truncated) convolution. To see this, just write out the product: $y_0 = c_0 x_0$, $y_1 = c_0 x_1 + c_1 x_0$, $y_2 = c_0 x_2 + c_1 x_1 + c_2 x_0$ and so on, you can clearly see how $c$ and $x$ are interchangeable. Then, it is easy to find $c$ via $c = {rm toep}{x}^{-1} cdot y$. Note that since the Toeplitz matrix is diagonal, this can be done efficiently. We have $c_0 = frac{y_0}{x_0}$, $c_1 = frac{y_1 - c_0 x_1}{x_0}$, etc.
If you must do it with symmetrix Toeplitz matrices (which will not always work), write out your products and isolate the c's. You'll notice that $T = c_0 I + sum_{n=1}^{N-1} c_n (D_n + D_n^T)$, where $D_n$ is a matrix with ones on its $n$-th diagonal (note that $D_n = D_1^n$ for $ngeq 1$). Therefore, $T x = c_0 x + sum_{n=1}^{N-1} c_n (D_n + D_n^T)x$, which we can write as $T x = X cdot c$, where $$X=begin{bmatrix} x & (D_1 + D_1^T)x & ldots & (D_{N-1} + D_{N-1}^T)xend{bmatrix}.$$ This allows to solve for $c$ via $c = X^{-1} y$, provided that $X$ is invertible (it is not for my example given in the beginning of this post).
$endgroup$
Are you sure this is always possible with a symmetric Toeplitz matrix? Take for example $x = [1, 1, 0, ldots, 0]^T$. Then the first two elements of $T cdot x$ are given by $c_0 + c_1$ and $c_1 + c_0$. Therefore, if $y_0 neq y_1$, there is no solution.
If you drop the symmetric constraint it's easier. For
$$T = {rm toep}{c} = begin{bmatrix}
c_0 & 0 & 0 & ldots & 0 \
c_1 & c_0 & 0 & ldots & 0 \
c_2 & c_1 & c_0 & ldots & 0 \
vdots & vdots & vdots & ddots & vdots \
c_{N-1} & c_{N-2} & c_{N-3}& ldots & c_0
end{bmatrix},$$ we have ${rm toep}{c} cdot x = {rm toep}{x} cdot c$ due to the commutativity of the (truncated) convolution. To see this, just write out the product: $y_0 = c_0 x_0$, $y_1 = c_0 x_1 + c_1 x_0$, $y_2 = c_0 x_2 + c_1 x_1 + c_2 x_0$ and so on, you can clearly see how $c$ and $x$ are interchangeable. Then, it is easy to find $c$ via $c = {rm toep}{x}^{-1} cdot y$. Note that since the Toeplitz matrix is diagonal, this can be done efficiently. We have $c_0 = frac{y_0}{x_0}$, $c_1 = frac{y_1 - c_0 x_1}{x_0}$, etc.
If you must do it with symmetrix Toeplitz matrices (which will not always work), write out your products and isolate the c's. You'll notice that $T = c_0 I + sum_{n=1}^{N-1} c_n (D_n + D_n^T)$, where $D_n$ is a matrix with ones on its $n$-th diagonal (note that $D_n = D_1^n$ for $ngeq 1$). Therefore, $T x = c_0 x + sum_{n=1}^{N-1} c_n (D_n + D_n^T)x$, which we can write as $T x = X cdot c$, where $$X=begin{bmatrix} x & (D_1 + D_1^T)x & ldots & (D_{N-1} + D_{N-1}^T)xend{bmatrix}.$$ This allows to solve for $c$ via $c = X^{-1} y$, provided that $X$ is invertible (it is not for my example given in the beginning of this post).
edited Dec 14 '18 at 14:12
answered Dec 14 '18 at 12:25
FlorianFlorian
1,5772721
1,5772721
add a comment |
add a comment |
$begingroup$
You are looking for a $c$ such that $y = c ast x,$ where $ast$ denotes (cyclic) convolution. Take Fourier transforms (DFT, in this case) of both sides, to get
$widehat{y} = widehat{c} widehat{x},$ where the multiplication is pointwise.It follows that you can compute $c$ given $x, y$ as long as the compatibility condition that $widehat{y}_i$ is zero if $widehat{x}_i$ is.
$endgroup$
1
$begingroup$
I didn't think to diagonalize $T$. Doesn't this only work, though, if $T$ is circulant, not symmetric Toeplitz?
$endgroup$
– Steven Roberts
Apr 2 '18 at 3:12
add a comment |
$begingroup$
You are looking for a $c$ such that $y = c ast x,$ where $ast$ denotes (cyclic) convolution. Take Fourier transforms (DFT, in this case) of both sides, to get
$widehat{y} = widehat{c} widehat{x},$ where the multiplication is pointwise.It follows that you can compute $c$ given $x, y$ as long as the compatibility condition that $widehat{y}_i$ is zero if $widehat{x}_i$ is.
$endgroup$
1
$begingroup$
I didn't think to diagonalize $T$. Doesn't this only work, though, if $T$ is circulant, not symmetric Toeplitz?
$endgroup$
– Steven Roberts
Apr 2 '18 at 3:12
add a comment |
$begingroup$
You are looking for a $c$ such that $y = c ast x,$ where $ast$ denotes (cyclic) convolution. Take Fourier transforms (DFT, in this case) of both sides, to get
$widehat{y} = widehat{c} widehat{x},$ where the multiplication is pointwise.It follows that you can compute $c$ given $x, y$ as long as the compatibility condition that $widehat{y}_i$ is zero if $widehat{x}_i$ is.
$endgroup$
You are looking for a $c$ such that $y = c ast x,$ where $ast$ denotes (cyclic) convolution. Take Fourier transforms (DFT, in this case) of both sides, to get
$widehat{y} = widehat{c} widehat{x},$ where the multiplication is pointwise.It follows that you can compute $c$ given $x, y$ as long as the compatibility condition that $widehat{y}_i$ is zero if $widehat{x}_i$ is.
answered Apr 2 '18 at 2:17
Igor RivinIgor Rivin
16k11234
16k11234
1
$begingroup$
I didn't think to diagonalize $T$. Doesn't this only work, though, if $T$ is circulant, not symmetric Toeplitz?
$endgroup$
– Steven Roberts
Apr 2 '18 at 3:12
add a comment |
1
$begingroup$
I didn't think to diagonalize $T$. Doesn't this only work, though, if $T$ is circulant, not symmetric Toeplitz?
$endgroup$
– Steven Roberts
Apr 2 '18 at 3:12
1
1
$begingroup$
I didn't think to diagonalize $T$. Doesn't this only work, though, if $T$ is circulant, not symmetric Toeplitz?
$endgroup$
– Steven Roberts
Apr 2 '18 at 3:12
$begingroup$
I didn't think to diagonalize $T$. Doesn't this only work, though, if $T$ is circulant, not symmetric Toeplitz?
$endgroup$
– Steven Roberts
Apr 2 '18 at 3:12
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
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
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2718178%2fefficiently-computing-symmetric-toeplitz-matrix-such-that-tx-y%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
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
Required, but never shown
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
Required, but never shown
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
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown