SF.mli

(* Copyright INRIA and Microsoft Corporation, 2008-2013. *)
(* DDMF is distributed under CeCILL-B license. *)

INCLUDE "preamble.mli"

exception UndefinedFunction of string
exception UndefinedInitialCondition

type arg_type = Diff | Param

type singularity_type = RegOrOrd | Irreg

type monomial = {
  x_expon : any maple ;
  ln_expon : any maple ;
  coeff : any maple ;
}

type expansion = {
  sing_type : singularity_type ;
  prefactor : any maple ;
  transf : any maple ;
  monomials : monomial list ;
}

type initial_condition = {
  point : any maple ;
  analytic : bool ;
  expansions : expansion list ;
}

type t = {
  (* Names of the variables and parameters and their types (Diff, Param). *)
  names_and_types : (name maple * arg_type) list ;
  (* Maple object like AiryAi(x) or exp(x). *)
  rep : any maple ;
  (* like "Airy function of the first kind" or "exponential". *)
  full_name : string ;
  (* LODE as a Maple expression. *)
  lode : diffeq maple ;
  (* List of pairs (cond, ic_list), where cond encodes some conditions on *)
  (* the parameters, and ic_list is a list of initial_condition records *)
  (* (one for each point) that are valid if cond is true. *)
  ics : (any maple * (initial_condition list)) list ;
  (* id of the corresponding differential equation. *)
  ode_id : string ;
}

val get_initial_conditions : t -> any maple -> initial_condition
val var_of_t : t -> name maple
val params_of_t : t -> name maple list
val instantiate_parameters : t -> string list -> t

(* TODO: Are those string_of_* dead code? *)
val string_of_monomial : monomial -> string
val string_of_monomial_list : monomial list -> string
val string_of_expansion : expansion -> string
val string_of_expansion_list : expansion list -> string
val string_of_initial_condition : initial_condition -> string

Generated by GNU Enscript 1.6.5.90.