sumsqint

バージョン 1.1.0.0 (4.32 KB) 作成者: Ben Petschel
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
更新 2009/8/17

ライセンスの表示

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.

引用

Ben Petschel (2024). sumsqint (https://www.mathworks.com/matlabcentral/fileexchange/24798-sumsqint), MATLAB Central File Exchange. に取得済み.

MATLAB リリースの互換性
作成: R2009a
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersLinear Algebra についてさらに検索
タグ タグを追加
謝辞

ヒントを得たファイル: Variable Precision Integer Arithmetic

Community Treasure Hunt

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

Start Hunting!
バージョン 公開済み リリース ノート
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