sumsqint

Finds all distinct ways of writing a number as the sum of squares, i.e. solve x^2+y^2=n for 0<=x<=y.
1,7K download
Aggiornato 17 ago 2009

Visualizza la licenza

Example:

sumsqint(1) % returns [0,1]
sumsqint(65) % returns [1,8;4,7]

sumsqint can work with large numbers if they are factored, e.g. solve x^2+y^2=(25e6)^2:
sumsqint(repmat(factor(25e6),1,2)) % returns 9x2 array

sumsqint works with variable precision integers if you have John D'Errico's Variable Precision Integer toolbox (20 July 2009 update) - see links below.

sumsqint(vpi(5)^100) % returns 51x2 vpi array
sumsqint(vpi(65)^100) % returns 5101x2 vpi array

The algorithm uses Gaussian integer factorization. See the help for more details.

Cita come

Ben Petschel (2024). sumsqint (https://www.mathworks.com/matlabcentral/fileexchange/24798-sumsqint), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2009a
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Riconoscimenti

Ispirato da: Variable Precision Integer Arithmetic

Community Treasure Hunt

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

Start Hunting!
Versione Pubblicato Note della release
1.1.0.0

added support for factored inputs; fixed a bug in the handling of vpi numbers with prime factors larger than 100; added option to remember newly found gaussian prime factors.

1.0.0.0