mirror of
https://github.com/vale981/arb
synced 2025-03-06 01:41:39 -05:00
commit
5a71c4b230
2 changed files with 29 additions and 6 deletions
|
@ -67,7 +67,7 @@ acb_mat_eig_simple_rump(acb_ptr E, acb_mat_t L, acb_mat_t R,
|
||||||
|
|
||||||
if (L != NULL)
|
if (L != NULL)
|
||||||
{
|
{
|
||||||
if (!result || !acb_mat_inv(L, R, prec))
|
if (!result || !acb_mat_inv(L, R2, prec))
|
||||||
acb_mat_indeterminate(L);
|
acb_mat_indeterminate(L);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,12 +92,35 @@ int main()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (n_randint(state, 2))
|
||||||
|
{
|
||||||
if (algorithm == 0)
|
if (algorithm == 0)
|
||||||
result = acb_mat_eig_simple(F, L, R, A, E, R, prec);
|
result = acb_mat_eig_simple(F, L, R, A, E, R, prec);
|
||||||
else if (algorithm == 1)
|
else if (algorithm == 1)
|
||||||
result = acb_mat_eig_simple_rump(F, L, R, A, E, R, prec);
|
result = acb_mat_eig_simple_rump(F, L, R, A, E, R, prec);
|
||||||
else
|
else
|
||||||
result = acb_mat_eig_simple_vdhoeven_mourrain(F, L, R, A, E, R, prec);
|
result = acb_mat_eig_simple_vdhoeven_mourrain(F, L, R, A, E, R, prec);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int r1, r2;
|
||||||
|
if (algorithm == 0)
|
||||||
|
{
|
||||||
|
r1 = acb_mat_eig_simple(F, L, NULL, A, E, R, prec);
|
||||||
|
r2 = acb_mat_eig_simple(F, NULL, R, A, E, R, prec);
|
||||||
|
}
|
||||||
|
else if (algorithm == 1)
|
||||||
|
{
|
||||||
|
r1 = acb_mat_eig_simple_rump(F, L, NULL, A, E, R, prec);
|
||||||
|
r2 = acb_mat_eig_simple_rump(F, NULL, R, A, E, R, prec);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
r1 = acb_mat_eig_simple_vdhoeven_mourrain(F, L, NULL, A, E, R, prec);
|
||||||
|
r2 = acb_mat_eig_simple_vdhoeven_mourrain(F, NULL, R, A, E, R, prec);
|
||||||
|
}
|
||||||
|
result = n_randint(state, 2) ? r1 : r2;
|
||||||
|
}
|
||||||
|
|
||||||
acb_mat_mul(LAR, L, A, prec);
|
acb_mat_mul(LAR, L, A, prec);
|
||||||
acb_mat_mul(LAR, LAR, R, prec);
|
acb_mat_mul(LAR, LAR, R, prec);
|
||||||
|
|
Loading…
Add table
Reference in a new issue