Functions
The core interface of all essential functions are not dependent on specialized types such as AbstractOrthoPoly
. Having said that, for exactly those essential functions there exist overloaded functions that accept specialized types such as AbstractOrthoPoly
as arguments.
Too abstract? For example, the function evaluate
that evaluates a polynomial of degree n
at points x
has the core interface
evaluate(n::Int,x::Array{<:Real},a::Vector{<:Real},b::Vector{<:Real})
where a
and b
are the vectors of recurrence coefficients. For simplicity, there also exists the interface
evaluate(n::Int64,x::Vector{<:Real},op::AbstractOrthoPoly)
So fret not upon the encounter of multiply-dispatched versions of the same thing. It's there to simplify your life.
The idea of this approach is to make it simpler for others to copy and paste code snippets and use them in their own work.
List of all functions in PolyChaos
.
DiffEqProblemLibrary.DAEProblemLibrary.prob_dae_resrob
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_A1
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_A2
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_B1
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_B2
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_C1
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_C2
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_C3
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_C4
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_D1
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_D2
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_E1
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_E2
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_F1
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_F2
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_F3
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_F4
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_F5
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_G1
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_G2
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_H1
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_H2
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_H3
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_DDETST_H4
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_RADAR5_oregonator
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_RADAR5_robertson
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_RADAR5_waltman
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_1delay_ip
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_1delay_long_ip
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_1delay_long_oop
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_1delay_long_scalar
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_1delay_oop
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_1delay_scalar
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_2delays_ip
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_2delays_long_ip
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_2delays_long_oop
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_2delays_long_scalar
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_2delays_oop
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_constant_2delays_scalar
DiffEqProblemLibrary.DDEProblemLibrary.prob_dde_qs
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_2Dlinear
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_2Dlinear_notinplace
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_aizawa
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_bigfloat2Dlinear
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_bigfloatlinear
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_brusselator_1d
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_brusselator_2d
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_chen
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_dadras
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_filament
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_fitzhughnagumo
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_hindmarsh_rose
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_hires
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_large2Dlinear
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_linear
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_lorenz
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_lotkavoltera
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_nonlinchem
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_orego
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_pleiades
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_pollution
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_rabinovich_fabrikant
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_rigidbody
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_rober
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_rossler
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_sprott
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_thomas
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_threebody
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_vanderpol
DiffEqProblemLibrary.ODEProblemLibrary.prob_ode_vanderpol_stiff
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_2Dlinear
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_additive
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_additivesystem
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_bistable
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_bruss
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_cubic
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_linear
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_lorenz
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_nltest
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_oscilreact
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_stiffquadito
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_stiffquadstrat
DiffEqProblemLibrary.SDEProblemLibrary.prob_sde_wave
OrdinaryDiffEq.ODE_DEFAULT_TABLEAU
Catalyst.Graph
Catalyst.Reaction
Catalyst.ReactionComplex
Catalyst.ReactionComplexElement
Catalyst.ReactionSystem
DiffEqBase.DEStats
DiffEqFlux.AugmentedNDELayer
DiffEqFlux.ChebyshevBasis
DiffEqFlux.CosBasis
DiffEqFlux.DeterministicCNF
DiffEqFlux.FFJORD
DiffEqFlux.FFJORDDistribution
DiffEqFlux.FourierBasis
DiffEqFlux.HamiltonianNN
DiffEqFlux.LegendreBasis
DiffEqFlux.NeuralCDDE
DiffEqFlux.NeuralDAE
DiffEqFlux.NeuralDSDE
DiffEqFlux.NeuralHamiltonianDE
DiffEqFlux.NeuralODE
DiffEqFlux.NeuralODEMM
DiffEqFlux.NeuralSDE
DiffEqFlux.PolynomialBasis
DiffEqFlux.SinBasis
DiffEqFlux.SplineLayer
DiffEqFlux.TensorLayer
DiffEqNoiseProcess.BoxWedgeTail
DiffEqNoiseProcess.CompoundPoissonProcess
DiffEqNoiseProcess.CompoundPoissonProcess!
DiffEqNoiseProcess.NoiseApproximation
DiffEqNoiseProcess.NoiseFunction
DiffEqNoiseProcess.NoiseGrid
DiffEqNoiseProcess.NoiseProcess
DiffEqNoiseProcess.NoiseWrapper
DiffEqNoiseProcess.SimpleNoiseProcess
DiffEqNoiseProcess.VirtualBrownianTree
ExponentialUtilities.ExpMethodDiagonalization
ExponentialUtilities.ExpMethodGeneric
ExponentialUtilities.ExpMethodHigham2005
ExponentialUtilities.ExpMethodHigham2005Base
ExponentialUtilities.ExpMethodNative
ExponentialUtilities.KrylovSubspace
JumpProcesses.ConstantRateJump
JumpProcesses.Direct
JumpProcesses.DirectCR
JumpProcesses.ExtendedJumpArray
JumpProcesses.FRM
JumpProcesses.JumpProblem
JumpProcesses.JumpSet
JumpProcesses.MassActionJump
JumpProcesses.NRM
JumpProcesses.RDirect
JumpProcesses.RSSA
JumpProcesses.RSSACR
JumpProcesses.SSAIntegrator
JumpProcesses.SSAStepper
JumpProcesses.SortingDirect
JumpProcesses.VariableRateJump
LabelledArrays.LArray
LabelledArrays.SLArray
ModelingToolkit.BipartiteGraphs.BipartiteGraph
ModelingToolkit.JumpSystem
ModelingToolkit.NonlinearSystem
ModelingToolkit.ODESystem
ModelingToolkit.OptimizationSystem
ModelingToolkit.PDESystem
ModelingToolkit.SDESystem
ModelingToolkit.StructuralTransformations.ODAEProblem
MultiScaleArrays.AbstractMultiScaleArray
NBodySimulator.Body
NBodySimulator.NBodySimulation
NBodySimulator.NullThermostat
NBodySimulator.PotentialNBodySystem
NBodySimulator.PotentialParameters
NBodySimulator.SimulationResult
NBodySimulator.Thermostat
NeuralOperators.GraphKernel
NeuralOperators.OperatorConv
NeuralOperators.OperatorKernel
OrdinaryDiffEq.IController
OrdinaryDiffEq.PIController
OrdinaryDiffEq.PIDController
OrdinaryDiffEq.PredictiveController
QuasiMonteCarlo.GoldenSample
QuasiMonteCarlo.GridSample
QuasiMonteCarlo.KroneckerSample
QuasiMonteCarlo.LatinHypercubeSample
QuasiMonteCarlo.LatticeRuleSample
QuasiMonteCarlo.LowDiscrepancySample
QuasiMonteCarlo.SectionSample
QuasiMonteCarlo.SobolSample
QuasiMonteCarlo.UniformSample
RecursiveArrayTools.ArrayPartition
RecursiveArrayTools.DiffEqArray
RecursiveArrayTools.VectorOfArray
SciMLBase.AbstractAnalyticalProblem
SciMLBase.AbstractAnalyticalSolution
SciMLBase.AbstractBVProblem
SciMLBase.AbstractConstantLagDDEProblem
SciMLBase.AbstractConstantLagSDDEProblem
SciMLBase.AbstractDAEAlgorithm
SciMLBase.AbstractDAEFunction
SciMLBase.AbstractDAEProblem
SciMLBase.AbstractDAESolution
SciMLBase.AbstractDDEAlgorithm
SciMLBase.AbstractDDEFunction
SciMLBase.AbstractDDEProblem
SciMLBase.AbstractDDESolution
SciMLBase.AbstractDiffEqFunction
SciMLBase.AbstractDiscreteFunction
SciMLBase.AbstractDiscreteProblem
SciMLBase.AbstractEnsembleSolution
SciMLBase.AbstractJumpProblem
SciMLBase.AbstractLinearAlgorithm
SciMLBase.AbstractLinearProblem
SciMLBase.AbstractLinearSolution
SciMLBase.AbstractNoTimeSolution
SciMLBase.AbstractNoiseProblem
SciMLBase.AbstractNoiseProcess
SciMLBase.AbstractNonlinearAlgorithm
SciMLBase.AbstractNonlinearFunction
SciMLBase.AbstractNonlinearProblem
SciMLBase.AbstractNonlinearSolution
SciMLBase.AbstractODEAlgorithm
SciMLBase.AbstractODEFunction
SciMLBase.AbstractODEProblem
SciMLBase.AbstractODESolution
SciMLBase.AbstractOptimizationAlgorithm
SciMLBase.AbstractOptimizationProblem
SciMLBase.AbstractPDEProblem
SciMLBase.AbstractQuadratureAlgorithm
SciMLBase.AbstractRODEAlgorithm
SciMLBase.AbstractRODEFunction
SciMLBase.AbstractRODEProblem
SciMLBase.AbstractRODESolution
SciMLBase.AbstractSDDEAlgorithm
SciMLBase.AbstractSDDEFunction
SciMLBase.AbstractSDDEProblem
SciMLBase.AbstractSDEAlgorithm
SciMLBase.AbstractSDEFunction
SciMLBase.AbstractSDEProblem
SciMLBase.AbstractSecondOrderODEAlgorithm
SciMLBase.AbstractSecondOrderODEProblem
SciMLBase.AbstractSteadyStateAlgorithm
SciMLBase.AbstractSteadyStateSolution
SciMLBase.AbstractTimeseriesSolution
SciMLBase.BVProblem
SciMLBase.CallbackSet
SciMLBase.ContinuousCallback
SciMLBase.DAEFunction
SciMLBase.DAEProblem
SciMLBase.DAESolution
SciMLBase.DDEFunction
SciMLBase.DDEProblem
SciMLBase.DEAlgorithm
SciMLBase.DEProblem
SciMLBase.DiscreteCallback
SciMLBase.DiscreteFunction
SciMLBase.DiscreteProblem
SciMLBase.DynamicalODEFunction
SciMLBase.DynamicalODEProblem
SciMLBase.IntegralProblem
SciMLBase.LinearProblem
SciMLBase.NonlinearFunction
SciMLBase.NonlinearProblem
SciMLBase.ODEFunction
SciMLBase.ODEProblem
SciMLBase.ODESolution
SciMLBase.OptimizationFunction
SciMLBase.OptimizationProblem
SciMLBase.RODEFunction
SciMLBase.RODEProblem
SciMLBase.RODESolution
SciMLBase.SDDEFunction
SciMLBase.SDDEProblem
SciMLBase.SDEFunction
SciMLBase.SDEProblem
SciMLBase.SciMLAlgorithm
SciMLBase.SciMLProblem
SciMLBase.SciMLSolution
SciMLBase.SecondOrderODEProblem
SciMLBase.SplitFunction
SciMLBase.SplitODEProblem
SciMLBase.SteadyStateProblem
SciMLBase.VectorContinuousCallback
SciMLOperators.AddedOperator
SciMLOperators.AffineOperator
SciMLOperators.ComposedOperator
SciMLOperators.FunctionOperator
SciMLOperators.InvertedOperator
SciMLOperators.MatrixOperator
SciMLOperators.NullOperator
SciMLOperators.ScalarOperator
SciMLOperators.ScaledOperator
SciMLSensitivity.AdjointLSS
SciMLSensitivity.BacksolveAdjoint
SciMLSensitivity.EnzymeVJP
SciMLSensitivity.ForwardDiffSensitivity
SciMLSensitivity.ForwardLSS
SciMLSensitivity.ForwardSensitivity
SciMLSensitivity.InterpolatingAdjoint
SciMLSensitivity.NILSAS
SciMLSensitivity.NILSS
SciMLSensitivity.ODEForwardSensitivityProblem
SciMLSensitivity.QuadratureAdjoint
SciMLSensitivity.ReverseDiffAdjoint
SciMLSensitivity.ReverseDiffVJP
SciMLSensitivity.SteadyStateAdjoint
SciMLSensitivity.TrackerAdjoint
SciMLSensitivity.TrackerVJP
SciMLSensitivity.ZygoteAdjoint
SciMLSensitivity.ZygoteVJP
Surrogates.Kriging
Surrogates.LinearSurrogate
Surrogates.LobachevskySurrogate
Surrogates.RadialBasis
Base.:==
Base.:==
Base.convert
Base.deleteat!
Base.isequal
Base.merge!
Base.resize!
Catalyst.addparam!
Catalyst.addreaction!
Catalyst.addspecies!
Catalyst.complexgraph
Catalyst.complexoutgoingmat
Catalyst.complexstoichmat
Catalyst.conservationlaw_constants
Catalyst.conservationlaws
Catalyst.conservedequations
Catalyst.conservedquantities
Catalyst.deficiency
Catalyst.dependants
Catalyst.dependents
Catalyst.hill
Catalyst.hillar
Catalyst.hillr
Catalyst.incidencemat
Catalyst.incidencematgraph
Catalyst.isbc
Catalyst.isconstant
Catalyst.isequal_ignore_names
Catalyst.ismassaction
Catalyst.isreversible
Catalyst.isweaklyreversible
Catalyst.jumpratelaw
Catalyst.linkageclasses
Catalyst.linkagedeficiencies
Catalyst.make_empty_network
Catalyst.mm
Catalyst.mmr
Catalyst.netstoichmat
Catalyst.numreactionparams
Catalyst.numreactions
Catalyst.numspecies
Catalyst.oderatelaw
Catalyst.paramsmap
Catalyst.prodstoichmat
Catalyst.reactioncomplexes
Catalyst.reactioncomplexmap
Catalyst.reactionparams
Catalyst.reactionparamsmap
Catalyst.reactionrates
Catalyst.reactions
Catalyst.reorder_states!
Catalyst.reset_networkproperties!
Catalyst.savegraph
Catalyst.setdefaults!
Catalyst.species
Catalyst.speciesmap
Catalyst.subnetworks
Catalyst.substoichmat
Catalyst.symmap_to_varmap
CommonSolve.init
CommonSolve.solve
CommonSolve.solve
CommonSolve.solve
CommonSolve.solve!
DiffEqDevTools.appxtrue
DiffEqDevTools.constructBaker10
DiffEqDevTools.constructBogakiShampine3
DiffEqDevTools.constructBogakiShampine5
DiffEqDevTools.constructButcher6
DiffEqDevTools.constructButcher62
DiffEqDevTools.constructButcher63
DiffEqDevTools.constructCashKarp
DiffEqDevTools.constructCassity5
DiffEqDevTools.constructChummund6
DiffEqDevTools.constructChummund62
DiffEqDevTools.constructClassicVerner6
DiffEqDevTools.constructClassicVerner7
DiffEqDevTools.constructClassicVerner8
DiffEqDevTools.constructCooperVerner8
DiffEqDevTools.constructCooperVerner82
DiffEqDevTools.constructCurtis10
DiffEqDevTools.constructCurtis8
DiffEqDevTools.constructDormandLockyerMcCorriganPrince6
DiffEqDevTools.constructDormandPrince6
DiffEqDevTools.constructDormandPrince8
DiffEqDevTools.constructDormandPrince8_64bit
DiffEqDevTools.constructEnrightVerner7
DiffEqDevTools.constructEnrightVerner8
DiffEqDevTools.constructEuler
DiffEqDevTools.constructFeagin10
DiffEqDevTools.constructFeagin12
DiffEqDevTools.constructFeagin14
DiffEqDevTools.constructGL2
DiffEqDevTools.constructGL4
DiffEqDevTools.constructGL6
DiffEqDevTools.constructHairer10
DiffEqDevTools.constructHeun
DiffEqDevTools.constructHuta6
DiffEqDevTools.constructHuta62
DiffEqDevTools.constructImplicitEuler
DiffEqDevTools.constructKutta3
DiffEqDevTools.constructLawson5
DiffEqDevTools.constructLawson6
DiffEqDevTools.constructLobattoIIIA4
DiffEqDevTools.constructLobattoIIIB2
DiffEqDevTools.constructLobattoIIIB4
DiffEqDevTools.constructLobattoIIIC2
DiffEqDevTools.constructLobattoIIIC4
DiffEqDevTools.constructLobattoIIICStar2
DiffEqDevTools.constructLobattoIIICStar4
DiffEqDevTools.constructLobattoIIID2
DiffEqDevTools.constructLobattoIIID4
DiffEqDevTools.constructLutherKonen5
DiffEqDevTools.constructLutherKonen52
DiffEqDevTools.constructLutherKonen53
DiffEqDevTools.constructMidpointRule
DiffEqDevTools.constructMikkawyEisa
DiffEqDevTools.constructOno10
DiffEqDevTools.constructOno12
DiffEqDevTools.constructPapakostas6
DiffEqDevTools.constructPapakostasPapaGeorgiou5
DiffEqDevTools.constructPapakostasPapaGeorgiou52
DiffEqDevTools.constructRK4
DiffEqDevTools.constructRK438Rule
DiffEqDevTools.constructRKF4
DiffEqDevTools.constructRKF5
DiffEqDevTools.constructRKF8
DiffEqDevTools.constructRadauIA3
DiffEqDevTools.constructRadauIA5
DiffEqDevTools.constructRadauIIA3
DiffEqDevTools.constructRadauIIA5
DiffEqDevTools.constructRalston
DiffEqDevTools.constructRungeFirst5
DiffEqDevTools.constructSharp9
DiffEqDevTools.constructSharpSmart5
DiffEqDevTools.constructSharpSmart7
DiffEqDevTools.constructSharpVerner6
DiffEqDevTools.constructSharpVerner7
DiffEqDevTools.constructTanakaKasugaYamashitaYazaki6A
DiffEqDevTools.constructTanakaKasugaYamashitaYazaki6B
DiffEqDevTools.constructTanakaKasugaYamashitaYazaki6C
DiffEqDevTools.constructTanakaKasugaYamashitaYazaki6D
DiffEqDevTools.constructTanakaYamashitaEfficient7
DiffEqDevTools.constructTanakaYamashitaStable7
DiffEqDevTools.constructTrapezoidalRule
DiffEqDevTools.constructTsitouras5
DiffEqDevTools.constructTsitouras9
DiffEqDevTools.constructTsitouras92
DiffEqDevTools.constructTsitourasPapakostas6
DiffEqDevTools.constructTsitourasPapakostas8
DiffEqDevTools.constructVerner6
DiffEqDevTools.constructVerner916
DiffEqDevTools.constructVerner9162
DiffEqDevTools.constructVernerEfficient6
DiffEqDevTools.constructVernerEfficient7
DiffEqDevTools.constructVernerEfficient9
DiffEqDevTools.constructVernerRobust6
DiffEqDevTools.constructVernerRobust7
DiffEqDevTools.constructVernerRobust9
DiffEqDevTools.constructdverk78
DiffEqDevTools.stability_region
DiffEqFlux.collocate_data
DiffEqFlux.multiple_shoot
DiffEqNoiseProcess.BrownianBridge
DiffEqNoiseProcess.BrownianBridge!
DiffEqNoiseProcess.CorrelatedWienerProcess
DiffEqNoiseProcess.CorrelatedWienerProcess!
DiffEqNoiseProcess.GeometricBrownianMotionProcess
DiffEqNoiseProcess.GeometricBrownianMotionProcess!
DiffEqNoiseProcess.OrnsteinUhlenbeckProcess
DiffEqNoiseProcess.OrnsteinUhlenbeckProcess!
DiffEqNoiseProcess.RealWienerProcess
DiffEqNoiseProcess.RealWienerProcess!
DiffEqNoiseProcess.SimpleWienerProcess
DiffEqNoiseProcess.SimpleWienerProcess!
DiffEqNoiseProcess.WienerProcess
DiffEqNoiseProcess.WienerProcess!
DiffEqNoiseProcess.pCN
DiffEqProblemLibrary.SDEProblemLibrary.generate_stiff_stoch_heat
DiffEqProblemLibrary.SDEProblemLibrary.oval2ModelExample
ExponentialUtilities.arnoldi
ExponentialUtilities.arnoldi!
ExponentialUtilities.exponential!
ExponentialUtilities.expv
ExponentialUtilities.expv!
ExponentialUtilities.lanczos!
ExponentialUtilities.phi
ExponentialUtilities.phiv
ExponentialUtilities.phiv!
ExponentialUtilities.phiv_timestep
ExponentialUtilities.phiv_timestep!
JumpProcesses.reset_aggregated_jumps!
LabelledArrays.LVector
LabelledArrays.SLVector
LabelledArrays.symbols
LabelledArrays.symbols
LinearAlgebra.issymmetric
LinearSolve.set_A
LinearSolve.set_b
LinearSolve.set_p
LinearSolve.set_prec
LinearSolve.set_u
ModelingToolkit.StructuralTransformations.dae_index_lowering
ModelingToolkit.StructuralTransformations.tearing
ModelingToolkit.asdigraph
ModelingToolkit.asgraph
ModelingToolkit.calculate_factorized_W
ModelingToolkit.calculate_gradient
ModelingToolkit.calculate_hessian
ModelingToolkit.calculate_jacobian
ModelingToolkit.calculate_tgrad
ModelingToolkit.compose
ModelingToolkit.eqeq_dependencies
ModelingToolkit.equation_dependencies
ModelingToolkit.extend
ModelingToolkit.flatten
ModelingToolkit.generate_factorized_W
ModelingToolkit.generate_gradient
ModelingToolkit.generate_hessian
ModelingToolkit.generate_jacobian
ModelingToolkit.generate_tgrad
ModelingToolkit.get_unit
ModelingToolkit.getbounds
ModelingToolkit.getbounds
ModelingToolkit.getbounds
ModelingToolkit.getdist
ModelingToolkit.hasbounds
ModelingToolkit.hasdist
ModelingToolkit.isdisturbance
ModelingToolkit.istunable
ModelingToolkit.liouville_transform
ModelingToolkit.ode_order_lowering
ModelingToolkit.structural_simplify
ModelingToolkit.tunable_parameters
ModelingToolkit.validate
ModelingToolkit.validate
ModelingToolkit.validate
ModelingToolkit.variable_dependencies
ModelingToolkit.varvar_dependencies
ModelingToolkitStandardLibrary.Blocks.Abs
ModelingToolkitStandardLibrary.Blocks.Acos
ModelingToolkitStandardLibrary.Blocks.Add
ModelingToolkitStandardLibrary.Blocks.Add3
ModelingToolkitStandardLibrary.Blocks.Asin
ModelingToolkitStandardLibrary.Blocks.Atan
ModelingToolkitStandardLibrary.Blocks.Atan2
ModelingToolkitStandardLibrary.Blocks.Constant
ModelingToolkitStandardLibrary.Blocks.ContinuousClock
ModelingToolkitStandardLibrary.Blocks.Cos
ModelingToolkitStandardLibrary.Blocks.Cosh
ModelingToolkitStandardLibrary.Blocks.DeadZone
ModelingToolkitStandardLibrary.Blocks.Derivative
ModelingToolkitStandardLibrary.Blocks.Division
ModelingToolkitStandardLibrary.Blocks.Exp
ModelingToolkitStandardLibrary.Blocks.ExpSine
ModelingToolkitStandardLibrary.Blocks.Feedback
ModelingToolkitStandardLibrary.Blocks.FirstOrder
ModelingToolkitStandardLibrary.Blocks.Gain
ModelingToolkitStandardLibrary.Blocks.Integrator
ModelingToolkitStandardLibrary.Blocks.LimPI
ModelingToolkitStandardLibrary.Blocks.LimPID
ModelingToolkitStandardLibrary.Blocks.Limiter
ModelingToolkitStandardLibrary.Blocks.Log
ModelingToolkitStandardLibrary.Blocks.Log10
ModelingToolkitStandardLibrary.Blocks.MatrixGain
ModelingToolkitStandardLibrary.Blocks.PI
ModelingToolkitStandardLibrary.Blocks.PID
ModelingToolkitStandardLibrary.Blocks.Product
ModelingToolkitStandardLibrary.Blocks.Ramp
ModelingToolkitStandardLibrary.Blocks.RealInput
ModelingToolkitStandardLibrary.Blocks.RealOutput
ModelingToolkitStandardLibrary.Blocks.SISO
ModelingToolkitStandardLibrary.Blocks.SecondOrder
ModelingToolkitStandardLibrary.Blocks.Sign
ModelingToolkitStandardLibrary.Blocks.Sin
ModelingToolkitStandardLibrary.Blocks.Sine
ModelingToolkitStandardLibrary.Blocks.Sinh
ModelingToolkitStandardLibrary.Blocks.SlewRateLimiter
ModelingToolkitStandardLibrary.Blocks.Sqrt
ModelingToolkitStandardLibrary.Blocks.StateSpace
ModelingToolkitStandardLibrary.Blocks.StaticNonLinearity
ModelingToolkitStandardLibrary.Blocks.Step
ModelingToolkitStandardLibrary.Blocks.Sum
ModelingToolkitStandardLibrary.Blocks.Tan
ModelingToolkitStandardLibrary.Blocks.Tanh
ModelingToolkitStandardLibrary.Electrical.Capacitor
ModelingToolkitStandardLibrary.Electrical.Conductor
ModelingToolkitStandardLibrary.Electrical.CurrentSensor
ModelingToolkitStandardLibrary.Electrical.DigitalPin
ModelingToolkitStandardLibrary.Electrical.Ground
ModelingToolkitStandardLibrary.Electrical.IdealOpAmp
ModelingToolkitStandardLibrary.Electrical.Inductor
ModelingToolkitStandardLibrary.Electrical.MultiSensor
ModelingToolkitStandardLibrary.Electrical.OnePort
ModelingToolkitStandardLibrary.Electrical.Pin
ModelingToolkitStandardLibrary.Electrical.PotentialSensor
ModelingToolkitStandardLibrary.Electrical.PowerSensor
ModelingToolkitStandardLibrary.Electrical.Resistor
ModelingToolkitStandardLibrary.Electrical.VoltageSensor
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.ConstantMagneticFlux
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.ConstantMagneticPotentialDifference
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.ConstantPermeance
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.ConstantReluctance
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.Crossing
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.EddyCurrent
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.ElectroMagneticConverter
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.Ground
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.Idle
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.NegativeMagneticPort
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.PositiveMagneticPort
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.Short
ModelingToolkitStandardLibrary.Magnetic.FluxTubes.TwoPort
ModelingToolkitStandardLibrary.Mechanical.Rotational.Damper
ModelingToolkitStandardLibrary.Mechanical.Rotational.Fixed
ModelingToolkitStandardLibrary.Mechanical.Rotational.Flange
ModelingToolkitStandardLibrary.Mechanical.Rotational.IdealGear
ModelingToolkitStandardLibrary.Mechanical.Rotational.Inertia
ModelingToolkitStandardLibrary.Mechanical.Rotational.PartialCompliant
ModelingToolkitStandardLibrary.Mechanical.Rotational.PartialCompliantWithRelativeStates
ModelingToolkitStandardLibrary.Mechanical.Rotational.PartialElementaryOneFlangeAndSupport2
ModelingToolkitStandardLibrary.Mechanical.Rotational.PartialElementaryTwoFlangesAndSupport2
ModelingToolkitStandardLibrary.Mechanical.Rotational.Spring
ModelingToolkitStandardLibrary.Mechanical.Rotational.Support
ModelingToolkitStandardLibrary.Mechanical.Rotational.Torque
ModelingToolkitStandardLibrary.Thermal.BodyRadiation
ModelingToolkitStandardLibrary.Thermal.ConvectiveConductor
ModelingToolkitStandardLibrary.Thermal.ConvectiveResistor
ModelingToolkitStandardLibrary.Thermal.Element1D
ModelingToolkitStandardLibrary.Thermal.FixedHeatFlow
ModelingToolkitStandardLibrary.Thermal.FixedTemperature
ModelingToolkitStandardLibrary.Thermal.HeatCapacitor
ModelingToolkitStandardLibrary.Thermal.HeatFlowSensor
ModelingToolkitStandardLibrary.Thermal.HeatPort
ModelingToolkitStandardLibrary.Thermal.RelativeTemperatureSensor
ModelingToolkitStandardLibrary.Thermal.TemperatureSensor
ModelingToolkitStandardLibrary.Thermal.ThermalCollector
ModelingToolkitStandardLibrary.Thermal.ThermalConductor
ModelingToolkitStandardLibrary.Thermal.ThermalResistor
MultiScaleArrays.print_human_readable
NBodySimulator.generate_bodies_in_cell_nodes
NBodySimulator.load_water_molecules_from_pdb
NBodySimulator.run_simulation
NeuralOperators.FourierNeuralOperator
NeuralOperators.MarkovNeuralOperator
ParameterizedFunctions.ode_def_opts
PoissonRandom.pois_rand
PolyChaos.calculateAffinePCE
PolyChaos.clenshaw_curtis
PolyChaos.coeffs
PolyChaos.computeSP
PolyChaos.computeSP2
PolyChaos.convert2affinePCE
PolyChaos.evaluate
PolyChaos.evaluatePCE
PolyChaos.fejer
PolyChaos.fejer2
PolyChaos.gauss
PolyChaos.lanczos
PolyChaos.lobatto
PolyChaos.mcdiscretization
PolyChaos.nw
PolyChaos.quadgp
PolyChaos.r_scale
PolyChaos.radau
PolyChaos.rec2coeff
PolyChaos.rm_compute
PolyChaos.rm_hermite
PolyChaos.rm_hermite_prob
PolyChaos.rm_jacobi
PolyChaos.rm_jacobi01
PolyChaos.rm_laguerre
PolyChaos.rm_legendre
PolyChaos.rm_legendre01
PolyChaos.rm_logistic
PolyChaos.rm_meixner_pollaczek
PolyChaos.sampleMeasure
PolyChaos.samplePCE
PolyChaos.showbasis
PolyChaos.showpoly
PolyChaos.stieltjes
RecursiveArrayTools.copyat_or_push!
RecursiveArrayTools.recursivecopy
RecursiveArrayTools.recursivecopy!
RecursiveArrayTools.vecvecapply
SciMLBase.add_saveat!
SciMLBase.add_tstop!
SciMLBase.addat!
SciMLBase.addat_non_user_cache!
SciMLBase.allows_arbitrary_number_types
SciMLBase.allowscomplex
SciMLBase.auto_dt_reset!
SciMLBase.change_t_via_interpolation!
SciMLBase.check_error
SciMLBase.check_error!
SciMLBase.deleteat_non_user_cache!
SciMLBase.first_tstop
SciMLBase.full_cache
SciMLBase.get_du
SciMLBase.get_du!
SciMLBase.get_proposed_dt
SciMLBase.get_tmp_cache
SciMLBase.has_tstop
SciMLBase.is_diagonal_noise
SciMLBase.isadaptive
SciMLBase.isautodifferentiable
SciMLBase.isdiscrete
SciMLBase.isinplace
SciMLBase.pop_tstop!
SciMLBase.reinit!
SciMLBase.remake
SciMLBase.resize_non_user_cache!
SciMLBase.savevalues!
SciMLBase.set_proposed_dt!
SciMLBase.set_t!
SciMLBase.set_u!
SciMLBase.set_ut!
SciMLBase.step!
SciMLBase.terminate!
SciMLBase.u_modified!
SciMLOperators.DiagonalOperator
SciMLSensitivity.adjoint_sensitivities
SciMLSensitivity.extract_local_sensitivities
SciMLSensitivity.second_order_sensitivities
SciMLSensitivity.second_order_sensitivity_product
Statistics.mean
Statistics.std
Statistics.var
Surrogates.lobachevsky_integral
Surrogates.surrogate_optimize
Surrogates.surrogate_optimize
Surrogates.surrogate_optimize
Surrogates.surrogate_optimize
Surrogates.surrogate_optimize
Catalyst.@add_reactions
Catalyst.@reaction
Catalyst.@reaction_network
LabelledArrays.@LArray
LabelledArrays.@LVector
LabelledArrays.@SLArray
LabelledArrays.@SLVector
ParameterizedFunctions.@ode_def
ParameterizedFunctions.@ode_def_all
ParameterizedFunctions.@ode_def_bare
Recurrence Coefficients for Monic Orthogonal Polynomials
The functions below provide analytic expressions for the recurrence coefficients of common orthogonal polynomials. All of these provide monic orthogonal polynomials relative to the weights.
The number N
of recurrence coefficients has to be positive for all functions below.
PolyChaos.r_scale
— Functionr_scale(c::Real,β::AbstractVector{<:Real},α::AbstractVector{<:Real})
Given the recursion coefficients (α,β)
for a system of orthogonal polynomials that are orthogonal with respect to some positive weight $m(t)$, this function returns the recursion coefficients (α_,β_)
for the scaled measure $c m(t)$ for some positive $c$.
PolyChaos.rm_compute
— Functionrm_compute(weight::Function,lb::Real,ub::Real,Npoly::Int=4,Nquad::Int=10;quadrature::Function=clenshaw_curtis)
Given a positive weight
function with domain (lb,ub)
, i.e. a function $w: [lb, ub ] \rightarrow \mathbb{R}_{\geq 0}$, this function creates Npoly
recursion coefficients (α,β)
.
The keyword quadrature
specifies what quadrature rule is being used.
PolyChaos.rm_logistic
— Functionrm_logistic(N::Int)
Creates N
recurrence coefficients for monic polynomials that are orthogonal on $(-\infty,\infty)$ relative to $w(t) = \frac{\mathrm{e}^{-t}}{(1 - \mathrm{e}^{-t})^2}$
PolyChaos.rm_hermite
— Functionrm_hermite(N::Int,mu::Real)
rm_hermite(N::Int)
Creates N
recurrence coefficients for monic generalized Hermite polynomials that are orthogonal on $(-\infty,\infty)$ relative to $w(t) = |t|^{2 \mu} \mathrm{e}^{-t^2}$
The call rm_hermite(N)
is the same as rm_hermite(N,0)
.
PolyChaos.rm_hermite_prob
— Functionrm_hermite_prob(N::Int)
Creates N
recurrence coefficients for monic probabilists' Hermite polynomials that are orthogonal on $(-\infty,\infty)$ relative to $w(t) = \mathrm{e}^{-0.5t^2}$
PolyChaos.rm_laguerre
— Functionrm_laguerre(N::Int,a::Real)
rm_laguerre(N::Int)
Creates N
recurrence coefficients for monic generalized Laguerre polynomials that are orthogonal on $(0,\infty)$ relative to $w(t) = t^a \mathrm{e}^{-t}$.
The call rm_laguerre(N)
is the same as rm_laguerre(N,0)
.
PolyChaos.rm_legendre
— Functionrm_legendre(N::Int)
Creates N
recurrence coefficients for monic Legendre polynomials that are orthogonal on $(-1,1)$ relative to $w(t) = 1$.
PolyChaos.rm_legendre01
— Functionrm_legendre01(N::Int)
Creates N
recurrence coefficients for monic Legendre polynomials that are orthogonal on $(0,1)$ relative to $w(t) = 1$.
PolyChaos.rm_jacobi
— Functionrm_jacobi(N::Int,a::Real,b::Real)
rm_jacobi(N::Int,a::Real)
rm_jacobi(N::Int)
Creates N
recurrence coefficients for monic Jacobi polynomials that are orthogonal on $(-1,1)$ relative to $w(t) = (1-t)^a (1+t)^b$.
The call rm_jacobi(N,a)
is the same as rm_jacobi(N,a,a)
and rm_jacobi(N)
the same as rm_jacobi(N,0,0)
.
PolyChaos.rm_jacobi01
— Functionrm_jacobi01(N::Int,a::Real,b::Real)
rm_jacobi01(N::Int,a::Real)
rm_jacobi01(N::Int)
Creates N
recurrence coefficients for monic Jacobi polynomials that are orthogonal on $(0,1)$ relative to $w(t) = (1-t)^a t^b$.
The call rm_jacobi01(N,a)
is the same as rm_jacobi01(N,a,a)
and rm_jacobi01(N)
the same as rm_jacobi01(N,0,0)
.
PolyChaos.rm_meixner_pollaczek
— Functionrm_meixner_pollaczek(N::Int,lambda::Real,phi::Real)
rm_meixner_pollaczek(N::Int,lambda::Real)
Creates N
recurrence coefficients for monic Meixner-Pollaczek polynomials with parameters λ and ϕ. These are orthogonal on $[-\infty,\infty]$ relative to the weight function $w(t)=(2 \pi)^{-1} \exp{(2 \phi-\pi)t} |\Gamma(\lambda+ i t)|^2$.
The call rm_meixner_pollaczek(n,lambda)
is the same as rm_meixner_pollaczek(n,lambda,pi/2)
.
PolyChaos.stieltjes
— Functionstieltjes(N::Int,nodes_::AbstractVector{<:Real},weights_::AbstractVector{<:Real};removezeroweights::Bool=true)
Stieltjes procedure–-Given the nodes and weights the function generates the firstN
recurrence coefficients of the corresponding discrete orthogonal polynomials.
Set the Boolean removezeroweights
to true
if zero weights should be removed.
PolyChaos.lanczos
— Functionlanczos(N::Int,nodes::AbstractVector{<:Real},weights::AbstractVector{<:Real};removezeroweights::Bool=true)
Lanczos procedure–-given the nodes and weights the function generates the first N
recurrence coefficients of the corresponding discrete orthogonal polynomials.
Set the Boolean removezeroweights
to true
if zero weights should be removed.
The script is adapted from the routine RKPW in W.B. Gragg and W.J. Harrod, The numerically stable reconstruction of Jacobi matrices from spectral data, Numer. Math. 44 (1984), 317-335.
PolyChaos.mcdiscretization
— Functionmcdiscretization(N::Int,quads::Vector{},discretemeasure::AbstractMatrix{<:Real}=zeros(0,2);discretization::Function=stieltjes,Nmax::Integer=300,ε::Float64=1e-8,gaussquad::Bool=false)
This routine returns $N$ recurrence coefficients of the polynomials that are orthogonal relative to a weight function $w$ that is decomposed as a sum of $m$ weights $w_i$ with domains $[a_i,b_i]$ for $i=1,\dots,m$,
\[w(t) = \sum_{i}^{m} w_i(t) \quad \text{with } \operatorname{dom}(w_i) = [a_i, b_i].\]
For each weight $w_i$ and its domain $[a_i, b_i]$ the function mcdiscretization()
expects a quadrature rule of the form nodes::AbstractVector{<:Real}, weights::AbstractVector{<:Real} = myquadi(N::Int) all of which are stacked in the parameter quad
quad = [ myquad1, ..., myquadm ] If the weight function has a discrete part (specified by discretemeasure
) it is added on to the discretized continuous weight function.
The function mcdiscretization()
performs a sequence of discretizations of the given weight $w(t)$, each discretization being followed by an application of the Stieltjes or Lanczos procedure (keyword discretization in [stieltjes, lanczos]
) to produce approximations to the desired recurrence coefficients. The function applies to each subinterval $i$ an N
-point quadrature rule (the $i$th entry of quad
) to discretize the weight function $w_i$ on that subinterval. If the procedure converges to within a prescribed accuracy ε
before N
reaches its maximum allowed value Nmax
. If the function does not converge, the function prompts an error message.
The keyword gaussquad
should be set to true
if Gauss quadrature rules are available for all $m$ weights $w_i(t)$ with $i = 1, \dots, m$.
For further information, please see W. Gautschi "Orthogonal Polynomials: Approximation and Computation", Section 2.2.4.
Show Orthogonal Polynomials
To get a human-readable output of the orthognoal polynomials there is the function showpoly
PolyChaos.showpoly
— Functionshowpoly(coeffs::Vector{<:Real};sym::String,digits::Integer)
Show the monic polynomial with coefficients coeffs
in a human readable way. They keyword sym
sets the name of the variable, and digits
controls the number of shown digits.
julia> using PolyChaos
julia> showpoly([1.2, 2.3, 3.4456])
x^3 + 3.45x^2 + 2.3x + 1.2
julia> showpoly([1.2, 2.3, 3.4456], sym="t", digits=2)
t^3 + 3.45t^2 + 2.3t + 1.2
showpoly(d::Integer,α::Vector{<:Real},β::Vector{<:Real}; sym::String,digits::Integer)
showpoly(d::Range,α::Vector{<:Real},β::Vector{<:Real};sym::String,digits::Integer) where Range <: OrdinalRange
Show the monic polynomial of degree/range d
that has the recurrence coefficients α
, β
.
julia> using PolyChaos
julia> α, β = rm_hermite(10)
([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.77245, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5])
julia> showpoly(3,α,β)
x^3 - 1.5x
julia> showpoly(0:2:10,α,β)
1
x^2 - 0.5
x^4 - 3.0x^2 + 0.75
x^6 - 7.5x^4 + 11.25x^2 - 1.88
x^8 - 14.0x^6 + 52.5x^4 - 52.5x^2 + 6.56
x^10 - 22.5x^8 + 157.5x^6 - 393.75x^4 + 295.31x^2 - 29.53
Tailored to types from PolyChaos.jl
showpoly(d::Union{Integer,Range},op::AbstractOrthoPoly;sym::String,digits::Integer) where Range <: OrdinalRange
Show the monic polynomial of degree/range d
of an AbstractOrthoPoly
.
julia> using PolyChaos
julia> op = GaussOrthoPoly(5);
julia> showpoly(3,op)
x^3 - 3.0x
julia> showpoly(0:op.deg,op; sym="t")
1
t
t^2 - 1.0
t^3 - 3.0t
t^4 - 6.0t^2 + 3.0
t^5 - 10.0t^3 + 15.0t
In case you want to see the entire basis, just use showbasis
PolyChaos.showbasis
— Functionshowbasis(α::Vector{<:Real},β::Vector{<:Real};sym::String,digits::Integer)
Show all basis polynomials given the recurrence coefficients α
, β
. They keyword sym
sets the name of the variable, and digits
controls the number of shown digits.
julia> using PolyChaos
julia> α, β = rm_hermite(5);
julia> showbasis(α,β)
1
x
x^2 - 0.5
x^3 - 1.5x
x^4 - 3.0x^2 + 0.75
x^5 - 5.0x^3 + 3.75x
Tailored to types from PolyChaos.jl
showbasis(op::AbstractOrthoPoly;sym::String,digits::Integer)
Show all basis polynomials of an AbstractOrthoPoly
.
julia> using PolyChaos
julia> op = LegendreOrthoPoly(4);
julia> showbasis(op)
1
x
x^2 - 0.33
x^3 - 0.6x
x^4 - 0.86x^2 + 0.09
Both of these functions make excessive use of
PolyChaos.rec2coeff
— Functionrec2coeff(deg::Int,a::Vector{<:Real},b::Vector{<:Real})
rec2coeff(a,b) = rec2coeff(length(a),a,b)
Get the coefficients of the orthogonal polynomial of degree up to deg
specified by its recurrence coefficients (a,b)
. The function returns the values $c_i^{(k)}$ from
\[p_k (t) = t^d + \sum_{i=0}^{k-1} c_i t^i,\]
where $k$ runs from 1
to deg
.
The call rec2coeff(a,b)
outputs all possible recurrence coefficients given (a,b)
.
Evaluate Orthogonal Polynomials
PolyChaos.evaluate
— FunctionUnivariate
evaluate(n::Int,x::Array{<:Real},a::AbstractVector{<:Real},b::AbstractVector{<:Real})
evaluate(n::Int,x::Real,a::AbstractVector{<:Real},b::AbstractVector{<:Real})
evaluate(n::Int,x::AbstractVector{<:Real},op::AbstractOrthoPoly)
evaluate(n::Int,x::Real,op::AbstractOrthoPoly)
Evaluate the n
-th univariate basis polynomial at point(s) x
The function is multiply dispatched to facilitate its use with the composite type AbstractOrthoPoly
If several basis polynomials (stored in ns
) are to be evaluated at points x
, then call
evaluate(ns::AbstractVector{<:Int},x::AbstractVector{<:Real},op::AbstractOrthoPoly) = evaluate(ns,x,op.α,op.β)
evaluate(ns::AbstractVector{<:Int},x::Real,op::AbstractOrthoPoly) = evaluate(ns,[x],op)
If all basis polynomials are to be evaluated at points x
, then call
evaluate(x::AbstractVector{<:Real},op::AbstractOrthoPoly) = evaluate(collect(0:op.deg),x,op)
evaluate(x::Real,op::AbstractOrthoPoly) = evaluate([x],op)
which returns an Array of dimensions (length(x),op.deg+1)
.
n
is the degree of the univariate basis polynomiallength(x) = N
, whereN
is the number of points(a,b)
are the recursion coefficients
Multivariate
evaluate(n::AbstractVector{<:Int},x::AbstractMatrix{<:Real},a::Vector{<:AbstractVector{<:Real}},b::Vector{<:AbstractVector{<:Real}})
evaluate(n::AbstractVector{<:Int},x::AbstractVector{<:Real},a::Vector{<:AbstractVector{<:Real}},b::Vector{<:AbstractVector{<:Real}})
evaluate(n::AbstractVector{<:Int},x::AbstractMatrix{<:Real},op::MultiOrthoPoly)
evaluate(n::AbstractVector{<:Int},x::AbstractVector{<:Real},op::MultiOrthoPoly)
Evaluate the n-th p-variate basis polynomial at point(s) x The function is multiply dispatched to facilitate its use with the composite type MultiOrthoPoly
If several basis polynomials are to be evaluated at points x
, then call
evaluate(ind::AbstractMatrix{<:Int},x::AbstractMatrix{<:Real},a::Vector{<:AbstractVector{<:Real}},b::Vector{<:AbstractVector{<:Real}})
evaluate(ind::AbstractMatrix{<:Int},x::AbstractMatrix{<:Real},op::MultiOrthoPoly)
where ind
is a matrix of multi-indices.
If all basis polynomials are to be evaluated at points x
, then call
evaluate(x::AbstractMatrix{<:Real},mop::MultiOrthoPoly) = evaluate(mop.ind,x,mop)
which returns an array of dimensions (mop.dim,size(x,1))
.
n
is a multi-indexlength(n) == p
, i.e. a p-variate basis polynomialsize(x) = (N,p)
, whereN
is the number of pointssize(a)==size(b)=p
.
Scalar Products
PolyChaos.computeSP2
— FunctioncomputeSP2(n::Int,β::AbstractVector{<:Real})
computeSP2(n::Int,op::AbstractOrthoPoly) = computeSP2(n,op.β)
computeSP2(op::AbstractOrthoPoly) = computeSP2(op.deg,op.β)
Computes the n
regular scalar products aka 2-norms of the orthogonal polynomials, namely
\[\|ϕ_i\|^2 = \langle \phi_i,\phi_i\rangle \quad \forall i \in \{ 0,\dots,n \}.\]
Notice that only the values of β
of the recurrence coefficients (α,β)
are required. The computation is based on equation (1.3.7) from Gautschi, W. "Orthogonal Polynomials: Computation and Approximation". Whenever there exists an analytic expressions for β
, this function should be used.
The function is multiply dispatched to facilitate its use with AbstractOrthoPoly
.
PolyChaos.computeSP
— FunctionUnivariate
computeSP(a::AbstractVector{<:Int},α::AbstractVector{<:Real},β::AbstractVector{<:Real},nodes::AbstractVector{<:Real},weights::AbstractVector{<:Real};issymmetric::Bool=false)
computeSP(a::AbstractVector{<:Int},op::AbstractOrthoPoly;issymmetric=issymmetric(op))
Multivariate
computeSP( a::AbstractVector{<:Int},
α::AbstractVector{<:AbstractVector{<:Real}},β::AbstractVector{<:AbstractVector{<:Real}},
nodes::AbstractVector{<:AbstractVector{<:Real}},weights::AbstractVector{<:AbstractVector{<:Real}},
ind::Matrix{<:Int};
issymmetric::BitArray=falses(length(α)))
computeSP(a::AbstractVector{<:Int},op::AbstractVector,ind::Matrix{<:Int})
computeSP(a::AbstractVector{<:Int},mOP::MultiOrthoPoly)
Computes the scalar product
\[\langle \phi_{a_1},\phi_{a_2},\cdots,\phi_{a_n} \rangle,\]
where n = length(a)
. This requires to provide the recurrence coefficients (α,β)
and the quadrature rule (nodes,weights)
, as well as the multi-index ind
. If provided via the keyword issymmetric
, symmetry of the weight function is exploited. All computations of the multivariate scalar products resort back to efficient computations of the univariate scalar products. Mathematically, this follows from Fubini's theorem.
The function is dispatched to facilitate its use with AbstractOrthoPoly
and its quadrature rule Quad
.
- Zero entries of $a$ are removed automatically to simplify computations, which follows from
\[\langle \phi_i, \phi_j, \phi_0,\cdots,\phi_0 \rangle = \langle \phi_i, \phi_j \rangle,\]
because \phi_0 = 1
.
- It is checked whether enough quadrature points are supplied to solve the integral exactly.
Quadrature Rules
PolyChaos.fejer
— Functionfejer(N::Int)
Fejer's first quadrature rule.
PolyChaos.fejer2
— Functionfejer2(n::Int)
Fejer's second quadrature rule according to Waldvogel, J. Bit Numer Math (2006) 46: 195.
PolyChaos.clenshaw_curtis
— Functionclenshaw_curtis(n::Int)
Clenshaw-Curtis quadrature according to Waldvogel, J. Bit Numer Math (2006) 46: 195.
PolyChaos.quadgp
— Functionquadgp(weight::Function,lb::Real,ub::Real,N::Int=10;quadrature::Function=clenshaw_curtis,bnd::Float64=Inf)
general purpose quadrature based on Gautschi, "Orthogonal Polynomials: Computation and Approximation", Section 2.2.2, pp. 93-95
Compute the N
-point quadrature rule for weight
with support (lb
, ub
). The quadrature rule can be specified by the keyword quadrature
. The keyword bnd
sets the numerical value for infinity.
PolyChaos.gauss
— Functiongauss(N::Int,α::AbstractVector{<:Real},β::AbstractVector{<:Real})
gauss(α::AbstractVector{<:Real},β::AbstractVector{<:Real})
gauss(N::Int,op::Union{OrthoPoly,AbstractCanonicalOrthoPoly})
gauss(op::Union{OrthoPoly,AbstractCanonicalOrthoPoly})
Gauss quadrature rule, also known as Golub-Welsch algorithm
gauss()
generates the N
Gauss quadrature nodes and weights for a given weight function. The weight function is represented by the N
recurrence coefficients for the monic polynomials orthogonal with respect to the weight function.
The function gauss
accepts at most N = length(α) - 1
quadrature points, hence providing at most an (length(α) - 1)
-point quadrature rule.
If no N
is provided, then N = length(α) - 1
.
PolyChaos.radau
— Functionradau(N::Int,α::AbstractVector{<:Real},β::AbstractVector{<:Real},end0::Real)
radau(α::AbstractVector{<:Real},β::AbstractVector{<:Real},end0::Real)
radau(N::Int,op::Union{OrthoPoly,AbstractCanonicalOrthoPoly},end0::Real)
radau(op::Union{OrthoPoly,AbstractCanonicalOrthoPoly},end0::Real)
Gauss-Radau quadrature rule. Given a weight function encoded by the recurrence coefficients (α,β)
for the associated orthogonal polynomials, the function generates the nodes and weights (N+1)
-point Gauss-Radau quadrature rule for the weight function having a prescribed node end0
(typically at one of the end points of the support interval of w, or outside thereof).
The function radau
accepts at most N = length(α) - 2
as an input, hence providing at most an (length(α) - 1)
-point quadrature rule.
Reference: OPQ: A MATLAB SUITE OF PROGRAMS FOR GENERATING ORTHOGONAL POLYNOMIALS AND RELATED QUADRATURE RULES by Walter Gautschi
PolyChaos.lobatto
— Functionlobatto(N::Int,α::AbstractVector{<:Real},β::AbstractVector{<:Real},endl::Real,endr::Real)
lobatto(α::AbstractVector{<:Real},β::AbstractVector{<:Real},endl::Real,endr::Real)
lobatto(N::Int,op::Union{OrthoPoly,AbstractCanonicalOrthoPoly},endl::Real,endr::Real)
lobatto(op::Union{OrthoPoly,AbstractCanonicalOrthoPoly},endl::Real,endr::Real)
Gauss-Lobatto quadrature rule. Given a weight function encoded by the recurrence coefficients for the associated orthogonal polynomials, the function generates the nodes and weights of the (N+2)
-point Gauss-Lobatto quadrature rule for the weight function, having two prescribed nodes endl
, endr
(typically the left and right end points of the support interval, or points to the left resp. to the right thereof).
The function radau
accepts at most N = length(α) - 3
as an input, hence providing at most an (length(α) - 1)
-point quadrature rule.
Reference: OPQ: A MATLAB SUITE OF PROGRAMS FOR GENERATING ORTHOGONAL POLYNOMIALS AND RELATED QUADRATURE RULES by Walter Gautschi
Polynomial Chaos
Statistics.mean
— FunctionUnivariate
mean(x::AbstractVector,op::AbstractOrthoPoly)
Multivariate
mean(x::AbstractVector,mop::MultiOrthoPoly)
compute mean of random variable with PCE x
Statistics.var
— FunctionUnivariate
var(x::AbstractVector,op::AbstractOrthoPoly)
var(x::AbstractVector,t2::Tensor)
Multivariate
var(x::AbstractVector,mop::MultiOrthoPoly)
var(x::AbstractVector,t2::Tensor)
compute variance of random variable with PCE x
Statistics.std
— FunctionUnivariate
std(x::AbstractVector,op::AbstractOrthoPoly)
Multivariate
std(x::AbstractVector,mop::MultiOrthoPoly)
compute standard deviation of random variable with PCE x
PolyChaos.sampleMeasure
— FunctionUnivariate
sampleMeasure(n::Int,name::String,w::Function,dom::Tuple{<:Real,<:Real},symm::Bool,d::Dict;method::String="adaptiverejection")
sampleMeasure(n::Int,m::Measure;method::String="adaptiverejection")
sampleMeasure(n::Int,op::AbstractOrthoPoly;method::String="adaptiverejection")
Draw n
samples from the measure m
described by its
name
- weight function
w
, - domain
dom
, - symmetry property
symm
, - and, if applicable, parameters stored in the dictionary
d
.
By default an adaptive rejection sampling method is used (from AdaptiveRejectionSampling.jl), unless it is a common random variable for which Distributions.jl is used.
The function is dispatched to accept AbstractOrthoPoly
.
Multivariate
sampleMeasure(n::Int,m::ProductMeasure;method::Vector{String}=["adaptiverejection" for i=1:length(m.name)])
sampleMeasure(n::Int,mop::MultiOrthoPoly;method::Vector{String}=["adaptiverejection" for i=1:length(mop.meas.name)])
Multivariate extension which provides array of samples with n
rows and as many columns as the multimeasure has univariate measures.
PolyChaos.evaluatePCE
— FunctionevaluatePCE(x::AbstractVector{<:Real},ξ::AbstractVector{<:Real},α::AbstractVector{<:Real},β::AbstractVector{<:Real})
Evaluation of polynomial chaos expansion
\[\mathsf{x} = \sum_{i=0}^{L} x_i \phi_i{\xi_j},\]
where L+1 = length(x)
and $x_j$ is the $j$th sample where $j=1,\dots,m$ with m = length(ξ)
.
PolyChaos.samplePCE
— FunctionUnivariate
samplePCE(n::Int,x::AbstractVector{<:Real},op::AbstractOrthoPoly;method::String="adaptiverejection")
Combines sampleMeasure
and evaluatePCE
, i.e. it first draws n
samples from the measure, then evaluates the PCE for those samples.
Multivariate
samplePCE(n::Int,x::AbstractVector{<:Real},mop::MultiOrthoPoly;method::Vector{String}=["adaptiverejection" for i=1:length(mop.meas.name)])
PolyChaos.calculateAffinePCE
— FunctioncalculateAffinePCE(α::AbstractVector{<:Real})
Computes the affine PCE coefficients $x_0$ and $x_1$ from recurrence coefficients $lpha$.
PolyChaos.convert2affinePCE
— Functionconvert2affinePCE(mu::Real, sigma::Real, op::AbstractCanonicalOrthoPoly; kind::String)
Computes the affine PCE coefficients $x_0$ and $x_1$ from
\[X = a_1 + a_2 \Xi = x_0 + x_1 \phi_1(\Xi),\]
where $\phi_1(t) = t-\alpha_0$ is the first-order monic basis polynomial.
Works for subtypes of AbstractCanonicalOrthoPoly. The keyword kind in ["lbub", "μσ"]
specifies whether p1
and p2
have the meaning of lower/upper bounds or mean/standard deviation.
Auxiliary Functions
PolyChaos.nw
— Functionnw(q::EmptyQuad)
nw(q::AbstractQuad)
nw(opq::AbstractOrthoPoly)
nw(opq::AbstractVector)
nw(mop::MultiOrthoPoly)
returns nodes and weights in matrix form
PolyChaos.coeffs
— Functioncoeffs(op::AbstractOrthoPoly)
coeffs(op::AbstractVector)
coeffs(mop::MultiOrthoPoly)
returns recurrence coefficients of in matrix form
Missing docstring for integrate
. Check Documenter's build log for details.
LinearAlgebra.issymmetric
— Functionissymmetric(m::AbstractMeasure)
issymmetric(op::AbstractOrthoPoly)
Is the measure symmetric (around any point in the domain)?