D:=Mat([[1,2,7,18],[2,4,9,12],[23,8,9,10]]);
$numerical.SVD5(D);
-------------------------------
[Mat([
[-2608957845014309/4503599627370496, 3400715993947695/4503599627370496, -1196230415249177/4503599627370496, -5542055005031021/36028797018963968],
[-4803191187447087/18014398509481984, 4289880920686871/36028797018963968, 3813211715037953/9007199254740992, 7724713654272699/9007199254740992],
[-7645273287337725/18014398509481984, -5741692259075309/36028797018963968, 3381220959856661/4503599627370496, -540919752203371/1125899906842624],
[-5789886178591733/9007199254740992, -2813340077166513/4503599627370496, -7780633724302695/18014398509481984, 3606131681355807/36028797018963968]
]), Mat([
[1164315100749939/35184372088832, 4798366071344577/281474976710656, 3788674137264815/1125899906842624]
]), Mat([
[-8521591816535737/18014398509481984, -3744869794805223/9007199254740992, -6996513907843673/9007199254740992],
[-3002889242741505/4503599627370496, -7337996657000815/18014398509481984, 2810636692253967/4503599627370496],
[-5187087952406809/9007199254740992, 915526145687749/1125899906842624, -6091132379868651/72057594037927936]
])]
-------------------------------
|