-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Math and quantum mechanics -- -- List based linear algebra, similtaneous linear equations, eigenvalues -- and eigenvectors, roots of polynomials, transcendent functions with -- arbitrary precision implemented by continued fractions, quantum -- operations, tensors @package numeric-quest @version 0.2.0.2 module Fraction data Fraction (:-:) :: Integer -> Integer -> Fraction num :: Fraction -> Integer den :: Fraction -> Integer reduce :: Fraction -> Fraction (//) :: Integer -> Integer -> Fraction approx :: Fraction -> Fraction -> Fraction numericEnumFrom :: Real a => a -> [a] numericEnumFromThen :: Real a => a -> a -> [a] numericEnumFromTo :: Real a => a -> a -> [a] numericEnumFromThenTo :: Real a => a -> a -> a -> [a] type CF = [(Fraction, Fraction)] fromCF :: CF -> Fraction toCF :: Fraction -> CF approxCF :: Fraction -> CF -> Fraction fromTaylorToCF :: (Fractional a) => [a] -> a -> [(a, a)] fromFraction :: Fraction -> Double fac :: Integer -> Integer integerRoot2 :: Integer -> Integer class Transcendental a pi' :: Transcendental a => Fraction -> a tan' :: Transcendental a => Fraction -> a -> a sin' :: Transcendental a => Fraction -> a -> a cos' :: Transcendental a => Fraction -> a -> a atan' :: Transcendental a => Fraction -> a -> a asin' :: Transcendental a => Fraction -> a -> a acos' :: Transcendental a => Fraction -> a -> a sqrt' :: Transcendental a => Fraction -> a -> a root' :: Transcendental a => Fraction -> a -> Integer -> a power' :: Transcendental a => Fraction -> a -> a -> a exp' :: Transcendental a => Fraction -> a -> a tanh' :: Transcendental a => Fraction -> a -> a sinh' :: Transcendental a => Fraction -> a -> a cosh' :: Transcendental a => Fraction -> a -> a atanh' :: Transcendental a => Fraction -> a -> a asinh' :: Transcendental a => Fraction -> a -> a acosh' :: Transcendental a => Fraction -> a -> a log' :: Transcendental a => Fraction -> a -> a decimal :: Transcendental a => Integer -> a -> IO () instance GHC.Classes.Eq Fraction.Fraction instance Fraction.Transcendental Fraction.Fraction instance GHC.Read.Read Fraction.Fraction instance GHC.Show.Show Fraction.Fraction instance GHC.Classes.Ord Fraction.Fraction instance GHC.Num.Num Fraction.Fraction instance GHC.Real.Fractional Fraction.Fraction instance GHC.Real.Real Fraction.Fraction instance GHC.Real.RealFrac Fraction.Fraction instance GHC.Enum.Enum Fraction.Fraction module Orthogonals bra_ket :: (Scalar a, Num a) => [a] -> [a] -> a class Eq a => Scalar a coupled :: Scalar a => a -> a norm :: Scalar a => [a] -> a almostZero :: Scalar a => a -> Bool scaled :: Scalar a => [a] -> [a] norm1 :: (Num a) => [a] -> a norminf :: (Num a, Ord a) => [a] -> a matnorm1 :: (Num a, Ord a) => [[a]] -> a matnorminf :: (Num a, Ord a) => [[a]] -> a sum_product :: Num a => [a] -> [a] -> a normalized :: (Scalar a, Fractional a) => [a] -> [a] scaled' :: (Fractional t, Ord t) => [t] -> [t] transposed :: [[a]] -> [[a]] adjoint :: Scalar a => [[a]] -> [[a]] matrix_zipWith :: (a -> b -> c) -> [[a]] -> [[b]] -> [[c]] add_matrices :: (Num a) => t -> t1 -> [[a]] -> [[a]] -> [[a]] matrix_matrix :: Num a => [[a]] -> [[a]] -> [[a]] matrix_matrix' :: (Num a) => [[a]] -> [[a]] -> [[a]] triangle_matrix' :: Num a => [[a]] -> [[a]] -> [[a]] matrix_ket :: Num a => [[a]] -> [a] -> [a] bra_matrix :: (Scalar a, Num a) => [a] -> [[a]] -> [a] bra_matrix_ket :: (Scalar a, Num a) => [a] -> [[a]] -> [a] -> a scalar_matrix :: Num a => a -> [[a]] -> [[a]] orthogonals :: (Scalar a, Fractional a) => [a] -> [[a]] gram_schmidt :: (Scalar a, Fractional a) => [[a]] -> [a] -> [a] one_ket_triangle :: (Scalar a, Fractional a) => [[a]] -> [a] -> [([a], a)] one_ket_solution :: (Scalar a, Fractional a) => [[a]] -> [a] -> [a] many_kets_triangle :: (Scalar a, Fractional a) => [[a]] -> [[a]] -> [([a], [a])] many_kets_solution :: (Scalar a, Fractional a) => [[a]] -> [[a]] -> [[a]] inverse :: (Scalar a, Fractional a) => [[a]] -> [[a]] factors_QR :: (Scalar a, Fractional a) => [[a]] -> ([[a]], [[a]]) determinant :: (Scalar a, Fractional a) => [[a]] -> a determinantNaive :: (Num a) => [[a]] -> a determinantClow :: (Num a) => [[a]] -> a newClow :: (Num a) => [[a]] -> [[a]] -> [a] extendClow :: (Num a) => [[a]] -> [[a]] -> [[a]] longerClow :: (Num a) => [[a]] -> [[a]] -> [[a]] -- | Compositional power of a function, i.e. apply the function n times to -- a value. nest :: Int -> (a -> a) -> a -> a removeEach :: [a] -> [[a]] alternate :: (Num a) => [a] -> [a] parityFlip :: Num a => Int -> a -> a -- | Weight a list of numbers by a scalar. scaleVec :: (Num a) => a -> [a] -> [a] -- | Add corresponding numbers of two lists. addVec :: (Num a) => [a] -> [a] -> [a] -- | Add some lists. sumVec :: (Num a) => [[a]] -> [a] similar_to :: (Scalar a, Fractional a) => [[a]] -> [[a]] iterated_eigenvalues :: (Scalar a1, Fractional a1, Eq a, Num a) => [[a1]] -> a -> [[a1]] eigenvalues :: (Scalar a1, Fractional a1, Eq a, Num a) => [[a1]] -> a -> [a1] add_to_diagonal :: Num a => a -> [[a]] -> [[a]] eigenkets :: (Scalar a, Fractional a) => [[a]] -> [a] -> [[a]] eigenket' :: (Scalar a, Fractional a) => [[a]] -> a -> a -> [a] -> [a] unit_matrix :: Num a => Int -> [[a]] unit_vector :: Num a => Int -> Int -> [a] diagonals :: [[a]] -> [a] instance Orthogonals.Scalar GHC.Types.Double instance Orthogonals.Scalar GHC.Types.Float instance GHC.Real.Integral a => Orthogonals.Scalar (GHC.Real.Ratio a) instance GHC.Float.RealFloat a => Orthogonals.Scalar (Data.Complex.Complex a) module LinearAlgorithms triangular :: Int -> [[Scalar]] -> [[Scalar]] triangular2 :: Int -> [[Scalar]] -> ([[Scalar]], [[Scalar]]) tridiagonal :: [[Scalar]] -> [[Scalar]] tridiagonal2 :: [[Scalar]] -> ([[Scalar]], [[Scalar]]) type Scalar = Complex Double module EigensystemNum mult :: Num a => [[a]] -> [[a]] -> [[a]] matSqr :: Num a => [[a]] -> [[a]] powerIter :: (Fractional a, Ord a) => [[a]] -> [([[a]], [[a]])] normalize :: (Fractional a, Ord a) => [[a]] -> [[a]] getGrowth :: (Fractional a, Ord a) => ([[a]], [[a]]) -> a specRadApprox :: (Fractional a, Ord a) => [[a]] -> [a] eigenValuesApprox :: (Scalar a, Fractional a) => [[a]] -> [[a]] limit :: (Num a, Ord a) => a -> [a] -> a module QuantumVector class DiracVector a add :: DiracVector a => a -> a -> a scale :: DiracVector a => Scalar -> a -> a reduce :: DiracVector a => a -> a basis :: DiracVector a => a -> [a] components :: DiracVector a => a -> [Scalar] compose :: DiracVector a => [Scalar] -> [a] -> a dimension :: DiracVector a => a -> Int norm :: DiracVector a => a -> Double normalize :: DiracVector a => a -> a type Scalar = Complex Double data Ket a KetZero :: Ket a Ket :: a -> Ket a (:|>) :: Scalar -> Ket a -> Ket a (:+>) :: Ket a -> Ket a -> Ket a (*>) :: (Ord a, Ord b) => Ket a -> Ket b -> Ket (Tuple a b) infixl 7 *> (|>) :: Ord a => Scalar -> Ket a -> Ket a infix 6 |> (+>) :: Ord a => Ket a -> Ket a -> Ket a infixl 5 +> reduceKet :: Ord a => Ket a -> Ket a ketBasis :: Ord a => Ket a -> [Ket a] toBra :: Ord a => Ket a -> Bra a data Bra a BraZero :: Bra a Bra :: a -> Bra a (:<|) :: Scalar -> Bra a -> Bra a (:<+) :: Bra a -> Bra a -> Bra a (<*) :: (Ord a, Ord b) => Bra a -> Bra b -> Bra (Tuple a b) infixl 7 <* (<|) :: Ord a => Scalar -> Bra a -> Bra a infix 6 <| (<+) :: Ord a => Bra a -> Bra a -> Bra a infixl 5 <+ reduceBra :: Ord a => Bra a -> Bra a braBasis :: Ord a => Bra a -> [Bra a] toKet :: Ord a => Bra a -> Ket a (<>) :: Ord a => Bra a -> Ket a -> Scalar infix 4 <> d :: Eq a => a -> a -> Scalar closure :: (DiracVector a, DiracVector b) => (a -> b) -> a -> b (><) :: (DiracVector b, DiracVector a) => (a -> b) -> a -> b infix 5 >< label :: t -> Ket t1 -> Ket (t, t1) rot :: Ket Int -> Ket (Int, Int) label' :: (Ord a, Ord b) => Ket (a, b) -> Ket b rot' :: Ket (Int, Int) -> Ket (Int) showsScalar :: (Show t, RealFloat t) => Int -> Complex t -> String -> String data Tuple a b (:*) :: a -> b -> Tuple a b instance (GHC.Classes.Ord b, GHC.Classes.Ord a) => GHC.Classes.Ord (QuantumVector.Tuple a b) instance (GHC.Classes.Eq b, GHC.Classes.Eq a) => GHC.Classes.Eq (QuantumVector.Tuple a b) instance (GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (QuantumVector.Tuple a b) instance (GHC.Classes.Eq a, GHC.Classes.Ord a) => GHC.Classes.Eq (QuantumVector.Bra a) instance GHC.Classes.Ord a => QuantumVector.DiracVector (QuantumVector.Bra a) instance (GHC.Show.Show a, GHC.Classes.Eq a, GHC.Classes.Ord a) => GHC.Show.Show (QuantumVector.Bra a) instance (GHC.Classes.Eq a, GHC.Classes.Ord a) => GHC.Classes.Eq (QuantumVector.Ket a) instance GHC.Classes.Ord a => QuantumVector.DiracVector (QuantumVector.Ket a) instance (GHC.Show.Show a, GHC.Classes.Eq a, GHC.Classes.Ord a) => GHC.Show.Show (QuantumVector.Ket a) module Eigensystem eigenvalues :: Ord a => Bool -> Int -> [Ket a] -> (Ket a -> Ket a) -> [Scalar] adjoint :: Ord a => [Ket a] -> (Ket a -> Ket a) -> (Ket a -> Ket a) module Roots roots :: RealFloat a => a -> Int -> [Complex a] -> [Complex a] laguerre :: RealFloat a => a -> Int -> [Complex a] -> Complex a -> Complex a polynomial_value :: Num a => [a] -> a -> a polynomial_derivative :: Num a => [a] -> [a] module Tensor data Tensor S :: Double -> Tensor T :: [Tensor] -> Tensor rank :: Tensor -> Int dims :: Int showList' :: (Show t) => Int -> [t] -> String -> String tensor :: [Double] -> Tensor (#) :: Tensor -> Int -> Tensor infixl 9 # (##) :: Tensor -> [Int] -> Tensor infixl 9 ## scalar :: Tensor -> Double vector :: Tensor -> [Double] epsilon' :: Int -> Int -> Int -> Double delta' :: Int -> Int -> Double delta :: Tensor epsilon :: Tensor dot :: Tensor -> Tensor -> Tensor cross' :: Tensor -> Tensor -> Int -> Double cross :: Tensor -> Tensor -> Tensor contract :: Int -> Int -> Tensor -> Tensor (<*>) :: Tensor -> Tensor -> Tensor infixl 7 <*> (<<*>>) :: Tensor -> Tensor -> Tensor infixl 7 <<*>> d_standard :: Tensor d_simpler :: Tensor instance GHC.Show.Show Tensor.Tensor instance GHC.Classes.Eq Tensor.Tensor instance GHC.Num.Num Tensor.Tensor