Math Is Fun Forum
  Discussion about math, puzzles, games and fun.   Useful symbols: ÷ × ½ √ ∞ ≠ ≤ ≥ ≈ ⇒ ± ∈ Δ θ ∴ ∑ ∫ • π ƒ -¹ ² ³ °

You are not logged in.

#1 2014-04-24 02:00:15

Agnishom
Real Member
From: The Complex Plane
Registered: 2011-01-29
Posts: 18,893
Website

Primitive Pythagorean triples

Is the following a good way to generate primitive pythagorean triples?

pythag[n_] := Block[{soln = Solve[{a^2 + b^2 == c^2,  c <= n, 0 < a < b < c}, {a, b, c}, Integers]},
        {Length[soln], Count[GCD[a, b] == GCD[b, c] == GCD[c, a] == 1 /. soln, True]}
      ]

'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'
'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'
'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

#2 2014-04-24 02:03:04

anonimnystefy
Real Member
From: The Foundation
Registered: 2011-05-23
Posts: 15,658

Re: Primitive Pythagorean triples

Why not just use Euclid's formula?


“Here lies the reader who will never open this book. He is forever dead.

“Taking a new step, uttering a new word, is what people fear most.” ― Fyodor Dostoyevsky, Crime and Punishment

Offline

#3 2014-04-24 02:06:32

Agnishom
Real Member
From: The Complex Plane
Registered: 2011-01-29
Posts: 18,893
Website

Re: Primitive Pythagorean triples

I would love to but I do not know how to do that on M.


'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'
'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'
'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

#4 2014-04-24 03:45:49

bobbym
Administrator
From: Bumpkinland
Registered: 2009-04-12
Posts: 90,678

Re: Primitive Pythagorean triples

Here are some I used:

somepytriples[m_]:={m,((m^2-1)/2),((m^2+1)/2)}
morepytriples[u_,v_,r_]:={(u^2-v^2)r,2*u*v*r,(u^2+v^2)r}
pytriples[m_,n_]:={n^2-m^2,2m*n,n^2+m^2}

In mathematics, you don't understand things. You just get used to them.

I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.

Offline

#5 2014-04-24 03:55:44

Agnishom
Real Member
From: The Complex Plane
Registered: 2011-01-29
Posts: 18,893
Website

Re: Primitive Pythagorean triples

How do I iterate m and n through ranges?

I have found yet another truly marvelous algorithm.

http://stackoverflow.com/questions/18294496/proof-pythagorean-triple-algorithm-is-faster-by-euclids-formula

The last comment therein


'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'
'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'
'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

#6 2014-04-24 04:02:07

bobbym
Administrator
From: Bumpkinland
Registered: 2009-04-12
Posts: 90,678

Re: Primitive Pythagorean triples

The search will be on for one that can do what you want as soon as you define what you want.

Here is another one courtesy of Chyanog cao:

Pick[#, (#^2).{1, 1, -1}, 0] &@Subsets[Range[200], {3}]

For some really fast code you must go to the gurus.

http://mathematica.stackexchange.com/qu … ean-triple

Mr Wizards code, woof!

genPTunder[lim_Integer?Positive] := 
 Module[{prim}, 
  prim = Join @@ 
    Table[If[
      CoprimeQ[m, n], {2 m n, m^2 - n^2, m^2 + n^2}, ## &[]], {m, 2, 
      Floor@Sqrt@lim}, {n, 1 + m~Mod~2, m, 2}];
  Union @@ (Range[lim~Quotient~Max@#]~KroneckerProduct~{Sort@#} & /@ 
     prim)]

genPTunder[200] // Length

In mathematics, you don't understand things. You just get used to them.

I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.

Offline

#7 2014-04-24 04:12:13

Agnishom
Real Member
From: The Complex Plane
Registered: 2011-01-29
Posts: 18,893
Website

Re: Primitive Pythagorean triples

Who is cao?

I do not get your code.


'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'
'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'
'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

#8 2014-04-24 04:17:22

bobbym
Administrator
From: Bumpkinland
Registered: 2009-04-12
Posts: 90,678

Re: Primitive Pythagorean triples

That is the guys name.

Neither of those was written by me. RIPOSTP, produced those.


In mathematics, you don't understand things. You just get used to them.

I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.

Offline

#9 2014-04-24 04:30:18

Agnishom
Real Member
From: The Complex Plane
Registered: 2011-01-29
Posts: 18,893
Website

Re: Primitive Pythagorean triples

What does compiling Marhematica code mean?


'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'
'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'
'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

#10 2014-04-24 04:33:35

bobbym
Administrator
From: Bumpkinland
Registered: 2009-04-12
Posts: 90,678

Re: Primitive Pythagorean triples

It means producing superfast  pseudocode. Not exactly machine instructions but code that M can execute much faster. M can also be converted into C++ code.


In mathematics, you don't understand things. You just get used to them.

I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.

Offline

#11 2014-04-24 04:41:31

Agnishom
Real Member
From: The Complex Plane
Registered: 2011-01-29
Posts: 18,893
Website

Re: Primitive Pythagorean triples

Why would you do that?


'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'
'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'
'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

#12 2014-04-24 04:42:24

bobbym
Administrator
From: Bumpkinland
Registered: 2009-04-12
Posts: 90,678

Re: Primitive Pythagorean triples

Because code might run dozens of times faster!


In mathematics, you don't understand things. You just get used to them.

I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.

Offline

#13 2014-11-10 18:53:18

Agnishom
Real Member
From: The Complex Plane
Registered: 2011-01-29
Posts: 18,893
Website

Re: Primitive Pythagorean triples

How do I figure out which is the triple, not nexessarily primitive, (p,q,r) such that p+q+r is minimised and p>=20


'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'
'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'
'You have made another human being happy. There is no greater accomplishment.' -bobbym

Offline

#14 2014-11-10 22:24:10

bobbym
Administrator
From: Bumpkinland
Registered: 2009-04-12
Posts: 90,678

Re: Primitive Pythagorean triples

Did you try to program it?


In mathematics, you don't understand things. You just get used to them.

I agree with you regarding the satisfaction and importance of actually computing some numbers. I can't tell you how often I see time and money wasted because someone didn't bother to run the numbers.

Offline

Board footer

Powered by FluxBB