certainly

The "boolean" \(certainly\) value (almost certain)

Notes:

Examples:

\(certainly\)

e

The \(e\) value

Notes:

Examples:

\(e\)

i

The complex \(i\)

Notes:

Examples:

\(i, 1+2*i\)

j

The quaternion part \(j\)

Notes:

Examples:

\(j, 1+2*i+3*j\)

k

The quaternion part \(k\)

Notes:

Examples:

\(j, 1+2*i+3*j+4*k\)

maybe

The "boolean" \(maybe\) value (totally uncertain)

Notes:

Examples:

\(maybe\)

no, false

The boolean \(no\) value

Notes:

Examples:

\(no, false\)

pi, π

The \(\pi\) value

Notes:

Examples:

\(pi, \pi\)

unlikely

The "boolean" \(unlikely\) value (almost \(no\))

Notes:

Examples:

\(unlikely\)

yes, true

The boolean \(yes\) value

Notes:

Examples:

\(yes, true\)

°, °?

Converts degrees to radians

Notes:

Examples:

\(45°, \sin\left(45°\right), \left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)°? \)

+/-, ±

Creates uncertainty

Notes:

Examples:

\(1\textrm{+/-}2, 1±2\)

:=, ::=

Assigns a value to a variable

Notes:

Examples:

\(x := 1, y ::= 2, \textrm{outfile}(\textrm{"a file"}) := 345\)

+, +?

Adds two values

Notes:

Examples:

\(1+2, \left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)+\left(\begin{matrix}5 & 6\\7 & 8\\\end{matrix}\right),~1~+? \left(\begin{matrix}2 & 3\\4 & 5\\\end{matrix}\right) \)

-, -?

Subtract two values

Notes:

Examples:

\(1-2, \left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)-\left(\begin{matrix}5 & 6\\7 & 8\\\end{matrix}\right),~1~-? \left(\begin{matrix}2 & 3\\4 & 5\\\end{matrix}\right) \)

*, *?

Multiples two values

Notes:

Examples:

\(1*2, \left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)*\left(\begin{matrix}5 & 6\\7 & 8\\\end{matrix}\right),~\left(\begin{matrix}1\\2\end{matrix}\right)*?\left(\begin{matrix}3\\4\end{matrix}\right) \)

/, /?

Divides two values

Notes:

Examples:

\(1*2, \left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)*\left(\begin{matrix}5 & 6\\7 & 8\\\end{matrix}\right),~\left(\begin{matrix}1\\2\end{matrix}\right)/?\left(\begin{matrix}3\\4\end{matrix}\right) \)

^, **, ^?, **?

Power of a value

Notes:

Examples:

\(\textrm{1^2}, \textrm{1**2}, ~\left(\begin{matrix}1\\2\end{matrix}\right)\textrm{^?}\left(\begin{matrix}3\\4\end{matrix}\right) \)

>, >?

Compares two values (strictly greater than)

Notes:

Examples:

\(1>2,1.2>3.456,~1±3>1±2,~\left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)>?2,~\left(\begin{matrix}1\\2\end{matrix}\right)>?\left(\begin{matrix}3\\4\end{matrix}\right) \)

>=, >=?, , ≥?

Compares two values (greater than or equal)

Notes:

Examples:

\(1>=2,1.2≥3.456,~1±3>=1±2,~\left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)>=?2,~\left(\begin{matrix}1\\2\end{matrix}\right)>=?\left(\begin{matrix}3\\4\end{matrix}\right) \)

<, <?

Compares two values (strictly lower than)

Notes:

Examples:

\(1<2,1.2<3.456,~1±3<1±2,~\left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)<?2,~\left(\begin{matrix}1\\2\end{matrix}\right)<?\left(\begin{matrix}3\\4\end{matrix}\right) \)

<=, <=?, , ≤?

Compares two values (lower than or equal)

Notes:

Examples:

