Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Greatest common factor with exponents of first input

  1. Jan 13, 2016 #1
    ok so is there a function that exists (for all intents and purposes let's call it G(x,y) )where

    x= a^2*b^4*c

    G(x,y) = a^2*b^4

    basically gcd, but the exponents match those of the common prime factors of the first input (x)

    equally useful would be a function where the output would be the coprime factor(s) of the first input. ie
    B(x,y) = c
  2. jcsd
  3. Jan 14, 2016 #2


    Staff: Mentor

    Actually the result would be ##a^2b^2##.

    A better way to write this would be ##G(a^2b^4c, a^4b^2d) = a^2b^2##.
    Is there such a function? I assume your question is, "Is there a function in some programming language that returns the GCF of its two inputs?"
    I don't know, but possibly someone has written such a library function in, say, the numpy or scipy Python libraries, or some other library in some other programming language.

  4. Jan 14, 2016 #3
    ok let me be more specific:

    first off i am looking for a mathematical algorithm, something that could exist outside of a computer program

    secondly, the equation given was purely just an example. What I need is an algorithm "G(x,y)" where, given two functions (a first function "x" and a second function "y"), G(x,y) returns a number who has all and only prime factors that are the shared prime factors of x and y, but are taken to the greatest exponents that still divide x (the first of the two functions plugged into G)

    alternatively, equally useful to me would be an algorithm "B(x,y)" where, given the same two functions x and y, B(x,y) returns a number that is divisible by all and only the prime factors of x (with the exponents that they have as divisors of x) that are not shared with y.
  5. Jan 14, 2016 #4


    Staff: Mentor

    I'm not aware of anything like this. Are you saying that, for example, ##G(2^{10}, 2) = 2^{10}##?
    I don't know how useful such an algorithm would be, but all an algorithm is, is a sequence of steps to be performed. Assuming my example follows what you're describing, how would you explain to someone how a result is achieved? That would be your algorithm.
    Last edited: Jan 14, 2016
  6. Jan 14, 2016 #5
    Yeah exactly: I'm looking for a function G(x,y) that would work exactly like the example you gave. G(2^10, 2) = 2^10.

    The Algorithm would be extremely useful to me personally. I'm looking for as nice and clean and simple a function as possible. The best example i can think of so far would be G(x,y) = gcd(x,y^x), but i'd prefer something more precise, and something that would not require processing unnecessarily large numbers, as y^x would get very very large.

    If such a G(x,y) can not be easily and cleanly created, a function that would be of equal use to me would be a function B(x,y) that would return the divisors of x that are coprime to y. For example B(2^10*3^5*5^8*7^3*11, 2^3*3^2*7^2) = 5^8*11

    If it is at all helpful, x will always be a factorial and y will always be made up of factors less than or equal to x. So x will have prime factors that y won't have, but y will only be made up of prime factors that x also has. Also the exponents on the prime factors of y will *probably* always be less then the exponents of the prime factors of x.
    Last edited by a moderator: Jan 14, 2016
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Similar Discussions: Greatest common factor with exponents of first input
  1. Greatest common divisor (Replies: 11)