SymmetricFrequencyResponse { static Matrix transform(final int rank) { if (rank <= 53) { return ltransform(rank); } else { return dtransform(rank); } } SymmetricFrequencyResponse(final Polynomial p);  SymmetricFrequencyResponse(final SymmetricFilter sf); static SymmetricFrequencyResponse createFromFilter(final IFiniteFilter f); SymmetricFrequencyResponse divide(final SymmetricFrequencyResponse r); double evaluateAt(final double freq); double evaluateAtCos(final double cos); double get(final int idx); Polynomial getPolynomial(); int getDegree(); double getIntegral(); SymmetricFrequencyResponse minus(final double d); SymmetricFrequencyResponse minus(final SymmetricFrequencyResponse r); SymmetricFrequencyResponse negate(); SymmetricFrequencyResponse plus(final double d); SymmetricFrequencyResponse plus(final SymmetricFrequencyResponse r); Complex[] roots(); Complex[] roots(final IRootsSolver searcher); SymmetricFrequencyResponse times(final double d); SymmetricFrequencyResponse times(final SymmetricFrequencyResponse r); SymmetricFilter toSymmetricFilter(); static final double TwoPi; }
@Test public void testTransform() { Matrix t = SymmetricFrequencyResponse.transform(100); assertTrue(t.get(99, 99) != 0); Matrix l = SymmetricFrequencyResponse.ltransform(53); Matrix d = SymmetricFrequencyResponse.dtransform(53); assertTrue(l.equals(d, 1e-18)); }