\(1<=2,1.2≤3.456,~1±3<=1±2,~\left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)<=?2,~\left(\begin{matrix}1\\2\end{matrix}\right)<=?\left(\begin{matrix}3\\4\end{matrix}\right) \)

==, ==?

Compares equality of two values

Notes:

Examples:

\(1==2,1.2==3.456,~1±3==1±2,~\left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)==?2,~\left(\begin{matrix}1\\2\end{matrix}\right)==?\left(\begin{matrix}3\\4\end{matrix}\right) \)

x%

used to express a per cent uncertainty

Parameters:

Notes:

Examples:

\(12±3\%, 12\textrm{+/-)3\%\)

x

used to express a per thousand uncertainty

Parameters:

Notes:

Examples:

\(12±3‰, 12\textrm{+/-}3‰\)

x

used to express a per ten thousand uncertainty

Parameters:

Notes:

Examples:

\(12±3‱, 12\textrm{+/-}3‱\)

xppm

used to express a per million uncertainty

Parameters:

Notes:

Examples:

\(12±3ppm, 12\textrm{+/-}3ppm\)

|x|

Returns the magnitude of a value.

Parameters:

Notes:

Examples:

\(|1.234|,~|1+2*i|,~|1+2*i-3*j+4*k|,~\left|\left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)\right|\)
\(abs(1.234),~abs(1+2*i),~abs(1+2*i-3*j+4*k),~abs\left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right)\)

x!

Returns the factorial of a value.

Parameters:

Examples:

\(5!\)

AND, &&, AND?, &&?

Logical AND between two booleans, or bitwise AND between raw values

Parameters:

Notes:

Examples:

\(x~AND~y, x~\&\&~y, \left(\begin{matrix}x & y\\z & t\\\end{matrix}\right)~AND?~\left(\begin{matrix}x & y\\z & t\\\end{matrix}\right)\)

NOT, NOT?

Logical NOT for a boolean, or complement to 1 for a raw value

Parameters:

Notes:

Examples:

\(NOT(x), NOT?~\left(\begin{matrix}x & y\\z & t\\\end{matrix}\right)\)

OR, ||;, OR?, ||?

Logical OR between two booleans, or bitwise OR between raw values

Parameters:

Notes:

Examples:

\(x~OR~y, x~||~y, \left(\begin{matrix}x & y\\z & t\\\end{matrix}\right)~OR?~\left(\begin{matrix}x & y\\z & t\\\end{matrix}\right)\)

XOR, ^^, XOR?, ^^?

Logical XOR between two booleans, or bitwise XOR between raw values

Parameters:

Notes:

Examples:

\(x~XOR~y, x~\hat{}\hat{}~y, \left(\begin{matrix}x & y\\z & t\\\end{matrix}\right)~XOR?~\left(\begin{matrix}x & y\\z & t\\\end{matrix}\right)\)

~, ~?

Bitwise complement to 1 of a raw value, equivalent to NOT for booleans

Parameters:

Notes:

Examples:

\(\tilde{}x, \tilde{}?\left(\begin{matrix}x & y\\z & t\\\end{matrix}\right)\)

abs(x)

Returns the magnitude of a value.

Parameters:

Notes:

Examples:

\(abs(1.234),~abs(1+2*i~),~abs(1+2*i-3*j+4*k~),~abs\left(\begin{matrix}1 & 2\\3 & 4\\\end{matrix}\right),~abs(\{1, 2, 3, 4\}) \)

acos(x)

Returns the arccosinus (in radians) of \(x\).

Parameters:

Notes:

Examples:

