Is there an explicit function mapping $2^n+2^m$ to $(n,m)$?Function for unique hash codeDetermine an explicit expression for $f$.A functional equation over integersHow to scale a ratio to a limited range?Equal functions with non-equal definitionsIs there a mathematical function which flips 1 and 2?Is there any explicit bijective mapping from $mathbbZ$ to $mathbbQ^+$?Is the Cantor Pairing function guaranteed to generate a unique real number for all real numbers?Dichotomy of function mapping and its inverse.Term for functions that map functions to other functions

BitNot does not flip bits in the way I expected

A question on the ultrafilter number

Good allowance savings plan?

Can you reject a postdoc offer after the PI has paid a large sum for flights/accommodation for your visit?

Is it true that real estate prices mainly go up?

How much stiffer are 23c tires over 28c?

Low budget alien movie about the Earth being cooked

Should QA ask requirements to developers?

Fourth person (in Slavey language)

infinitive telling the purpose

How are such low op-amp input currents possible?

What are some noteworthy "mic-drop" moments in math?

What wound would be of little consequence to a biped but terrible for a quadruped?

Could a cubesat propel itself to Mars?

Do Bugbears' arms literally get longer when it's their turn?

Is Gradient Descent central to every optimizer?

Why is there a voltage between the mains ground and my radiator?

Making a sword in the stone, in a medieval world without magic

My story is written in English, but is set in my home country. What language should I use for the dialogue?

Space in array system equations

PTIJ: How can I halachically kill a vampire?

Force user to remove USB token

How do I deal with a powergamer in a game full of beginners in a school club?

Subset counting for even numbers



Is there an explicit function mapping $2^n+2^m$ to $(n,m)$?


Function for unique hash codeDetermine an explicit expression for $f$.A functional equation over integersHow to scale a ratio to a limited range?Equal functions with non-equal definitionsIs there a mathematical function which flips 1 and 2?Is there any explicit bijective mapping from $mathbbZ$ to $mathbbQ^+$?Is the Cantor Pairing function guaranteed to generate a unique real number for all real numbers?Dichotomy of function mapping and its inverse.Term for functions that map functions to other functions













4












$begingroup$


We know that the number $2^n+2^m$ is unique for $n,minmathbbN$. Is there any explicit way of writing a function $sigma:mathbbNtomathbbN^2$ such that
$$
sigma(2^n+2^m)=(n,m),
$$

for all $n,minmathbbN$?



Remark (edit): Here, $(n,m)$ is to be interpreted as the unordered pair $n,m$, since I'm only interested in the pair. More specifically, I want to find functions $sigma,f$ and $g$ such that
$$
sigma(k)=(g(k),f(k)),
$$

where $k=2^g(k)+2^f(k)$, $forall k inmathbbN$.










share|cite|improve this question











$endgroup$







  • 4




    $begingroup$
    Such a function can't be well defined, otherwise you would have $sigma(2^n+2^m) = (n,m)=(m,n)$. But in $mathbbN^2$, you don't identify $(n,m)$ and $(m,n)$... The image of $sigma$ should be the set of parts of $mathbbN$ with two elements.
    $endgroup$
    – TheSilverDoe
    11 hours ago











  • $begingroup$
    You're right! I'm more interested in the unordered pair. How may I change my question to be more accurate w.r.t. this?
    $endgroup$
    – sam wolfe
    11 hours ago











  • $begingroup$
    You can write $sigma(2^n + 2^m) = (n,m) text or (m,n)$ maybe.
    $endgroup$
    – TheSilverDoe
    11 hours ago










  • $begingroup$
    You could write $sigma(2^n+2^m)=n,m$. But I'm not sure I understand what your goal is. What you have there is already an eminently explicit and understandable definition of your function -- you may just need to specify explicitly what $sigma$ does to numbers not of the form $2^n+2^m$. Unless you have extremely specific and concrete requirements to meet, any attempt to make it look "more symbolic" will just succeed in making the definition harder to understand. For which purpose would you want that?
    $endgroup$
    – Henning Makholm
    11 hours ago










  • $begingroup$
    I want a way of recovering the unique integers pair via an explicitly constructible bijection. Please check the edit I made
    $endgroup$
    – sam wolfe
    11 hours ago
















4












$begingroup$


We know that the number $2^n+2^m$ is unique for $n,minmathbbN$. Is there any explicit way of writing a function $sigma:mathbbNtomathbbN^2$ such that
$$
sigma(2^n+2^m)=(n,m),
$$

for all $n,minmathbbN$?



