Casoratian[{y1,y2,…},n]
gives the Casoratian determinant for the sequences y1, y2, … depending on n.
Casoratian[eqn,y,n]
gives the Casoratian determinant for the basis of the solutions of the linear difference equation eqn involving y[n+m].
Casoratian[eqns,{y1,y2,…},n]
gives the Casoratian determinant for the system of linear difference equations eqns.
Casoratian
Casoratian[{y1,y2,…},n]
gives the Casoratian determinant for the sequences y1, y2, … depending on n.
Casoratian[eqn,y,n]
gives the Casoratian determinant for the basis of the solutions of the linear difference equation eqn involving y[n+m].
Casoratian[eqns,{y1,y2,…},n]
gives the Casoratian determinant for the system of linear difference equations eqns.
Details and Options
- The Casoratian determinant is defined as: Det[Table[DiscreteShift[yi,{n,j}],{i,m},{j,0,m-1}]].
- If the sequences y1,y2,… are linearly dependent, the Casoratian vanishes everywhere.
Examples
open all close allBasic Examples (4)
These sequences are linearly independent:
Casoratian[{2 ^ n, 3 ^ n}, n]Casoratian[{2 ^ n, n 2 ^ n}, n]The following sequences are linearly dependent:
Casoratian[{2 ^ n, 2 ^ (n + 3)}, n]Casoratian[{n ^ 2, 3n ^ 2 + 5n + 1, n ^ 2 + 5n + 1}, n]Here the sequences are linearly dependent only when
:
Casoratian[{n ^ 2, n ^ 2 + a}, n]The Casoratian for a linear equation:
Casoratian[y[n + 2] == y[n + 1] + y[n], y, n]Except for a constant, the result is the same as for the explicit solution:
RSolve[y[n + 2] == y[n + 1] + y[n], y, n]Casoratian[{Fibonacci[n], LucasL[n]}, n]Scope (9)
Sequences (5)
Casoratian[{n, n ^ 2}, n]Casoratian[{n, n ^ 2, n ^ 3}, n]Casoratian[{(1/n), (1/n + 1)}, n]Casoratian[{(1/n), (1/n + 1), (1/n(n + 1))}, n]Exponentials and polynomial exponentials:
Casoratian[{3 ^ n, 3 ^ (n + 4)}, n]Casoratian[{3 ^ n, n 3 ^ n}, n]Casoratian[{Fibonacci[n], LucasL[n]}, n]Trigonometric and polynomial trigonometric:
Casoratian[{Sin[n 2Pi / 3], Cos[n 2Pi / n]}, n]Hypergeometric term sequences:
Casoratian[{n!, (n + 1)!}, n]DiscretePlot[Log[%], {n, 10}]Difference Equations (4)
Constant coefficient linear equation:
Casoratian[y[n + 3] - 5y[n + 2] + 11y[n] == 0, y, n]The Casoratian for a difference equation is usually simpler than for its solutions:
RSolve[y[n + 3] - 5y[n + 2] + 11y[n] == 0, y, n]Casoratian[Coefficient[y[n] /. %[[1]], Table[C[i], {i, 3}]], n]Polynomial coefficient linear equation:
cas = Casoratian[y[n + 2] - (n + 5)y[n] == 0, y, n]The corresponding Casoratian from the general solution:
RSolve[y[n + 2] - (n + 5)y[n] == 0, y, n]Casoratian[Coefficient[y[n] /. %[[1]], {C[1], C[2] }], n]Table[% / cas, {n, 1, 7}]//UnionFactorial coefficient linear equation:
Casoratian[y[n + 2] - n!y[n] == 0, y, n]Casoratian[y[n + 100] - y[n + 99] + Binomial[2n, n]y[n] == 0, y, n]Casoratian[y[n + 2] - (Mod[n, 3] + 1)y[n] == 0, y, n]Casoratian[y[n + 2] - Sin[n 2Pi / 5 + Pi / 3]y[n] == 0, y, n]Casoratian[y[n + 2] - n a ^ n Sin[n 2Pi / 5 + Pi / 3]y[n] == 0, y, n]Applications (2)
Variation of parameters for second-order inhomogeneous equations:
VariationOfParameters[homogeneouseqn_, forcingterm_, y_, n_] :=
Block[{sol, r, y1, y2, c, u1, u2},
sol = RSolve[homogeneouseqn, y, n];
y1[r_] := (y[r] /. sol[[1]] /. {C[1] -> 1, C[2] -> 0});
y2[r_] := (y[r] /. sol[[1]] /. {C[1] -> 0, C[2] -> 1});
c[r_] := Casoratian[{y1[r], y2[r]}, r];
u1 = -Sum[y2[n + 1] forcingterm / c[n + 1], {n, 0, n - 1}];
u2 = Sum[y1[n + 1] forcingterm / c[n + 1], {n, 0, n - 1}];
Simplify[y1[n] u1 + y2[n] u2, Element[n, Integers]]
]VariationOfParameters[y[n + 2] - 4y[n] == 0, n ^ 2, y, n]Verify that the components of the general solution for an OΔE are linearly independent:
RSolve[y[n + 3] + y[n] == 0, y, n]Casoratian[Coefficient[y[n] /. %[[1]], Table[C[i], {i, 3}]], n]Properties & Relations (6)
Casoratian is equivalent to a determinant:
Casoratian[{f[n], g[n]}, n]Det[Table[DiscreteShift[{f[n], g[n]}, {n, m}], {m, 0, 1}]]Casoratian detects linear dependence:
Casoratian[{f[n], c f[n]}, n]Casoratian[{f[n] + g[n], a f[n] + b g[n]}, n]Wronskian performs linear dependence for functions of a continuous argument:
Wronskian[{Sin[x], Exp[x]}, x]Functions of continuous arguments may be independent:
Wronskian[{Sin[x], Sin[2x]}, x]Plot[{Sin[x], Sin[2x]}, {x, 0, 8Pi}]But sampling those functions may generate dependent sequences or aliasing:
{Sin[x], Sin[2x]} /. x -> n Pi / 2Casoratian[%, n]DiscretePlot[{Sin[x], Sin[2x]}, {x, 0, 8Pi, Pi / 2}]Use Orthogonalize to generate a set of linearly independent sequences:
basis = Orthogonalize[{1, n, n ^ 2}, Sum[#1 #2 (1 / 2) ^ n, {n, 0, Infinity}]&]Express a sequence in the basis:
coef = Sum[(n + 1)(n + 2)basis (1 / 2) ^ n, {n, 0, ∞}]{coef.basis, (n + 1)(n + 2)}//ExpandThe last component is linearly dependent on the previous ones:
Orthogonalize[{1, n, n ^ 2, (n + 1)(n + 2)}, Sum[#1 #2 (1 / 2) ^ n, {n, 0, Infinity}]&]Use Reduce to express polynomials and rational sequences in terms of each other:
Reduce[ForAll[n, a + b n + c n ^ 2 == (n + 1)(n + 2)], {a, b, c}]Reduce[ForAll[n, n ≠ -1 && n ≠ 0, (a/n) + (b/n + 1) == (1/n(n + 1))], {a, b}]See Also
Related Guides
History
Text
Wolfram Research (2008), Casoratian, Wolfram Language function, https://reference.wolfram.com/language/ref/Casoratian.html.
CMS
Wolfram Language. 2008. "Casoratian." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Casoratian.html.
APA
Wolfram Language. (2008). Casoratian. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Casoratian.html
BibTeX
@misc{reference.wolfram_2026_casoratian, author="Wolfram Research", title="{Casoratian}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/Casoratian.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_casoratian, organization={Wolfram Research}, title={Casoratian}, year={2008}, url={https://reference.wolfram.com/language/ref/Casoratian.html}, note=[Accessed: 12-June-2026]}