How to find the smallest non-negative integer vector in the null-space of an integer matrix?
$begingroup$
Question:
For matrix $mathbf{A} in mathbb{Z}^{mtimes n}$ I would like to find the smallest positive vector in it's null-space $mathcal{N}(mathbf{A})$.
The null-space is defined as:
begin{equation}
mathcal{N}(mathbf{A}) = lbrace mathbf{x} in mathbb{Q}^{n}: mathbf{A}mathbf{x} = mathbf{0}rbrace
end{equation}
I am searching for a vector $mathbf{x}_{min} in mathbb{Z}_+^{n} cap mathcal{N}(mathbf{A}) $ which an arbitrary norm $||.||$. How can I find such a vector?
Additional information:
Although the matrix I am interested in is an integer matrix, I treated it as a linear operator on vectors of rational numbers $mathbf{A}: mathbb{Q}^n rightarrow mathbb{Q}^m$. According to this question $mathbb{Z}$ can't be a vector space over a field.
My guess is that I need to use Gaussian elimination to compute the basis of the null-space. Given the basis vectors I think I need combine them by using a version of least common multiple algorithm. I am not sure how to do this, and whether this will give a minimum vector.
If the choice of the norm matters, please make a choice.
linear-algebra vector-spaces
$endgroup$
|
show 1 more comment
$begingroup$
Question:
For matrix $mathbf{A} in mathbb{Z}^{mtimes n}$ I would like to find the smallest positive vector in it's null-space $mathcal{N}(mathbf{A})$.
The null-space is defined as:
begin{equation}
mathcal{N}(mathbf{A}) = lbrace mathbf{x} in mathbb{Q}^{n}: mathbf{A}mathbf{x} = mathbf{0}rbrace
end{equation}
I am searching for a vector $mathbf{x}_{min} in mathbb{Z}_+^{n} cap mathcal{N}(mathbf{A}) $ which an arbitrary norm $||.||$. How can I find such a vector?
Additional information:
Although the matrix I am interested in is an integer matrix, I treated it as a linear operator on vectors of rational numbers $mathbf{A}: mathbb{Q}^n rightarrow mathbb{Q}^m$. According to this question $mathbb{Z}$ can't be a vector space over a field.
My guess is that I need to use Gaussian elimination to compute the basis of the null-space. Given the basis vectors I think I need combine them by using a version of least common multiple algorithm. I am not sure how to do this, and whether this will give a minimum vector.
If the choice of the norm matters, please make a choice.
linear-algebra vector-spaces
$endgroup$
$begingroup$
I'm pretty sure this is an active research topic in computer science, meaning any algorithm will either be slow or difficult to describe. It might help if you included some references about how you found the question
$endgroup$
– Will Jagy
Jan 25 at 22:09
$begingroup$
I found this while trying to retrace the steps of a scheduling algorithm for synchronous data flow model of computation. The article describing the scheduling algorithm which includes the above problem is Lee, Messerschmitt: Static Scheduling of Synchronous Dataflow Programs for Digital Signal Processing. It would help me if you could provide any reference which shows either slow or complicated algorithms for the above problem.
$endgroup$
– Slaven Glumac
Jan 25 at 23:22
$begingroup$
I might be able to remember something. I had an original problem which was finding any basis for the integer lattice which is the null space of an integer rectangular matrix. Turns out this is a standard matrix calculation. During that phase, i was looking for algorithms, and kept coming across references, not to the ordinary shortest vector problem (general method LLL, not guaranteed), but mentions of your question kept coming up. I can't quite recall, maybe I can find something.
$endgroup$
– Will Jagy
Jan 26 at 0:06
$begingroup$
en.wikipedia.org/wiki/Lattice_problem
$endgroup$
– Will Jagy
Jan 26 at 0:07
$begingroup$
en.wikipedia.org/wiki/Lattice_reduction
$endgroup$
– Will Jagy
Jan 26 at 0:10
|
show 1 more comment
$begingroup$
Question:
For matrix $mathbf{A} in mathbb{Z}^{mtimes n}$ I would like to find the smallest positive vector in it's null-space $mathcal{N}(mathbf{A})$.
The null-space is defined as:
begin{equation}
mathcal{N}(mathbf{A}) = lbrace mathbf{x} in mathbb{Q}^{n}: mathbf{A}mathbf{x} = mathbf{0}rbrace
end{equation}
I am searching for a vector $mathbf{x}_{min} in mathbb{Z}_+^{n} cap mathcal{N}(mathbf{A}) $ which an arbitrary norm $||.||$. How can I find such a vector?
Additional information:
Although the matrix I am interested in is an integer matrix, I treated it as a linear operator on vectors of rational numbers $mathbf{A}: mathbb{Q}^n rightarrow mathbb{Q}^m$. According to this question $mathbb{Z}$ can't be a vector space over a field.
My guess is that I need to use Gaussian elimination to compute the basis of the null-space. Given the basis vectors I think I need combine them by using a version of least common multiple algorithm. I am not sure how to do this, and whether this will give a minimum vector.
If the choice of the norm matters, please make a choice.
linear-algebra vector-spaces
$endgroup$
Question:
For matrix $mathbf{A} in mathbb{Z}^{mtimes n}$ I would like to find the smallest positive vector in it's null-space $mathcal{N}(mathbf{A})$.
The null-space is defined as:
begin{equation}
mathcal{N}(mathbf{A}) = lbrace mathbf{x} in mathbb{Q}^{n}: mathbf{A}mathbf{x} = mathbf{0}rbrace
end{equation}
I am searching for a vector $mathbf{x}_{min} in mathbb{Z}_+^{n} cap mathcal{N}(mathbf{A}) $ which an arbitrary norm $||.||$. How can I find such a vector?
Additional information:
Although the matrix I am interested in is an integer matrix, I treated it as a linear operator on vectors of rational numbers $mathbf{A}: mathbb{Q}^n rightarrow mathbb{Q}^m$. According to this question $mathbb{Z}$ can't be a vector space over a field.
My guess is that I need to use Gaussian elimination to compute the basis of the null-space. Given the basis vectors I think I need combine them by using a version of least common multiple algorithm. I am not sure how to do this, and whether this will give a minimum vector.
If the choice of the norm matters, please make a choice.
linear-algebra vector-spaces
linear-algebra vector-spaces
asked Jan 25 at 20:17
Slaven GlumacSlaven Glumac
11811
11811
$begingroup$
I'm pretty sure this is an active research topic in computer science, meaning any algorithm will either be slow or difficult to describe. It might help if you included some references about how you found the question
$endgroup$
– Will Jagy
Jan 25 at 22:09
$begingroup$
I found this while trying to retrace the steps of a scheduling algorithm for synchronous data flow model of computation. The article describing the scheduling algorithm which includes the above problem is Lee, Messerschmitt: Static Scheduling of Synchronous Dataflow Programs for Digital Signal Processing. It would help me if you could provide any reference which shows either slow or complicated algorithms for the above problem.
$endgroup$
– Slaven Glumac
Jan 25 at 23:22
$begingroup$
I might be able to remember something. I had an original problem which was finding any basis for the integer lattice which is the null space of an integer rectangular matrix. Turns out this is a standard matrix calculation. During that phase, i was looking for algorithms, and kept coming across references, not to the ordinary shortest vector problem (general method LLL, not guaranteed), but mentions of your question kept coming up. I can't quite recall, maybe I can find something.
$endgroup$
– Will Jagy
Jan 26 at 0:06
$begingroup$
en.wikipedia.org/wiki/Lattice_problem
$endgroup$
– Will Jagy
Jan 26 at 0:07
$begingroup$
en.wikipedia.org/wiki/Lattice_reduction
$endgroup$
– Will Jagy
Jan 26 at 0:10
|
show 1 more comment
$begingroup$
I'm pretty sure this is an active research topic in computer science, meaning any algorithm will either be slow or difficult to describe. It might help if you included some references about how you found the question
$endgroup$
– Will Jagy
Jan 25 at 22:09
$begingroup$
I found this while trying to retrace the steps of a scheduling algorithm for synchronous data flow model of computation. The article describing the scheduling algorithm which includes the above problem is Lee, Messerschmitt: Static Scheduling of Synchronous Dataflow Programs for Digital Signal Processing. It would help me if you could provide any reference which shows either slow or complicated algorithms for the above problem.
$endgroup$
– Slaven Glumac
Jan 25 at 23:22
$begingroup$
I might be able to remember something. I had an original problem which was finding any basis for the integer lattice which is the null space of an integer rectangular matrix. Turns out this is a standard matrix calculation. During that phase, i was looking for algorithms, and kept coming across references, not to the ordinary shortest vector problem (general method LLL, not guaranteed), but mentions of your question kept coming up. I can't quite recall, maybe I can find something.
$endgroup$
– Will Jagy
Jan 26 at 0:06
$begingroup$
en.wikipedia.org/wiki/Lattice_problem
$endgroup$
– Will Jagy
Jan 26 at 0:07
$begingroup$
en.wikipedia.org/wiki/Lattice_reduction
$endgroup$
– Will Jagy
Jan 26 at 0:10
$begingroup$
I'm pretty sure this is an active research topic in computer science, meaning any algorithm will either be slow or difficult to describe. It might help if you included some references about how you found the question
$endgroup$
– Will Jagy
Jan 25 at 22:09
$begingroup$
I'm pretty sure this is an active research topic in computer science, meaning any algorithm will either be slow or difficult to describe. It might help if you included some references about how you found the question
$endgroup$
– Will Jagy
Jan 25 at 22:09
$begingroup$
I found this while trying to retrace the steps of a scheduling algorithm for synchronous data flow model of computation. The article describing the scheduling algorithm which includes the above problem is Lee, Messerschmitt: Static Scheduling of Synchronous Dataflow Programs for Digital Signal Processing. It would help me if you could provide any reference which shows either slow or complicated algorithms for the above problem.
$endgroup$
– Slaven Glumac
Jan 25 at 23:22
$begingroup$
I found this while trying to retrace the steps of a scheduling algorithm for synchronous data flow model of computation. The article describing the scheduling algorithm which includes the above problem is Lee, Messerschmitt: Static Scheduling of Synchronous Dataflow Programs for Digital Signal Processing. It would help me if you could provide any reference which shows either slow or complicated algorithms for the above problem.
$endgroup$
– Slaven Glumac
Jan 25 at 23:22
$begingroup$
I might be able to remember something. I had an original problem which was finding any basis for the integer lattice which is the null space of an integer rectangular matrix. Turns out this is a standard matrix calculation. During that phase, i was looking for algorithms, and kept coming across references, not to the ordinary shortest vector problem (general method LLL, not guaranteed), but mentions of your question kept coming up. I can't quite recall, maybe I can find something.
$endgroup$
– Will Jagy
Jan 26 at 0:06
$begingroup$
I might be able to remember something. I had an original problem which was finding any basis for the integer lattice which is the null space of an integer rectangular matrix. Turns out this is a standard matrix calculation. During that phase, i was looking for algorithms, and kept coming across references, not to the ordinary shortest vector problem (general method LLL, not guaranteed), but mentions of your question kept coming up. I can't quite recall, maybe I can find something.
$endgroup$
– Will Jagy
Jan 26 at 0:06
$begingroup$
en.wikipedia.org/wiki/Lattice_problem
$endgroup$
– Will Jagy
Jan 26 at 0:07
$begingroup$
en.wikipedia.org/wiki/Lattice_problem
$endgroup$
– Will Jagy
Jan 26 at 0:07
$begingroup$
en.wikipedia.org/wiki/Lattice_reduction
$endgroup$
– Will Jagy
Jan 26 at 0:10
$begingroup$
en.wikipedia.org/wiki/Lattice_reduction
$endgroup$
– Will Jagy
Jan 26 at 0:10
|
show 1 more comment
0
active
oldest
votes
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%2f3087577%2fhow-to-find-the-smallest-non-negative-integer-vector-in-the-null-space-of-an-int%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2f3087577%2fhow-to-find-the-smallest-non-negative-integer-vector-in-the-null-space-of-an-int%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
$begingroup$
I'm pretty sure this is an active research topic in computer science, meaning any algorithm will either be slow or difficult to describe. It might help if you included some references about how you found the question
$endgroup$
– Will Jagy
Jan 25 at 22:09
$begingroup$
I found this while trying to retrace the steps of a scheduling algorithm for synchronous data flow model of computation. The article describing the scheduling algorithm which includes the above problem is Lee, Messerschmitt: Static Scheduling of Synchronous Dataflow Programs for Digital Signal Processing. It would help me if you could provide any reference which shows either slow or complicated algorithms for the above problem.
$endgroup$
– Slaven Glumac
Jan 25 at 23:22
$begingroup$
I might be able to remember something. I had an original problem which was finding any basis for the integer lattice which is the null space of an integer rectangular matrix. Turns out this is a standard matrix calculation. During that phase, i was looking for algorithms, and kept coming across references, not to the ordinary shortest vector problem (general method LLL, not guaranteed), but mentions of your question kept coming up. I can't quite recall, maybe I can find something.
$endgroup$
– Will Jagy
Jan 26 at 0:06
$begingroup$
en.wikipedia.org/wiki/Lattice_problem
$endgroup$
– Will Jagy
Jan 26 at 0:07
$begingroup$
en.wikipedia.org/wiki/Lattice_reduction
$endgroup$
– Will Jagy
Jan 26 at 0:10