Remark (edit): Here, $(n,m)$ is to be interpreted as the unordered pair $n,m$, since I'm only interested in the pair. More specifically, I want to find functions $sigma,f$ and $g$ such that
$$
sigma(k)=(g(k),f(k)),
$$

where $k=2^g(k)+2^f(k)$, $forall k inmathbbN$.










share|cite|improve this question











$endgroup$







  • 4




    $begingroup$
    Such a function can't be well defined, otherwise you would have $sigma(2^n+2^m) = (n,m)=(m,n)$. But in $mathbbN^2$, you don't identify $(n,m)$ and $(m,n)$... The image of $sigma$ should be the set of parts of $mathbbN$ with two elements.
    $endgroup$
    – TheSilverDoe
    11 hours ago











  • $begingroup$
    You're right! I'm more interested in the unordered pair. How may I change my question to be more accurate w.r.t. this?
    $endgroup$
    – sam wolfe
    11 hours ago











  • $begingroup$
    You can write $sigma(2^n + 2^m) = (n,m) text or (m,n)$ maybe.
    $endgroup$
    – TheSilverDoe
    11 hours ago










  • $begingroup$
    You could write $sigma(2^n+2^m)=n,m$. But I'm not sure I understand what your goal is. What you have there is already an eminently explicit and understandable definition of your function -- you may just need to specify explicitly what $sigma$ does to numbers not of the form $2^n+2^m$. Unless you have extremely specific and concrete requirements to meet, any attempt to make it look "more symbolic" will just succeed in making the definition harder to understand. For which purpose would you want that?
    $endgroup$
    – Henning Makholm
    11 hours ago










  • $begingroup$
    I want a way of recovering the unique integers pair via an explicitly constructible bijection. Please check the edit I made
    $endgroup$
    – sam wolfe
    11 hours ago














4












4








4


0



$begingroup$


We know that the number $2^n+2^m$ is unique for $n,minmathbbN$. Is there any explicit way of writing a function $sigma:mathbbNtomathbbN^2$ such that
$$
sigma(2^n+2^m)=(n,m),
$$

for all $n,minmathbbN$?



Remark (edit): Here, $(n,m)$ is to be interpreted as the unordered pair $n,m$, since I'm only interested in the pair. More specifically, I want to find functions $sigma,f$ and $g$ such that
$$
sigma(k)=(g(k),f(k)),
$$

where $k=2^g(k)+2^f(k)$, $forall k inmathbbN$.










share|cite|improve this question











$endgroup$




We know that the number $2^n+2^m$ is unique for $n,minmathbbN$. Is there any explicit way of writing a function $sigma:mathbbNtomathbbN^2$ such that
$$
sigma(2^n+2^m)=(n,m),
$$

for all $n,minmathbbN$?



Remark (edit): Here, $(n,m)$ is to be interpreted as the unordered pair $n,m$, since I'm only interested in the pair. More specifically, I want to find functions $sigma,f$ and $g$ such that
$$
sigma(k)=(g(k),f(k)),
$$

where $k=2^g(k)+2^f(k)$, $forall k inmathbbN$.







elementary-number-theory functions






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited 8 hours ago









Asaf Karagila

306k33438769




306k33438769










asked 11 hours ago









sam wolfesam wolfe

793525




793525







  • 4




    $begingroup$
    Such a function can't be well defined, otherwise you would have $sigma(2^n+2^m) = (n,m)=(m,n)$. But in $mathbbN^2$, you don't identify $(n,m)$ and $(m,n)$... The image of $sigma$ should be the set of parts of $mathbbN$ with two elements.
    $endgroup$
    – TheSilverDoe
    11 hours ago











  • $begingroup$
    You're right! I'm more interested in the unordered pair. How may I change my question to be more accurate w.r.t. this?
    $endgroup$
    – sam wolfe
    11 hours ago











  • $begingroup$
    You can write $sigma(2^n + 2^m) = (n,m) text or (m,n)$ maybe.
    $endgroup$
    – TheSilverDoe
    11 hours ago










  • $begingroup$
    You could write $sigma(2^n+2^m)=n,m$. But I'm not sure I understand what your goal is. What you have there is already an eminently explicit and understandable definition of your function -- you may just need to specify explicitly what $sigma$ does to numbers not of the form $2^n+2^m$. Unless you have extremely specific and concrete requirements to meet, any attempt to make it look "more symbolic" will just succeed in making the definition harder to understand. For which purpose would you want that?
    $endgroup$
    – Henning Makholm
    11 hours ago










  • $begingroup$
    I want a way of recovering the unique integers pair via an explicitly constructible bijection. Please check the edit I made
    $endgroup$
    – sam wolfe
    11 hours ago













  • 4




    $begingroup$
    Such a function can't be well defined, otherwise you would have $sigma(2^n+2^m) = (n,m)=(m,n)$. But in $mathbbN^2$, you don't identify $(n,m)$ and $(m,n)$... The image of $sigma$ should be the set of parts of $mathbbN$ with two elements.
    $endgroup$
    – TheSilverDoe
    11 hours ago











  • $begingroup$
    You're right! I'm more interested in the unordered pair. How may I change my question to be more accurate w.r.t. this?
    $endgroup$
    – sam wolfe
    11 hours ago











  • $begingroup$
    You can write $sigma(2^n + 2^m) = (n,m) text or (m,n)$ maybe.
    $endgroup$
    – TheSilverDoe
    11 hours ago










  • $begingroup$
    You could write $sigma(2^n+2^m)=n,m$. But I'm not sure I understand what your goal is. What you have there is already an eminently explicit and understandable definition of your function -- you may just need to specify explicitly what $sigma$ does to numbers not of the form $2^n+2^m$. Unless you have extremely specific and concrete requirements to meet, any attempt to make it look "more symbolic" will just succeed in making the definition harder to understand. For which purpose would you want that?
    $endgroup$
    – Henning Makholm
    11 hours ago










  • $begingroup$
    I want a way of recovering the unique integers pair via an explicitly constructible bijection. Please check the edit I made
    $endgroup$
    – sam wolfe
    11 hours ago








