lrux.slogpf#
- lrux.slogpf(A: Array, *, method: str = 'householder') SlogpfResult#
Compute the sign and (natural) logarithm of the pfaffian of an array.
- Parameters:
A – An array with shape (…, n, n)
method –
The method used to compute the pfaffian. Options include
"householder":Houserholder transformation, internally using
jax.lax.fori_loopto balance between running and compiling time;"householder_for":Houserholder transformation, internally using jitted python for loops to reduce the running time at a cost of much longer compiling time;
"schur":Schur decomposition using jax.scipy.linalg.schur, but only available on CPU and real dtypes.
The default method is
"householder".
- Returns:
A
NamedTuplewith the following attributes. Both attribtutes have the same batch dimension as the input A.sign:sign(A). For a real input, it’s 1, 0, or -1. For a complex input, it’s a complex number with absolute value 1, or else 0.
logabspf:The natural log of the absolute value of the pfaffian.
Tip
The input A is always skew-symmetrized.
Tip
This function has
jax.custom_jvpdefined and is backward compatible for both real and complex dtypes.