La sfida è scrivere codegolf per il permanente di una matrice .
Il permanente di una n
-by- n
matrix A
= ( a
i,j
) è definito come
Qui S_n
rappresenta l'insieme di tutte le permutazioni di [1, n]
.
Ad esempio (dal wiki):
Il tuo codice può ricevere input nel modo desiderato e fornire output in qualsiasi formato ragionevole, ma includi nella tua risposta un esempio completo che includa chiare istruzioni su come fornire input al tuo codice. Per rendere la sfida un po 'più interessante, la matrice può includere numeri complessi.
La matrice di input è sempre quadrata e sarà al massimo di 6 per 6. Dovrai anche essere in grado di gestire la matrice vuota che ha permanente 1. Non è necessario essere in grado di gestire la matrice vuota (ne causava troppe i problemi).
Esempi
Ingresso:
[[ 0.36697048+0.02459455j, 0.81148991+0.75269667j, 0.62568185+0.95950937j],
[ 0.67985923+0.11419187j, 0.50131790+0.13067928j, 0.10330161+0.83532727j],
[ 0.71085747+0.86199765j, 0.68902048+0.50886302j, 0.52729463+0.5974208j ]]
Produzione:
-1.7421952844303492+2.2476833142265793j
Ingresso:
[[ 0.83702504+0.05801749j, 0.03912260+0.25027115j, 0.95507961+0.59109069j],
[ 0.07330546+0.8569899j , 0.47845015+0.45077079j, 0.80317410+0.5820795j ],
[ 0.38306447+0.76444045j, 0.54067092+0.90206306j, 0.40001631+0.43832931j]]
Produzione:
-1.972117936608412+1.6081325306004794j
Ingresso:
[[ 0.61164611+0.42958732j, 0.69306292+0.94856925j,
0.43860930+0.04104116j, 0.92232338+0.32857505j,
0.40964318+0.59225476j, 0.69109847+0.32620144j],
[ 0.57851263+0.69458731j, 0.21746623+0.38778693j,
0.83334638+0.25805241j, 0.64855830+0.36137045j,
0.65890840+0.06557287j, 0.25411493+0.37812483j],
[ 0.11114704+0.44631335j, 0.32068031+0.52023283j,
0.43360984+0.87037973j, 0.42752697+0.75343656j,
0.23848512+0.96334466j, 0.28165516+0.13257001j],
[ 0.66386467+0.21002292j, 0.11781236+0.00967473j,
0.75491373+0.44880959j, 0.66749636+0.90076845j,
0.00939420+0.06484633j, 0.21316223+0.4538433j ],
[ 0.40175631+0.89340763j, 0.26849809+0.82500173j,
0.84124107+0.23030393j, 0.62689175+0.61870543j,
0.92430209+0.11914288j, 0.90655023+0.63096257j],
[ 0.85830178+0.16441943j, 0.91144755+0.49943801j,
0.51010550+0.60590678j, 0.51439995+0.37354955j,
0.79986742+0.87723514j, 0.43231194+0.54571625j]]
Produzione:
-22.92354821347135-90.74278997288275j
Non è possibile utilizzare alcuna funzione preesistente per calcolare il permanente.
[[]]
(ha una riga, la matrice vuota no) o []
(non ha profondità 2, le matrici lo fanno) in forma di elenco?
[[]]
.