\(acos{(12.34)}, acos{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

acosh(x)

Returns the hyperbolic arccosinus of \(x\).

Parameters:

Notes:

Examples:

\(acosh{(12.34)}, acosh{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

angle(x)

Returns the argument (angle in radians) of a complex value \(x\).

Parameters:

Notes:

Examples:

\(angle{(12.34)}, angle{(12+34*i)}\)

angles(x)

Returns the euler angles (in radians) of a quaternion value \(x\).

Parameters:

Notes:

Examples:

\(angles{(12.34)}, angles{(12+34*i)}, angles{(1+2*i+3*j+4*k)}\)

asin(x)

Returns the arcsinus (in radians) of \(x\).

Parameters:

Notes:

Examples:

\(asin{(12.34)}, asin{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

asinh(x)

Returns the hyperbolic arcsinus of \(x\).

Parameters:

Notes:

Examples:

\(asinh{(12.34)}, asinh{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

atan(x)

Returns the arctangent (in radians) of \(x\).

Parameters:

Notes:

Examples:

\(atan{(12.34)}, atan{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

atan(y, x)

Returns the arctangent (in radians) of the point \((x, y)\).

Parameters:

Notes:

Examples:

\(atan2{(12, 34)}\)

atanh(x)

Returns the hyperbolic arctangent of \(x\).

Parameters:

Notes:

Examples:

\(atanh{(12.34)}, atanh{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

binomial(n, k)

Returns the binomial coefficients \({n \choose k}\) of a value, for n and k positive integers.

Parameters:

Notes:

Examples:

\(binomial(1, 2)\)

bits_concat_be(x,...)

concatenates all arguments at the bit level, big endian style

Parameters:

Notes:

Examples:

\(\textrm{bits_concat_be}(ToU8(123), ToU32(\{456, 789\}))\)

bits_concat_le(x,...)

concatenates all arguments at the bit level, little endian style

Parameters:

Notes:

Examples:

\(\textrm{bits_concat_le}(ToU8(123), ToU32(\{456, 789\}))\)

bits_reverse(x)

reverse the bits of the argument

Parameters:

Notes:

Examples:

\(\textrm{bits_reverse}(ToU8(123)), \textrm{bits_reverse}(ToU32(\{456, 789\}))\)

(x), cbrt(x)

Returns \(\sqrt[3]{x}\), the cube root of \(x\).

Parameters:

Notes:

Examples:

\(cbrt(123)\), \(∛(123)\)

cbrt(x), (x)

Returns \(\sqrt[3]{x}\), the cube root of \(x\).

Parameters:

Notes:

Examples:

\(cbrt(123)\), \(∛(123)\)

ceil(x)

Returns the integer rounding of \(x\) towards \(+\infty\).

Parameters:

Notes:

Examples:

\(ceil(1.3)\), \(ceil(3/4)\), \(ceil(-pi)\)

cos(x)

Returns the cosinus of \(x\) (in radians).

Parameters:

Notes:

Examples:

\(\cos{(12.34)}, \cos{(90°)}, \cos{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

cosh(x)

Returns the hyperbolic cosinus of \(x\).

Parameters:

Notes:

Examples:

\(\cosh{(12.34)}, \cosh{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

conj(x)

Returns the conjugate of a quaternion \(x\).

Parameters:

Notes:

Examples:

\(conj{(1+2*i+3*j+4*k)}, conj{\left(\begin{matrix}1&2+i\\3+j&4+k\end{matrix}\right)}\)

det(M)

Returns the determinant of a matrix M.

Parameters:

Notes:

Examples:

\(det{(1)}, det\left(\begin{matrix}1 & 2\\3 & 4\end{matrix}\right)\)

exp(x)

Returns the exponential of x.

Parameters:

Notes:

Examples:

\(exp(1), exp(1+2*i)\)

fibonacci(n)

Returns the \(n^{th}\) Fibonacci number.

Parameters:

Notes:

Examples:

\(fibonacci(123)\)

floor(x)

Returns the integer rounding of \(x\) towards \(-\infty\).

Parameters:

Notes:

Examples:

\(floor(1.3)\), \(floor(3/4)\), \(floor(-pi)\)

fromBase(x, b)

Force the interpretation of \(x\) in base \(b\).

Parameters:

Notes:

Examples:

\(fromBase{(100, 16)}\)

fromU8(x)

converts from unsigned 8 bits integer.

Parameters:

Notes:

Examples:

\(fromU8(x)\)

fromS8(x)

converts from signed 8 bits integer.

Parameters:

Notes:

Examples:

\(fromS8(x)\)

fromU16(x)

converts from unsigned 16 bits integer.

Parameters:

Notes:

Examples:

\(fromU16(x)\)

fromS16(x)

converts from signed 16 bits integer.

Parameters:

Notes:

Examples:

\(fromS16(x)\)

fromU32(x)

converts from unsigned 32 bits integer.

Parameters:

Notes:

Examples:

\(fromU32(x)\)

fromS32(x)

converts from signed 32 bits integer.

Parameters:

Notes:

Examples:

\(fromS32(x)\)

fromU64(x)

converts from unsigned 64 bits integer.

Parameters:

Notes:

Examples:

\(fromU64(x)\)

fromS64(x)

converts from signed 64 bits integer.

Parameters:

Notes:

Examples:

\(fromS64(x)\)

fromU128(x)

converts from unsigned 128 bits integer.

Parameters:

Notes:

Examples:

\(fromU128(x)\)

fromS128(x)

converts from signed 128 bits integer.

Parameters:

Notes:

Examples:

\(fromS128(x)\)

fromU256(x)

converts from unsigned 256 bits integer.

Parameters:

Notes:

Examples:

\(fromU256(x)\)

fromS256(x)

converts from signed 256 bits integer.

Parameters:

Notes:

Examples:

\(fromS256(x)\)

fromF16(x)

converts from IEEE754 16 bits float.

Parameters:

Notes:

Examples:

\(fromF16(x)\)

fromF32(x)

converts from IEEE754 32 bits float.

Parameters:

Notes:

Examples:

\(fromF32(x)\)

fromF64(x)

converts from IEEE754 64 bits float.

Parameters:

Notes:

Examples:

\(fromF64(x)\)

fromF128(x)

converts from IEEE754 128 bits float.

Parameters:

Notes:

Examples:

\(fromF128(x)\)

fromF256(x)

converts from IEEE754 256 bits float.

Parameters:

Notes:

Examples:

\(fromF256(x)\)

gamma(x)

Returns the Gamma function result of \(x\).

Parameters:

Notes:

Examples:

\(gamma{(12.34)}, gamma{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

gcd(n, m)

Returns the greatest common divisor of \(n\) and \(m\).

Parameters:

Notes:

Examples:

\(gcd(12, 34)\)

golomb_rice_decode(x,[rice=0])

decompress a golomb bit stream, with optional rice encoding

Parameters:

Notes:

Examples:

\(\textrm{golomb_rice_decode}(ToU32({123, 456})), \textrm{golomb_rice_decode}(ToU32({123, 456}), 8)\)

golomb_rice_encode(x,[rice=0])

compress a golomb bit stream, with optional rice encoding

Parameters:

Notes:

Examples:

\(\textrm{golomb_rice_encode}(123)), \textrm{golomb_rice_encode}({123, 456, 789}), 8)\)

hconcat(M,...)

Concatenates matrices horizontally.

Parameters:

Notes:

Examples:

\(hconcat{(M1)}, hconcat{(M1, M2)}, hconcat{(\{M1, M2\})}\)

identity(n)

Builds the identity matrix \(n\times n\).

Parameters:

Notes:

Examples:

\(identity(12)\)

interval(x, d[, direction=0])

Builds an interval around x.

Parameters:

Notes:

Examples:

\(interval(1,2), interval(1,-2), interval(1,2,1)\)

infile(url)

takes the content from the location \(url\).

Parameters:

Notes:

Examples:

\(infile(\textrm{'/home/Desktop/toto.txt'}), infile(\textrm{'file:///home/Desktop/toto.txt'}), infile(\textrm{'http://host/location/page.txt'})\)

input(n)

takes the input (string) from the \(n^{th}\) previous computation.

Parameters:

Notes:

Examples:

\(input(1)\)

integral(expression, identifier, inf, sup, step)

Returns an approximation of \(\int_{inf}^{sup}{(expression)}\).

Parameters:

Notes:

Examples:

\(integral(sqrt(x), x, 0, 1, 0.01)\)

invert(M)

Return the invert of a matrix M.

Parameters:

Notes:

Examples:

\(invert{(1)}, invert\left(\begin{matrix}1 & 2\\3 & 4\end{matrix}\right)\)

isprime(n[, algorithm=0])

tells if \(n\) is a prime number

Parameters:

Notes:

Examples:

\(isprime(12345), isprime(12345,4)\)

jacobi(n, m)

Returns the jacobi symbol of \(n\) and \(m\).

Parameters:

Notes:

Examples:

\(jacobi(1, 3)\)

lcm(n, m)

Returns the lowest common multiple of \(n\) and \(m\).

Parameters:

Notes:

Examples:

\(lcm(12, 34)\)

ln(x)

Returns the natural logarithm of x (base e).

Parameters:

Notes:

Examples:

\(\ln(123)\)

log10(x)

Returns the 10-based logarithm of x.

Parameters:

Notes:

Examples:

\(\log_{10}(123)\)

{..., ...}

Builds a list

Notes:

Examples:

{1, 2, 3, 4, 5, 6}

((..., ...)(..., ...) ...)

Builds a matrix (by rows)

Notes:

Examples:

\(((1,2,3)(4,5,6))\)

matrix(n, m[, defaultValue=0])

Builds a matrix \(n\times m\) (n rows, m columns)

Parameters:

Notes:

Examples:

\(matrix(12, 34), matrix(12, 34, 5)\)

mod(x, y)

Returns the remainder of \(x\) modulo \(y\).

Parameters:

Notes:

Examples:

\(mod(123, 4)\), \(mod(123.4, 56)\), \(mod(\frac{123}{4}, \frac{5}{6})\)

nextprime(n[, algorithm=0])

returns the prime following \(n\).

Parameters:

Notes:

Examples:

\(nextprime(12345), nextprime(12345,4)\)

nthprime(n[, algorithm=0])

returns the \(n^{th}\) prime.

Parameters:

Notes:

Examples:

\(nthprime(12345), nthprime(12345,4)\)

outfile(url)

writes the content to the location \(url\).

Parameters:

Notes:

Examples:

\(outfile(\textrm{'/home/Desktop/toto.txt'}), outfile(\textrm{'file:///home/Desktop/toto.txt'})\)

output(n)

takes the output (value) from the \(n^{th}\) previous computation.

Parameters:

Notes:

Examples:

\(output(1)\)

output2(n)

takes the secondary output (value) from the \(n^{th}\) previous computation.

Parameters:

Notes:

Examples:

\(output(1)\)

pow(x, y)

Returns \(x^y\).

Parameters:

Notes:

Examples:

\(pow(12, -34),~pow(12, 3+4*i)\)

primes(n[, algorithm=0])

returns the prime decomposition of \(n\).

Parameters:

Notes:

Examples:

\(primes(12345), primes(12345,4)\)

primorial(n)

Returns the primorial of \(n\) (product of primes ≤ \(n\)).

Parameters:

Notes:

Examples:

\(primorial(10)\)

product(expression, identifier, inf, sup)

Returns \(\prod_{identifier=inf}^{sup}{(expression)}\).

Parameters:

Notes:

Examples:

\(product(1/(x^2), x, 1, 10)\)

roll(x, delta)

bitwise roll operator.

Parameters:

Notes:

Examples:

\(roll(x, 1), roll(x, -123)\)

root(x, n)

Returns \(\sqrt[n]{x}\), the \(n^{th}\) root of \(x\).

Parameters:

Notes:

Examples:

\(root(12.34, 56)\)

shift(x, delta)

bitwise shift operator.

Parameters:

Notes:

Examples:

\(roll(x, 1), roll(x, -123)\)

sin(x)

Returns the sinus of \(x\) (in radians).

Parameters:

Notes:

Examples:

\(\sin{(12.34)}, \sin{(90°)}, \sin{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

sinh(x)

Returns the hyperbolic sinus of \(x\).

Parameters:

Notes:

Examples:

\(\sinh{(12.34)}, \sinh{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

(x), sqrt(x)

Returns \(\sqrt{x}\), the square root of \(x\).

Parameters:

Notes:

Examples:

\(sqrt(12.34)\), \(√(12.34)\)

sqrt(x), (x)

Returns \(\sqrt{x}\), the square root of \(x\).

Parameters:

Notes:

Examples:

\(sqrt(12.34)\), \(√(12.34)\)

sum(expression, identifier, inf, sup)

Returns \(\sum_{identifier=inf}^{sup}{(expression)}\).

Parameters:

Notes:

Examples:

\(sum(1/(x^2), x, 1, 10)\)

swap(x, s)

swap packets pairs of given bit size.

Parameters:

Notes:

Examples:

\(swap(x, 1), swap(x, 8)\)

tan(x)

Returns the tangent of \(x\) (in radians).

Parameters:

Notes:

Examples:

\(\tan{(12.34)}, \tan{(45°)}, \tan{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

tanh(x)

Returns the hyperbolic tangent of \(x\).

Parameters:

Notes:

Examples:

\(\tanh{(12.34)}, \tanh{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)

toU8(x)

converts to unsigned 8 bits integer.

Parameters:

Notes:

Examples:

\(toU8(123)\)

toS8(x)

converts to signed 8 bits integer.

Parameters:

Notes:

Examples:

\(toS8(123)\)

toU16(x)

converts to unsigned 16 bits integer.

Parameters:

Notes:

Examples:

\(toU16(123)\)

toS16(x)

converts to signed 16 bits integer.

Parameters:

Notes:

Examples:

\(toS16(123)\)

toU32(x)

converts to unsigned 32 bits integer.

Parameters:

Notes:

Examples:

\(toU32(123)\)

toS32(x)

converts to signed 32 bits integer.

Parameters:

Notes:

Examples:

\(toS32(123)\)

toU64(x)

converts to unsigned 64 bits integer.

Parameters:

Notes:

Examples:

\(toU64(123)\)

toS64(x)

converts to signed 64 bits integer.

Parameters:

Notes:

Examples:

\(toS64(123)\)

toU128(x)

converts to unsigned 128 bits integer.

Parameters:

Notes:

Examples:

\(toU128(123)\)

toS128(x)

converts to signed 128 bits integer.

Parameters:

Notes:

Examples:

\(toS128(123)\)

toU256(x)

converts to unsigned 256 bits integer.

Parameters:

Notes:

Examples:

\(toU256(123)\)

toS256(x)

converts to signed 256 bits integer.

Parameters:

Notes:

Examples:

\(toS256(123)\)

toF16(x)

converts to IEEE754 16 bits float.

Parameters:

Notes:

Examples:

\(toF16(123)\)

toF32(x)

converts to IEEE754 32 bits float.

Parameters:

Notes:

Examples:

\(toF32(123)\)

toF64(x)

converts to IEEE754 64 bits float.

Parameters:

Notes:

Examples:

\(toF64(123)\)

toF128(x)

converts to IEEE754 128 bits float.

Parameters:

Notes:

Examples:

\(toF128(123)\)

toF256(x)

converts to IEEE754 256 bits float.

Parameters:

Notes:

Examples:

\(toF256(123)\)

trace(M)

Returns the trace of a matrix M.

Parameters:

Notes:

Examples:

\(trace{(1)}, trace\left(\begin{matrix}1 & 2\\3 & 4\end{matrix}\right)\)

vconcat(M,...)

Concatenates matrices vertically.

Parameters:

Notes:

Examples:

\(vconcat{(M1)}, vconcat{(M1, M2)}, vconcat{(\{M1, M2\})}\)

zeta(x)

Returns the Zeta function result of \(x\).

Parameters:

Notes:

Examples:

\(zeta{(12.34)}, zeta{\left(\begin{matrix}1&2\\3&4\end{matrix}\right)}\)