Determinant and permanent: Difference between revisions

added RPL
m (→‎{{header|Wren}}: Minor tidy)
(added RPL)
Line 2,745:
permanent=6778800
--------------------------------------------------</pre>
 
=={{header|RPL}}==
{{trans|Phix}}
{{works with|HP|48G}}
« → a x y
« a SIZE {-1 -1} ADD 0 CON
1 OVER SIZE 1 GET '''FOR''' k
1 OVER SIZE 1 GET '''FOR''' j
k j 2 →LIST
a k DUP x ≥ + j DUP y ≥ + 2 →LIST GET
PUT
'''NEXT NEXT'''
» » '<span style="color:blue">MINOR</span>' STO <span style="color:grey">@ ''( matrix x y → matrix )''</span>
« DUP SIZE 1 GET
'''IF''' DUP 1 == '''THEN''' GET
'''ELSE'''
0
1 ROT '''FOR''' k
OVER { 1 } k + GET
3 PICK 1 k <span style="color:blue">MINOR PRM</span> * +
'''NEXT'''
SWAP DROP
END
» '<span style="color:blue">PRM</span>' STO <span style="color:grey">@ ''( matrix → permanent )''</span>
 
[[ 1 2 ]
[ 3 4 ]] DET LASTARG <span style="color:blue">PRM</span>
[[2 9 4]
[7 5 3]
[6 1 8]] DET LASTARG <span style="color:blue">PRM</span>
{{out}}
<pre>
4: -2
3: 10
2: -360
1: 900
</pre>
 
=={{header|Ruby}}==
Line 2,785 ⟶ 2,823:
permanent: 6778800
</pre>
 
=={{header|Rust}}==
{{trans|Java}}
1,150

edits