4




4




$begingroup$
Such a function can't be well defined, otherwise you would have $sigma(2^n+2^m) = (n,m)=(m,n)$. But in $mathbbN^2$, you don't identify $(n,m)$ and $(m,n)$... The image of $sigma$ should be the set of parts of $mathbbN$ with two elements.
$endgroup$
– TheSilverDoe
11 hours ago





$begingroup$
Such a function can't be well defined, otherwise you would have $sigma(2^n+2^m) = (n,m)=(m,n)$. But in $mathbbN^2$, you don't identify $(n,m)$ and $(m,n)$... The image of $sigma$ should be the set of parts of $mathbbN$ with two elements.
$endgroup$
– TheSilverDoe
11 hours ago













$begingroup$
You're right! I'm more interested in the unordered pair. How may I change my question to be more accurate w.r.t. this?
$endgroup$
– sam wolfe
11 hours ago





$begingroup$
You're right! I'm more interested in the unordered pair. How may I change my question to be more accurate w.r.t. this?
$endgroup$
– sam wolfe
11 hours ago













$begingroup$
You can write $sigma(2^n + 2^m) = (n,m) text or (m,n)$ maybe.
$endgroup$
– TheSilverDoe
11 hours ago




$begingroup$
You can write $sigma(2^n + 2^m) = (n,m) text or (m,n)$ maybe.
$endgroup$
– TheSilverDoe
11 hours ago












$begingroup$
You could write $sigma(2^n+2^m)=n,m$. But I'm not sure I understand what your goal is. What you have there is already an eminently explicit and understandable definition of your function -- you may just need to specify explicitly what $sigma$ does to numbers not of the form $2^n+2^m$. Unless you have extremely specific and concrete requirements to meet, any attempt to make it look "more symbolic" will just succeed in making the definition harder to understand. For which purpose would you want that?
$endgroup$
– Henning Makholm
11 hours ago




$begingroup$
You could write $sigma(2^n+2^m)=n,m$. But I'm not sure I understand what your goal is. What you have there is already an eminently explicit and understandable definition of your function -- you may just need to specify explicitly what $sigma$ does to numbers not of the form $2^n+2^m$. Unless you have extremely specific and concrete requirements to meet, any attempt to make it look "more symbolic" will just succeed in making the definition harder to understand. For which purpose would you want that?
$endgroup$
– Henning Makholm
11 hours ago












$begingroup$
I want a way of recovering the unique integers pair via an explicitly constructible bijection. Please check the edit I made
$endgroup$
– sam wolfe
11 hours ago





$begingroup$
I want a way of recovering the unique integers pair via an explicitly constructible bijection. Please check the edit I made
$endgroup$
– sam wolfe
11 hours ago











3 Answers
3






active

oldest

votes


















4












$begingroup$

What do you think of
$$forall k in mathbbN, quad sigma(k)=left( lfloor log_2(k) rfloor, lfloor log_2 left( k-2^lfloor log_2(k) rfloor right)rfloor right)$$



This is well defined except when $k$ is a power of $2$.



In the other case where $k=2^p$, choose $sigma(k)=(p-1,p-1)$.






share|cite|improve this answer











