El desafío es escribir codegolf para el permanente de una matriz .
El permanente de una matriz n
-by- = ( ) se define comon
A
a
i,j
Aquí S_n
representa el conjunto de todas las permutaciones de [1, n]
.
Como ejemplo (de la wiki):
Su código puede recibir información como lo desee y proporcionar resultados en cualquier formato razonable, pero incluya en su respuesta un ejemplo completo que incluya instrucciones claras sobre cómo proporcionar información a su código. Para hacer el desafío un poco más interesante, la matriz puede incluir números complejos.
La matriz de entrada siempre es cuadrada y será como máximo de 6 por 6. También deberá poder manejar la matriz vacía que tiene permanente 1. No es necesario poder manejar la matriz vacía (estaba causando demasiados problemas).
Ejemplos
Entrada:
[[ 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 ]]
Salida:
-1.7421952844303492+2.2476833142265793j
Entrada:
[[ 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]]
Salida:
-1.972117936608412+1.6081325306004794j
Entrada:
[[ 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]]
Salida:
-22.92354821347135-90.74278997288275j
No puede utilizar ninguna función preexistente para calcular el permanente.
[[]]
(tiene una fila, la matriz vacía no) o []
(no tiene profundidad 2, las matrices sí) en forma de lista?
[[]]
.