How to break a number down into 4 squares

3 views (last 30 days)
John Smith
John Smith on 30 Nov 2016
Commented: John D'Errico on 30 Nov 2016
Hey, I'm pretty new to MATLAB, and am thinking of creating a short function which would help me visualize Lagrange's 4 square theorem. I've figured out that to break down the number into 4 squares, if it is for example n = x^2+y^2+z^2+r^2, then i should specify each number, such that 0=<x=<n/2, then 0<=y<=x/2 and so forth (the mathematical background behind it). Any tips on how I can get this into matlab (just looking for some tips so I know where to start from).
Immense thanks to anyone who helps!
  1 Comment
Alexandra Harkai
Alexandra Harkai on 30 Nov 2016
This is not a MATLAB question, by the looks of it, unless you already have a particular algorithm in mind that you are looking to implement.

Sign in to comment.

Answers (2)

Alexandra Harkai
Alexandra Harkai on 30 Nov 2016
Such a breakdown (each output number should be at most the half of the previous one) does not always exist, take 23 for example:
23 = 3^2 + 3^2 + 2^2 + 1^1
So the algorithm you want would not be able to return the 4 output numbers the way you specified.
Let me reiterate that I think this is not even a MATLAB question. The real question is what you want the algorithm to do exactly, which has nothing to do with MATLAB.

John Smith
John Smith on 30 Nov 2016
Indeed, I have made a mistake in my assumptions, but nevertheless the framework Ganesh has given me is a good starting point. As soon as I edit my algorithm, I should be able to figure out the MATLAB part now.
Thanks for the help!

Categories

Find more on Graphics Objects in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!