$endgroup$








  • 2




    $begingroup$
    (+1) Looks like you had the idea first. It's hacky but it works.
    $endgroup$
    – 6005
    10 hours ago










  • $begingroup$
    I was a bit confused about the $lfloor log_2(k) rfloor$ choice, but I now understand that this actually picks the highest power between $n$ and $m$, thus the problem with $k=2^p$. Thank you!
    $endgroup$
    – sam wolfe
    10 hours ago










  • $begingroup$
    @samwolfe you got it ;)
    $endgroup$
    – TheSilverDoe
    10 hours ago


















3












$begingroup$

We have to relax your requirement a bit due to the comment by TheSilverDoe. So we require that for all $boldsymbolm ge n ge 0$, $sigma(2^m + 2^n) = (m, n)$.
Then this is possible. First define
$$
tau(x) := lceil log_2(x) rceil - 1,
$$

for example, $tau(2) = 0$, $tau(3) = tau(4) = 1$, $tau(5) = 2$, etc.
Then, define
$$
sigma(x) := Big(tau(x), tau left( 1 + x - 2^tau(x) right) Big).
$$



How it works:



  • $tau(x)$ is the exponent in the largest power of $2$ smaller than $x$; that is, if $2^k < x le 2^k+1$, then $tau(x) = k$.


  • For any $m ge n ge 0$, we know that $2^m < 2^m + 2^n le 2^m+1$. Therefore, $tau(2^m + 2^n) = m$.


  • So for $x = 2^m + 2^n$, we get $tau(x) = m$. Then, $1 + x - 2^tau(x) = 1 + (2^m + 2^n) - 2^n = 2^m + 1$, and the largest power of $2$ smaller than $2^m + 1$ is $2^m$. Thus,
    $$tau(1 + x - 2^tau(x)) = n,$$
    so
    $$
    sigma(x) = (m,n).
    $$


Remark:
It seems likely that there will be no way to get a function $sigma$ that does not use floor functions or similar tricks. Some evidence for this is that there is no function on real numbers that satisfies $sigma(2^x + 2^y) = (x,y)$.






share|cite|improve this answer









$endgroup$












  • $begingroup$
    Yes, I understood my question was initially not so well posed. Thanks for the edit and the explanation, helped me to better understand TheSilverDoe's answer.
    $endgroup$
    – sam wolfe
    10 hours ago


















2












$begingroup$

If you just want to define your functions, and you're writing for an audience of human readers, I would strongly recommend writing simply:




Define the functions $f$ and $g$ such that for all $ale b$ it holds that
$$f(2^a+2^b)=a qquad g(2^a+2^b)=b $$
and for any number $n$ that is not of the form $2^a+2^b$, we have $f(n)=g(n)=0$.



These conditions obviously define $f$ and $g$ uniquely.




This is much easier to understand, and will give the reader a much clearer intuition about what on earth you're doing, than to try to avoid using English words. (Deliberately attempting to avoid English words in definition almost leads to bad mathematical exposition).



If you're writing not for a human audience, then what you should write depends crucially on what the non-human audience will understand.



In particular, if you're trying to program a computer to implement appropriate $f$ and $g$ for you, you should not be looking for algebraic expressions at all. Rather, exploit the fact that there are operations that work for this built right into modern CPUs. On x86/x64 processors they're implemented by the BSF and BSR instructions. Some programming languages expose them fairly directly, such as Long.numberOfLeadingZeros(n) and Long.numberOfTrailingZeros(n) in Java -- you need just a bit of trivial arithmetic to convert the result of the former of these to the representation you want.






share|cite|improve this answer









