Computing the volume of a simplex-like object with constraints
$begingroup$
For any $n geq 2$, let
$$D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ] =
{ (x_1 , ldots , x_n ) in mathbb R^n mid
sum_i x_i = r mbox{ and } b_i geq x_i geq a_i , forall i },$$
where $r geq b_i geq a_i geq 0$ for all $i$, and all are real numbers.
Question: What is the 'volume' of $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$?
So for example for $n=2$, this set is either empty or it is some short line, and the purpose would be to calculate the length of that line (in terms of the parameters $r, a_i, b_i$). This is easy, I've done that already. Also the case $n=3$ would in principle still be doable to do by hand: it would be either zero (in case the set is empty) or part of a plane in $mathbb R^3$, the area of which we desire to compute.
Now to come up with a formula for the case $n=3$ (and higher) in a smarter way, my idea was to reason inductively from the case $n=2$, so basically reducing the three dimensional case to the two dimensional one, etc. I obviously tried to use integrals.
The problem I run into, is that in order to compute the volume we want with integrals, we have to view this set as (a subset of) an $n-1$-dimensional space. (Indeed, the integral of the constant function $1$ over the region $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$ seen as part of $mathbb R^n$ (rather than $mathbb R^{n-1}$), is equal to $0$. That's not what we want.) But to do that, it seems to me that we would need a concrete isometric embedding of $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$ into $mathbb R^{n-1}$, and I can't really find a nice one.
Do you have an idea about how to approach this problem best?
(This question was previously posted on Math.StackExchange, see https://math.stackexchange.com/questions/3135606/computing-hyper-area-of-a-contrained-simplex.)
co.combinatorics real-analysis integration
New contributor
$endgroup$
add a comment |
$begingroup$
For any $n geq 2$, let
$$D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ] =
{ (x_1 , ldots , x_n ) in mathbb R^n mid
sum_i x_i = r mbox{ and } b_i geq x_i geq a_i , forall i },$$
where $r geq b_i geq a_i geq 0$ for all $i$, and all are real numbers.
Question: What is the 'volume' of $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$?
So for example for $n=2$, this set is either empty or it is some short line, and the purpose would be to calculate the length of that line (in terms of the parameters $r, a_i, b_i$). This is easy, I've done that already. Also the case $n=3$ would in principle still be doable to do by hand: it would be either zero (in case the set is empty) or part of a plane in $mathbb R^3$, the area of which we desire to compute.
Now to come up with a formula for the case $n=3$ (and higher) in a smarter way, my idea was to reason inductively from the case $n=2$, so basically reducing the three dimensional case to the two dimensional one, etc. I obviously tried to use integrals.
The problem I run into, is that in order to compute the volume we want with integrals, we have to view this set as (a subset of) an $n-1$-dimensional space. (Indeed, the integral of the constant function $1$ over the region $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$ seen as part of $mathbb R^n$ (rather than $mathbb R^{n-1}$), is equal to $0$. That's not what we want.) But to do that, it seems to me that we would need a concrete isometric embedding of $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$ into $mathbb R^{n-1}$, and I can't really find a nice one.
Do you have an idea about how to approach this problem best?
(This question was previously posted on Math.StackExchange, see https://math.stackexchange.com/questions/3135606/computing-hyper-area-of-a-contrained-simplex.)
co.combinatorics real-analysis integration
New contributor
$endgroup$
add a comment |
$begingroup$
For any $n geq 2$, let
$$D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ] =
{ (x_1 , ldots , x_n ) in mathbb R^n mid
sum_i x_i = r mbox{ and } b_i geq x_i geq a_i , forall i },$$
where $r geq b_i geq a_i geq 0$ for all $i$, and all are real numbers.
Question: What is the 'volume' of $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$?
So for example for $n=2$, this set is either empty or it is some short line, and the purpose would be to calculate the length of that line (in terms of the parameters $r, a_i, b_i$). This is easy, I've done that already. Also the case $n=3$ would in principle still be doable to do by hand: it would be either zero (in case the set is empty) or part of a plane in $mathbb R^3$, the area of which we desire to compute.
Now to come up with a formula for the case $n=3$ (and higher) in a smarter way, my idea was to reason inductively from the case $n=2$, so basically reducing the three dimensional case to the two dimensional one, etc. I obviously tried to use integrals.
The problem I run into, is that in order to compute the volume we want with integrals, we have to view this set as (a subset of) an $n-1$-dimensional space. (Indeed, the integral of the constant function $1$ over the region $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$ seen as part of $mathbb R^n$ (rather than $mathbb R^{n-1}$), is equal to $0$. That's not what we want.) But to do that, it seems to me that we would need a concrete isometric embedding of $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$ into $mathbb R^{n-1}$, and I can't really find a nice one.
Do you have an idea about how to approach this problem best?
(This question was previously posted on Math.StackExchange, see https://math.stackexchange.com/questions/3135606/computing-hyper-area-of-a-contrained-simplex.)
co.combinatorics real-analysis integration
New contributor
$endgroup$
For any $n geq 2$, let
$$D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ] =
{ (x_1 , ldots , x_n ) in mathbb R^n mid
sum_i x_i = r mbox{ and } b_i geq x_i geq a_i , forall i },$$
where $r geq b_i geq a_i geq 0$ for all $i$, and all are real numbers.
Question: What is the 'volume' of $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$?
So for example for $n=2$, this set is either empty or it is some short line, and the purpose would be to calculate the length of that line (in terms of the parameters $r, a_i, b_i$). This is easy, I've done that already. Also the case $n=3$ would in principle still be doable to do by hand: it would be either zero (in case the set is empty) or part of a plane in $mathbb R^3$, the area of which we desire to compute.
Now to come up with a formula for the case $n=3$ (and higher) in a smarter way, my idea was to reason inductively from the case $n=2$, so basically reducing the three dimensional case to the two dimensional one, etc. I obviously tried to use integrals.
The problem I run into, is that in order to compute the volume we want with integrals, we have to view this set as (a subset of) an $n-1$-dimensional space. (Indeed, the integral of the constant function $1$ over the region $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$ seen as part of $mathbb R^n$ (rather than $mathbb R^{n-1}$), is equal to $0$. That's not what we want.) But to do that, it seems to me that we would need a concrete isometric embedding of $D_n [r , (a_1, b_1 ) , ldots , (a_n, b_n) ]$ into $mathbb R^{n-1}$, and I can't really find a nice one.
Do you have an idea about how to approach this problem best?
(This question was previously posted on Math.StackExchange, see https://math.stackexchange.com/questions/3135606/computing-hyper-area-of-a-contrained-simplex.)
co.combinatorics real-analysis integration
co.combinatorics real-analysis integration
New contributor
New contributor
edited 14 hours ago
Iosif Pinelis
19.5k22259
19.5k22259
New contributor
asked 14 hours ago
Oscar W.Oscar W.
311
311
New contributor
New contributor
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
$begingroup$
Computing volumes of polytopes in general is NP-hard. However, your polytope is special - it is a slice of a hypercube by a hyperplane, and this is tractable, see Theorem 1 in:
Marichal, Jean-Luc; Mossinghoff, Michael J., Slices, slabs, and sections of the unit hypercube, Online J. Anal. Comb. 3, Article 1, 11 p. (2008). ZBL1189.52011.
$endgroup$
add a comment |
$begingroup$
The $(n-1)$-volume of your polytope (in $mathbb R^n$) equals the $(n-1)$-volume of the polytope
begin{multline}
P:={(x_1,dots,x_{n-1})inmathbb R^{n-1}colon \
a_ile x_ile b_i forall i=1,dots,n-1,\
a_nle r-sum_1^{n-1}x_ile b_n}
end{multline}
(in $mathbb R^{n-1}$) divided by $1/sqrt n$, which latter is the cosine of the angle between the unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ in $mathbb R^n$ -- because $P$ is the image of your polytope under the orthogonal projection of $mathbb R^n$ onto $mathbb R^{n-1}$ given by $(x_1,dots,x_n)mapsto(x_1,dots,x_{n-1})$. The unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ are normal vectors to, respectively, the hyperplane containing your polytope and the hyperplane ${(x_1,dots,x_n)inmathbb R^ncolon x_n=0}$; the latter hyperplane is identified with $mathbb R^{n-1}$.
A formula for the volume of a polytope was given by Lawrence.
$endgroup$
add a comment |
$begingroup$
We may assume without loss of generality that $a_i=0$. If
$r$ and each $b_i$ are positive integers, then consider
$$ f(x) = frac{left( 1-x^{tb_1+1}right)cdots
left( 1-x^{tb_n+1}right)}{(1-x)^n}. $$
The coefficient of $x^{tr}$ is a polynomial function of $t$,
and the volume $V$ will be its leading coefficient. If I didn't
make a computational error, then
$$ V=frac{1}{(n-1)!}sum_{substack{Ssubseteq
{1,dots,n}\ sum_{iin S}b_i<r}} (-1)^{|S|}
left(r-sum_{iin S}b_iright)^{n-1}. $$
If this isn't correct, then something close to it will be.
$endgroup$
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: "504"
};
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
});
}
});
Oscar W. is a new contributor. Be nice, and check out our Code of Conduct.
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%2fmathoverflow.net%2fquestions%2f324878%2fcomputing-the-volume-of-a-simplex-like-object-with-constraints%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Computing volumes of polytopes in general is NP-hard. However, your polytope is special - it is a slice of a hypercube by a hyperplane, and this is tractable, see Theorem 1 in:
Marichal, Jean-Luc; Mossinghoff, Michael J., Slices, slabs, and sections of the unit hypercube, Online J. Anal. Comb. 3, Article 1, 11 p. (2008). ZBL1189.52011.
$endgroup$
add a comment |
$begingroup$
Computing volumes of polytopes in general is NP-hard. However, your polytope is special - it is a slice of a hypercube by a hyperplane, and this is tractable, see Theorem 1 in:
Marichal, Jean-Luc; Mossinghoff, Michael J., Slices, slabs, and sections of the unit hypercube, Online J. Anal. Comb. 3, Article 1, 11 p. (2008). ZBL1189.52011.
$endgroup$
add a comment |
$begingroup$
Computing volumes of polytopes in general is NP-hard. However, your polytope is special - it is a slice of a hypercube by a hyperplane, and this is tractable, see Theorem 1 in:
Marichal, Jean-Luc; Mossinghoff, Michael J., Slices, slabs, and sections of the unit hypercube, Online J. Anal. Comb. 3, Article 1, 11 p. (2008). ZBL1189.52011.
$endgroup$
Computing volumes of polytopes in general is NP-hard. However, your polytope is special - it is a slice of a hypercube by a hyperplane, and this is tractable, see Theorem 1 in:
Marichal, Jean-Luc; Mossinghoff, Michael J., Slices, slabs, and sections of the unit hypercube, Online J. Anal. Comb. 3, Article 1, 11 p. (2008). ZBL1189.52011.
answered 13 hours ago
Igor RivinIgor Rivin
79.5k8113309
79.5k8113309
add a comment |
add a comment |
$begingroup$
The $(n-1)$-volume of your polytope (in $mathbb R^n$) equals the $(n-1)$-volume of the polytope
begin{multline}
P:={(x_1,dots,x_{n-1})inmathbb R^{n-1}colon \
a_ile x_ile b_i forall i=1,dots,n-1,\
a_nle r-sum_1^{n-1}x_ile b_n}
end{multline}
(in $mathbb R^{n-1}$) divided by $1/sqrt n$, which latter is the cosine of the angle between the unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ in $mathbb R^n$ -- because $P$ is the image of your polytope under the orthogonal projection of $mathbb R^n$ onto $mathbb R^{n-1}$ given by $(x_1,dots,x_n)mapsto(x_1,dots,x_{n-1})$. The unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ are normal vectors to, respectively, the hyperplane containing your polytope and the hyperplane ${(x_1,dots,x_n)inmathbb R^ncolon x_n=0}$; the latter hyperplane is identified with $mathbb R^{n-1}$.
A formula for the volume of a polytope was given by Lawrence.
$endgroup$
add a comment |
$begingroup$
The $(n-1)$-volume of your polytope (in $mathbb R^n$) equals the $(n-1)$-volume of the polytope
begin{multline}
P:={(x_1,dots,x_{n-1})inmathbb R^{n-1}colon \
a_ile x_ile b_i forall i=1,dots,n-1,\
a_nle r-sum_1^{n-1}x_ile b_n}
end{multline}
(in $mathbb R^{n-1}$) divided by $1/sqrt n$, which latter is the cosine of the angle between the unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ in $mathbb R^n$ -- because $P$ is the image of your polytope under the orthogonal projection of $mathbb R^n$ onto $mathbb R^{n-1}$ given by $(x_1,dots,x_n)mapsto(x_1,dots,x_{n-1})$. The unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ are normal vectors to, respectively, the hyperplane containing your polytope and the hyperplane ${(x_1,dots,x_n)inmathbb R^ncolon x_n=0}$; the latter hyperplane is identified with $mathbb R^{n-1}$.
A formula for the volume of a polytope was given by Lawrence.
$endgroup$
add a comment |
$begingroup$
The $(n-1)$-volume of your polytope (in $mathbb R^n$) equals the $(n-1)$-volume of the polytope
begin{multline}
P:={(x_1,dots,x_{n-1})inmathbb R^{n-1}colon \
a_ile x_ile b_i forall i=1,dots,n-1,\
a_nle r-sum_1^{n-1}x_ile b_n}
end{multline}
(in $mathbb R^{n-1}$) divided by $1/sqrt n$, which latter is the cosine of the angle between the unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ in $mathbb R^n$ -- because $P$ is the image of your polytope under the orthogonal projection of $mathbb R^n$ onto $mathbb R^{n-1}$ given by $(x_1,dots,x_n)mapsto(x_1,dots,x_{n-1})$. The unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ are normal vectors to, respectively, the hyperplane containing your polytope and the hyperplane ${(x_1,dots,x_n)inmathbb R^ncolon x_n=0}$; the latter hyperplane is identified with $mathbb R^{n-1}$.
A formula for the volume of a polytope was given by Lawrence.
$endgroup$
The $(n-1)$-volume of your polytope (in $mathbb R^n$) equals the $(n-1)$-volume of the polytope
begin{multline}
P:={(x_1,dots,x_{n-1})inmathbb R^{n-1}colon \
a_ile x_ile b_i forall i=1,dots,n-1,\
a_nle r-sum_1^{n-1}x_ile b_n}
end{multline}
(in $mathbb R^{n-1}$) divided by $1/sqrt n$, which latter is the cosine of the angle between the unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ in $mathbb R^n$ -- because $P$ is the image of your polytope under the orthogonal projection of $mathbb R^n$ onto $mathbb R^{n-1}$ given by $(x_1,dots,x_n)mapsto(x_1,dots,x_{n-1})$. The unit vectors $(1/sqrt n,dots,1/sqrt n)$ and $(0,dots,0,1)$ are normal vectors to, respectively, the hyperplane containing your polytope and the hyperplane ${(x_1,dots,x_n)inmathbb R^ncolon x_n=0}$; the latter hyperplane is identified with $mathbb R^{n-1}$.
A formula for the volume of a polytope was given by Lawrence.
edited 13 hours ago
answered 13 hours ago
Iosif PinelisIosif Pinelis
19.5k22259
19.5k22259
add a comment |
add a comment |
$begingroup$
We may assume without loss of generality that $a_i=0$. If
$r$ and each $b_i$ are positive integers, then consider
$$ f(x) = frac{left( 1-x^{tb_1+1}right)cdots
left( 1-x^{tb_n+1}right)}{(1-x)^n}. $$
The coefficient of $x^{tr}$ is a polynomial function of $t$,
and the volume $V$ will be its leading coefficient. If I didn't
make a computational error, then
$$ V=frac{1}{(n-1)!}sum_{substack{Ssubseteq
{1,dots,n}\ sum_{iin S}b_i<r}} (-1)^{|S|}
left(r-sum_{iin S}b_iright)^{n-1}. $$
If this isn't correct, then something close to it will be.
$endgroup$
add a comment |
$begingroup$
We may assume without loss of generality that $a_i=0$. If
$r$ and each $b_i$ are positive integers, then consider
$$ f(x) = frac{left( 1-x^{tb_1+1}right)cdots
left( 1-x^{tb_n+1}right)}{(1-x)^n}. $$
The coefficient of $x^{tr}$ is a polynomial function of $t$,
and the volume $V$ will be its leading coefficient. If I didn't
make a computational error, then
$$ V=frac{1}{(n-1)!}sum_{substack{Ssubseteq
{1,dots,n}\ sum_{iin S}b_i<r}} (-1)^{|S|}
left(r-sum_{iin S}b_iright)^{n-1}. $$
If this isn't correct, then something close to it will be.
$endgroup$
add a comment |
$begingroup$
We may assume without loss of generality that $a_i=0$. If
$r$ and each $b_i$ are positive integers, then consider
$$ f(x) = frac{left( 1-x^{tb_1+1}right)cdots
left( 1-x^{tb_n+1}right)}{(1-x)^n}. $$
The coefficient of $x^{tr}$ is a polynomial function of $t$,
and the volume $V$ will be its leading coefficient. If I didn't
make a computational error, then
$$ V=frac{1}{(n-1)!}sum_{substack{Ssubseteq
{1,dots,n}\ sum_{iin S}b_i<r}} (-1)^{|S|}
left(r-sum_{iin S}b_iright)^{n-1}. $$
If this isn't correct, then something close to it will be.
$endgroup$
We may assume without loss of generality that $a_i=0$. If
$r$ and each $b_i$ are positive integers, then consider
$$ f(x) = frac{left( 1-x^{tb_1+1}right)cdots
left( 1-x^{tb_n+1}right)}{(1-x)^n}. $$
The coefficient of $x^{tr}$ is a polynomial function of $t$,
and the volume $V$ will be its leading coefficient. If I didn't
make a computational error, then
$$ V=frac{1}{(n-1)!}sum_{substack{Ssubseteq
{1,dots,n}\ sum_{iin S}b_i<r}} (-1)^{|S|}
left(r-sum_{iin S}b_iright)^{n-1}. $$
If this isn't correct, then something close to it will be.
answered 11 hours ago
Richard StanleyRichard Stanley
28.9k9115189
28.9k9115189
add a comment |
add a comment |
Oscar W. is a new contributor. Be nice, and check out our Code of Conduct.
Oscar W. is a new contributor. Be nice, and check out our Code of Conduct.
Oscar W. is a new contributor. Be nice, and check out our Code of Conduct.
Oscar W. is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to MathOverflow!
- 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%2fmathoverflow.net%2fquestions%2f324878%2fcomputing-the-volume-of-a-simplex-like-object-with-constraints%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