$endgroup$












    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
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3145419%2fis-there-an-explicit-function-mapping-2n2m-to-n-m%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









    4












    $begingroup$

    What do you think of
    $$forall k in mathbbN, quad sigma(k)=left( lfloor log_2(k) rfloor, lfloor log_2 left( k-2^lfloor log_2(k) rfloor right)rfloor right)$$



    This is well defined except when $k$ is a power of $2$.



    In the other case where $k=2^p$, choose $sigma(k)=(p-1,p-1)$.






    share|cite|improve this answer











    $endgroup$








    • 2




      $begingroup$
      (+1) Looks like you had the idea first. It's hacky but it works.
      $endgroup$
      – 6005
      10 hours ago










    • $begingroup$
      I was a bit confused about the $lfloor log_2(k) rfloor$ choice, but I now understand that this actually picks the highest power between $n$ and $m$, thus the problem with $k=2^p$. Thank you!
      $endgroup$
      – sam wolfe
      10 hours ago










    • $begingroup$
      @samwolfe you got it ;)
      $endgroup$
      – TheSilverDoe
      10 hours ago















    4












    $begingroup$

    What do you think of
    $$forall k in mathbbN, quad sigma(k)=left( lfloor log_2(k) rfloor, lfloor log_2 left( k-2^lfloor log_2(k) rfloor right)rfloor right)$$



    This is well defined except when $k$ is a power of $2$.



    In the other case where $k=2^p$, choose $sigma(k)=(p-1,p-1)$.






    share|cite|improve this answer











    $endgroup$








    • 2




      $begingroup$
      (+1) Looks like you had the idea first. It's hacky but it works.
      $endgroup$
      – 6005
      10 hours ago










    • $begingroup$
      I was a bit confused about the $lfloor log_2(k) rfloor$ choice, but I now understand that this actually picks the highest power between $n$ and $m$, thus the problem with $k=2^p$. Thank you!
      $endgroup$
      – sam wolfe
      10 hours ago










    • $begingroup$
      @samwolfe you got it ;)
      $endgroup$
      – TheSilverDoe
      10 hours ago













    4












    4








    4





    $begingroup$

    What do you think of
    $$forall k in mathbbN, quad sigma(k)=left( lfloor log_2(k) rfloor, lfloor log_2 left( k-2^lfloor log_2(k) rfloor right)rfloor right)$$



    This is well defined except when $k$ is a power of $2$.



    In the other case where $k=2^p$, choose $sigma(k)=(p-1,p-1)$.






    share|cite|improve this answer











    $endgroup$



    What do you think of
    $$forall k in mathbbN, quad sigma(k)=left( lfloor log_2(k) rfloor, lfloor log_2 left( k-2^lfloor log_2(k) rfloor right)rfloor right)$$



    This is well defined except when $k$ is a power of $2$.



    In the other case where $k=2^p$, choose $sigma(k)=(p-1,p-1)$.







    share|cite|improve this answer














    share|cite|improve this answer



    share|cite|improve this answer








    edited 10 hours ago

























    answered 11 hours ago









    TheSilverDoeTheSilverDoe

    3,794112




    3,794112







    • 2




      $begingroup$
      (+1) Looks like you had the idea first. It's hacky but it works.
      $endgroup$
      – 6005
      10 hours ago










    • $begingroup$
      I was a bit confused about the $lfloor log_2(k) rfloor$ choice, but I now understand that this actually picks the highest power between $n$ and $m$, thus the problem with $k=2^p$. Thank you!
      $endgroup$
      – sam wolfe
      10 hours ago










    • $begingroup$
      @samwolfe you got it ;)
      $endgroup$
      – TheSilverDoe
      10 hours ago












    • 2




      $begingroup$
      (+1) Looks like you had the idea first. It's hacky but it works.
      $endgroup$
      – 6005
      10 hours ago










    • $begingroup$
      I was a bit confused about the $lfloor log_2(k) rfloor$ choice, but I now understand that this actually picks the highest power between $n$ and $m$, thus the problem with $k=2^p$. Thank you!
      $endgroup$
      – sam wolfe
      10 hours ago










    • $begingroup$
      @samwolfe you got it ;)
      $endgroup$
      – TheSilverDoe
      10 hours ago







    2




    2




    $begingroup$
    (+1) Looks like you had the idea first. It's hacky but it works.
    $endgroup$
    – 6005
    10 hours ago




    $begingroup$
    (+1) Looks like you had the idea first. It's hacky but it works.
    $endgroup$
    – 6005
    10 hours ago












    $begingroup$
    I was a bit confused about the $lfloor log_2(k) rfloor$ choice, but I now understand that this actually picks the highest power between $n$ and $m$, thus the problem with $k=2^p$. Thank you!
    $endgroup$
    – sam wolfe
    10 hours ago




    $begingroup$
    I was a bit confused about the $lfloor log_2(k) rfloor$ choice, but I now understand that this actually picks the highest power between $n$ and $m$, thus the problem with $k=2^p$. Thank you!
    $endgroup$
    – sam wolfe
    10 hours ago












    $begingroup$
    @samwolfe you got it ;)
    $endgroup$
    – TheSilverDoe
    10 hours ago




    $begingroup$
    @samwolfe you got it ;)
    $endgroup$
    – TheSilverDoe
    10 hours ago











    3












    $begingroup$

    We have to relax your requirement a bit due to the comment by TheSilverDoe. So we require that for all $boldsymbolm ge n ge 0$, $sigma(2^m + 2^n) = (m, n)$.
    Then this is possible. First define
    $$
    tau(x) := lceil log_2(x) rceil - 1,
    $$

    for example, $tau(2) = 0$, $tau(3) = tau(4) = 1$, $tau(5) = 2$, etc.
    Then, define
    $$
    sigma(x) := Big(tau(x), tau left( 1 + x - 2^tau(x) right) Big).
    $$



    How it works:



    • $tau(x)$ is the exponent in the largest power of $2$ smaller than $x$; that is, if $2^k < x le 2^k+1$, then $tau(x) = k$.


    • For any $m ge n ge 0$, we know that $2^m < 2^m + 2^n le 2^m+1$. Therefore, $tau(2^m + 2^n) = m$.


    • So for $x = 2^m + 2^n$, we get $tau(x) = m$. Then, $1 + x - 2^tau(x) = 1 + (2^m + 2^n) - 2^n = 2^m + 1$, and the largest power of $2$ smaller than $2^m + 1$ is $2^m$. Thus,
      $$tau(1 + x - 2^tau(x)) = n,$$
      so
      $$
      sigma(x) = (m,n).
      $$


    Remark:
    It seems likely that there will be no way to get a function $sigma$ that does not use floor functions or similar tricks. Some evidence for this is that there is no function on real numbers that satisfies $sigma(2^x + 2^y) = (x,y)$.






    share|cite|improve this answer









    $endgroup$












    • $begingroup$
      Yes, I understood my question was initially not so well posed. Thanks for the edit and the explanation, helped me to better understand TheSilverDoe's answer.
      $endgroup$
      – sam wolfe
      10 hours ago















    3












    $begingroup$

    We have to relax your requirement a bit due to the comment by TheSilverDoe. So we require that for all $boldsymbolm ge n ge 0$, $sigma(2^m + 2^n) = (m, n)$.
    Then this is possible. First define
    $$
    tau(x) := lceil log_2(x) rceil - 1,
    $$

    for example, $tau(2) = 0$, $tau(3) = tau(4) = 1$, $tau(5) = 2$, etc.
    Then, define
    $$
    sigma(x) := Big(tau(x), tau left( 1 + x - 2^tau(x) right) Big).
    $$



    How it works:



    • $tau(x)$ is the exponent in the largest power of $2$ smaller than $x$; that is, if $2^k < x le 2^k+1$, then $tau(x) = k$.


    • For any $m ge n ge 0$, we know that $2^m < 2^m + 2^n le 2^m+1$. Therefore, $tau(2^m + 2^n) = m$.


    • So for $x = 2^m + 2^n$, we get $tau(x) = m$. Then, $1 + x - 2^tau(x) = 1 + (2^m + 2^n) - 2^n = 2^m + 1$, and the largest power of $2$ smaller than $2^m + 1$ is $2^m$. Thus,
      $$tau(1 + x - 2^tau(x)) = n,$$
      so
      $$
      sigma(x) = (m,n).
      $$


    Remark:
    It seems likely that there will be no way to get a function $sigma$ that does not use floor functions or similar tricks. Some evidence for this is that there is no function on real numbers that satisfies $sigma(2^x + 2^y) = (x,y)$.






    share|cite|improve this answer









    $endgroup$












    • $begingroup$
      Yes, I understood my question was initially not so well posed. Thanks for the edit and the explanation, helped me to better understand TheSilverDoe's answer.
      $endgroup$
      – sam wolfe
      10 hours ago













    3












    3








    3





    $begingroup$

    We have to relax your requirement a bit due to the comment by TheSilverDoe. So we require that for all $boldsymbolm ge n ge 0$, $sigma(2^m + 2^n) = (m, n)$.
    Then this is possible. First define
    $$
    tau(x) := lceil log_2(x) rceil - 1,
    $$

    for example, $tau(2) = 0$, $tau(3) = tau(4) = 1$, $tau(5) = 2$, etc.
    Then, define
    $$
    sigma(x) := Big(tau(x), tau left( 1 + x - 2^tau(x) right) Big).
    $$



    How it works:



    • $tau(x)$ is the exponent in the largest power of $2$ smaller than $x$; that is, if $2^k < x le 2^k+1$, then $tau(x) = k$.


    • For any $m ge n ge 0$, we know that $2^m < 2^m + 2^n le 2^m+1$. Therefore, $tau(2^m + 2^n) = m$.


    • So for $x = 2^m + 2^n$, we get $tau(x) = m$. Then, $1 + x - 2^tau(x) = 1 + (2^m + 2^n) - 2^n = 2^m + 1$, and the largest power of $2$ smaller than $2^m + 1$ is $2^m$. Thus,
      $$tau(1 + x - 2^tau(x)) = n,$$
      so
      $$
      sigma(x) = (m,n).
      $$


    Remark:
    It seems likely that there will be no way to get a function $sigma$ that does not use floor functions or similar tricks. Some evidence for this is that there is no function on real numbers that satisfies $sigma(2^x + 2^y) = (x,y)$.






    share|cite|improve this answer









    $endgroup$



    We have to relax your requirement a bit due to the comment by TheSilverDoe. So we require that for all $boldsymbolm ge n ge 0$, $sigma(2^m + 2^n) = (m, n)$.
    Then this is possible. First define
    $$
    tau(x) := lceil log_2(x) rceil - 1,
    $$

    for example, $tau(2) = 0$, $tau(3) = tau(4) = 1$, $tau(5) = 2$, etc.
    Then, define
    $$
    sigma(x) := Big(tau(x), tau left( 1 + x - 2^tau(x) right) Big).
    $$



    How it works:



    • $tau(x)$ is the exponent in the largest power of $2$ smaller than $x$; that is, if $2^k < x le 2^k+1$, then $tau(x) = k$.


    • For any $m ge n ge 0$, we know that $2^m < 2^m + 2^n le 2^m+1$. Therefore, $tau(2^m + 2^n) = m$.


    • So for $x = 2^m + 2^n$, we get $tau(x) = m$. Then, $1 + x - 2^tau(x) = 1 + (2^m + 2^n) - 2^n = 2^m + 1$, and the largest power of $2$ smaller than $2^m + 1$ is $2^m$. Thus,
      $$tau(1 + x - 2^tau(x)) = n,$$
      so
      $$
      sigma(x) = (m,n).
      $$


    Remark:
    It seems likely that there will be no way to get a function $sigma$ that does not use floor functions or similar tricks. Some evidence for this is that there is no function on real numbers that satisfies $sigma(2^x + 2^y) = (x,y)$.







    share|cite|improve this answer












    share|cite|improve this answer



    share|cite|improve this answer










    answered 10 hours ago









    60056005

    36.7k751127




    36.7k751127











    • $begingroup$
      Yes, I understood my question was initially not so well posed. Thanks for the edit and the explanation, helped me to better understand TheSilverDoe's answer.
      $endgroup$
      – sam wolfe
      10 hours ago
















    • $begingroup$
      Yes, I understood my question was initially not so well posed. Thanks for the edit and the explanation, helped me to better understand TheSilverDoe's answer.
      $endgroup$
      – sam wolfe
      10 hours ago















    $begingroup$
    Yes, I understood my question was initially not so well posed. Thanks for the edit and the explanation, helped me to better understand TheSilverDoe's answer.
    $endgroup$
    – sam wolfe
    10 hours ago




    $begingroup$
    Yes, I understood my question was initially not so well posed. Thanks for the edit and the explanation, helped me to better understand TheSilverDoe's answer.
    $endgroup$
    – sam wolfe
    10 hours ago











    2












    $begingroup$

    If you just want to define your functions, and you're writing for an audience of human readers, I would strongly recommend writing simply:




    Define the functions $f$ and $g$ such that for all $ale b$ it holds that
    $$f(2^a+2^b)=a qquad g(2^a+2^b)=b $$
    and for any number $n$ that is not of the form $2^a+2^b$, we have $f(n)=g(n)=0$.



    These conditions obviously define $f$ and $g$ uniquely.




    This is much easier to understand, and will give the reader a much clearer intuition about what on earth you're doing, than to try to avoid using English words. (Deliberately attempting to avoid English words in definition almost leads to bad mathematical exposition).



    If you're writing not for a human audience, then what you should write depends crucially on what the non-human audience will understand.



    In particular, if you're trying to program a computer to implement appropriate $f$ and $g$ for you, you should not be looking for algebraic expressions at all. Rather, exploit the fact that there are operations that work for this built right into modern CPUs. On x86/x64 processors they're implemented by the BSF and BSR instructions. Some programming languages expose them fairly directly, such as Long.numberOfLeadingZeros(n) and Long.numberOfTrailingZeros(n) in Java -- you need just a bit of trivial arithmetic to convert the result of the former of these to the representation you want.






    share|cite|improve this answer









    $endgroup$

















      2












      $begingroup$

      If you just want to define your functions, and you're writing for an audience of human readers, I would strongly recommend writing simply:




      Define the functions $f$ and $g$ such that for all $ale b$ it holds that
      $$f(2^a+2^b)=a qquad g(2^a+2^b)=b $$
      and for any number $n$ that is not of the form $2^a+2^b$, we have $f(n)=g(n)=0$.



      These conditions obviously define $f$ and $g$ uniquely.




      This is much easier to understand, and will give the reader a much clearer intuition about what on earth you're doing, than to try to avoid using English words. (Deliberately attempting to avoid English words in definition almost leads to bad mathematical exposition).



      If you're writing not for a human audience, then what you should write depends crucially on what the non-human audience will understand.



      In particular, if you're trying to program a computer to implement appropriate $f$ and $g$ for you, you should not be looking for algebraic expressions at all. Rather, exploit the fact that there are operations that work for this built right into modern CPUs. On x86/x64 processors they're implemented by the BSF and BSR instructions. Some programming languages expose them fairly directly, such as Long.numberOfLeadingZeros(n) and Long.numberOfTrailingZeros(n) in Java -- you need just a bit of trivial arithmetic to convert the result of the former of these to the representation you want.






      share|cite|improve this answer









      $endgroup$















        2












        2








        2





        $begingroup$

        If you just want to define your functions, and you're writing for an audience of human readers, I would strongly recommend writing simply:




        Define the functions $f$ and $g$ such that for all $ale b$ it holds that
        $$f(2^a+2^b)=a qquad g(2^a+2^b)=b $$
        and for any number $n$ that is not of the form $2^a+2^b$, we have $f(n)=g(n)=0$.



        These conditions obviously define $f$ and $g$ uniquely.




        This is much easier to understand, and will give the reader a much clearer intuition about what on earth you're doing, than to try to avoid using English words. (Deliberately attempting to avoid English words in definition almost leads to bad mathematical exposition).



        If you're writing not for a human audience, then what you should write depends crucially on what the non-human audience will understand.



        In particular, if you're trying to program a computer to implement appropriate $f$ and $g$ for you, you should not be looking for algebraic expressions at all. Rather, exploit the fact that there are operations that work for this built right into modern CPUs. On x86/x64 processors they're implemented by the BSF and BSR instructions. Some programming languages expose them fairly directly, such as Long.numberOfLeadingZeros(n) and Long.numberOfTrailingZeros(n) in Java -- you need just a bit of trivial arithmetic to convert the result of the former of these to the representation you want.






        share|cite|improve this answer









        $endgroup$



        If you just want to define your functions, and you're writing for an audience of human readers, I would strongly recommend writing simply:




        Define the functions $f$ and $g$ such that for all $ale b$ it holds that
        $$f(2^a+2^b)=a qquad g(2^a+2^b)=b $$
        and for any number $n$ that is not of the form $2^a+2^b$, we have $f(n)=g(n)=0$.



        These conditions obviously define $f$ and $g$ uniquely.




        This is much easier to understand, and will give the reader a much clearer intuition about what on earth you're doing, than to try to avoid using English words. (Deliberately attempting to avoid English words in definition almost leads to bad mathematical exposition).



        If you're writing not for a human audience, then what you should write depends crucially on what the non-human audience will understand.



        In particular, if you're trying to program a computer to implement appropriate $f$ and $g$ for you, you should not be looking for algebraic expressions at all. Rather, exploit the fact that there are operations that work for this built right into modern CPUs. On x86/x64 processors they're implemented by the BSF and BSR instructions. Some programming languages expose them fairly directly, such as Long.numberOfLeadingZeros(n) and Long.numberOfTrailingZeros(n) in Java -- you need just a bit of trivial arithmetic to convert the result of the former of these to the representation you want.







        share|cite|improve this answer












        share|cite|improve this answer



        share|cite|improve this answer










        answered 10 hours ago









        Henning MakholmHenning Makholm

        242k17308549




        242k17308549



























            draft saved

            draft discarded
















































            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.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3145419%2fis-there-an-explicit-function-mapping-2n2m-to-n-m%23new-answer', 'question_page');

            );

            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







            Popular posts from this blog

            Magento 2 duplicate PHPSESSID cookie when using session_start() in custom php scriptMagento 2: User cant logged in into to account page, no error showing!Magento duplicate on subdomainGrabbing storeview from cookie (after using language selector)How do I run php custom script on magento2Magento 2: Include PHP script in headerSession lock after using Cm_RedisSessionscript php to update stockMagento set cookie popupMagento 2 session id cookie - where to find it?How to import Configurable product from csv with custom attributes using php scriptMagento 2 run custom PHP script

            Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

            How to solve knockout JS error in Magento 2 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?(Magento2) knockout.js:3012 Uncaught ReferenceError: Unable to process bindingUnable to process binding Knockout.js magento 2Cannot read property `scopeLabel` of undefined on Product Detail PageCan't get Customer Data on frontend in Magento 2Magento2 Order Summary - unable to process bindingKO templates are not loading in Magento 2.1 applicationgetting knockout js error magento 2Product grid not load -— Unable to process binding Knockout.js magento 2Product form not loaded in magento2Uncaught ReferenceError: Unable to process binding “if: function()return (isShowLegend()) ” magento 2