The purpose of these definitions is to let the import of sicmutils.env bring all the functions in the book into scope without qualification, so you can just start working with examples.
The purpose of these definitions is to let the import of sicmutils.env bring all the functions in the book into scope without qualification, so you can just start working with examples.
(* & args)
(+ & args)
(- & args)
Converts an S-expression to printable infix form. Numeric exponents are written as superscripts. Partial derivatives get subscripts.
Converts an S-expression to printable infix form. Numeric exponents are written as superscripts. Partial derivatives get subscripts.
(/ & args)
(angle a)
(basis->basis-over-map mu:N->M basis-on-M)
(basis->oneform-basis b)
Extract the dual basis from the given basis object.
Extract the dual basis from the given basis object.
(basis->vector-basis b)
Extract the vector basis from the given basis object.
Extract the vector basis from the given basis object.
(Cartan-transform cartan basis-prime)
(chart coordinate-system)
(Christoffel->Cartan Christoffel)
(commutator o p)
(compatible-shape s)
Return an object compatible for multiplication with the given one, with the slots filled with gensyms.
Return an object compatible for multiplication with the given one, with the slots filled with gensyms.
(complex re)
(complex re im)
Construct a complex number from real, or real and imaginary, components.
Construct a complex number from real, or real and imaginary, components.
(component & indices)
Given an access chain (a sequence of indices), return a function of structures that will retrieve that corresponding element.
Given an access chain (a sequence of indices), return a function of structures that will retrieve that corresponding element.
(components->oneform-field components coordinate-system & [name])
(components->vector-field components coordinate-system & [name])
(compose & fns)
Compose is like Clojure's standard comp, but for this system we like to know the arity of our functions, so that we can calculate their derivatives with structure, etc. The arity of a composition is simply the arity of its rightmost (that is, first to be applied) function term.
Compose is like Clojure's standard comp, but for this system we like to know the arity of our functions, so that we can calculate their derivatives with structure, etc. The arity of a composition is simply the arity of its rightmost (that is, first to be applied) function term.
(conjugate a)
(coordinate local)
A convenience function on local tuples. A local tuple describes the state of a system at a particular time: [t, q, D q, D^2 q] representing time, position, velocity (and optionally acceleration etc.) Returns the q element, which is expected to be a mapping from time to a structure of coordinates
A convenience function on local tuples. A local tuple describes the state of a system at a particular time: [t, q, D q, D^2 q] representing time, position, velocity (and optionally acceleration etc.) Returns the q element, which is expected to be a mapping from time to a structure of coordinates
(coordinate-system->basis coordinate-system)
Return the standard basis object for the coordinate system.
Return the standard basis object for the coordinate system.
(coordinate-system->oneform-basis coordinate-system)
(coordinate-system->vector-basis coordinate-system)
(coordinate-tuple & xs)
(coordinatize v coordinate-system)
(covariant-derivative Cartan)
(covariant-derivative Cartan map)
Derivative operator. Produces a function whose value at some point can multiply an increment in the arguments, to produce the best linear estimate of the increment in the function value.
Derivative operator. Produces a function whose value at some point can multiply an increment in the arguments, to produce the best linear estimate of the increment in the function value.
(definite-integral f
a
b
&
{:keys [compile method max-evaluations relative-accuracy
absolute-accuracy min-iterations max-iterations
points]
:or {compile false
method :romberg
max-evaluations 32768
relative-accuracy 1.0E-6
absolute-accuracy 1.0E-15
min-iterations 3
max-iterations 32
points 16}})
(down & xs)
Construct a down (covariant) tuple from the arguments.
Construct a down (covariant) tuple from the arguments.
(elliptic-f phi k)
(Euler-Lagrange-operator L)
(evolution order)
We can use the coordinatized vector field to build an evolution along an integral curve.
We can use the coordinatized vector field to build an evolution along an integral curve.
(evolve state-derivative & state-derivative-args)
evolve takes a state derivative function constructor and its arguments, and returns an integrator via make-integrator. In particular, the returned function accepts a callback function which will be invoked at intermediate grid points of the integration.
evolve takes a state derivative function constructor and its arguments, and returns an integrator via make-integrator. In particular, the returned function accepts a callback function which will be invoked at intermediate grid points of the integration.
(F->C F)
(F->CT F)
A transformation of configuration coordinates F to a procedure implementing a transformation of phase-space coordinates (p. 320)
A transformation of configuration coordinates F to a procedure implementing a transformation of phase-space coordinates (p. 320)
(find-path Lagrangian t0 q0 t1 q1 n & {:keys [observe]})
SICM p. 23. The optional parameter values is a callback which will report intermediate points of the minimization.
SICM p. 23. The optional parameter values is a callback which will report intermediate points of the minimization.
(form-field->form-field-over-map mu:N->M)
(Gamma q)
(Gamma q n)
Gamma takes a path function (from time to coordinates) to a state function (from time to local tuple).
Gamma takes a path function (from time to coordinates) to a state function (from time to local tuple).
(Gamma-bar f)
(Hamilton-equations Hamiltonian)
(Hamiltonian & n)
Return SICM-style function signature for a Hamiltonian with n degrees of freedom (or 1 if n is not given). Useful for constructing Hamiltonian literal functions.
Return SICM-style function signature for a Hamiltonian with n degrees of freedom (or 1 if n is not given). Useful for constructing Hamiltonian literal functions.
(Hamiltonian->state-derivative Hamiltonian)
(imag-part a)
(integrate-state-derivative state-derivative
state-derivative-args
initial-state
t1
dt)
A wrapper for evolve, which is more convenient when you just want a vector of (time, state) pairs over the integration interval instead of having to deal with a callback. Integrates the supplied state derivative (and its argument package) from [0 to t1] in steps of size dt
A wrapper for evolve, which is more convenient when you just want a vector of (time, state) pairs over the integration interval instead of having to deal with a callback. Integrates the supplied state derivative (and its argument package) from [0 to t1] in steps of size dt
(interior-product V)
(iterated-map f n)
f is a function of (x y continue fail), which calls continue with the values of x' y' that follow x y in the mapping. Returns a map of the same shape that iterates the iterated map n times before invoking the continuation, or invokes the fail continuation if the inner map fails.
f is a function of (x y continue fail), which calls continue with the values of x' y' that follow x y in the mapping. Returns a map of the same shape that iterates the iterated map n times before invoking the continuation, or invokes the fail continuation if the inner map fails.
(Jacobian to-basis from-basis)
Compute the Jacobian of transition from from-basis to to-basis.
Compute the Jacobian of transition from from-basis to to-basis.
(Lagrange-equations Lagrangian)
(Lagrange-equations-first-order L)
(Lagrange-interpolation-function ys xs)
(Lagrangian->energy L)
(Lagrangian->state-derivative L)
The state derivative of a Lagrangian is a function carrying a state tuple to its time derivative.
The state derivative of a Lagrangian is a function carrying a state tuple to its time derivative.
(Lagrangian-action L q t1 t2)
(let-coordinates bindings & body)
Example: (let-coordinates [[x y] R2-rect [r theta] R2-polar] body...)
Example: (let-coordinates [[x y] R2-rect [r theta] R2-polar] body...)
(linear-interpolants x0 x1 n)
(literal-function f)
(literal-function f sicm-signature)
(literal-function f domain range)
(literal-manifold-function name coordinate-system)
(literal-manifold-map name source target)
(literal-oneform-field name coordinate-system)
(literal-vector-field name coordinate-system)
(m->s ls m rs)
Convert the matrix m into a structure S, guided by the requirement that (* ls S rs) should be a scalar
Convert the matrix m into a structure S, guided by the requirement that (* ls S rs) should be a scalar
(make-Christoffel symbols basis)
(mapr f & structures)
Return a structure with the same shape as s but with f applied to each primitive (that is, not structural) component.
Return a structure with the same shape as s but with f applied to each primitive (that is, not structural) component.
(minimize f a b)
(minimize f a b observe)
Find the minimum of the function f: R -> R in the interval [a,b]. If observe is supplied, will be invoked with the iteration count and the values of x and f(x) at each search step.
Find the minimum of the function f: R -> R in the interval [a,b]. If observe is supplied, will be invoked with the iteration count and the values of x and f(x) at each search step.
(momentum H-state)
See coordinate: this returns the momentum element of a Hammilton state tuple (by convention, the element at index 2).
See coordinate: this returns the momentum element of a Hammilton state tuple (by convention, the element at index 2).
(momentum-tuple & ps)
(orientation s)
Return the orientation of s, either ::up or ::down.
Return the orientation of s, either ::up or ::down.
(osculating-path state0)
Given a state tuple (of finite length), reconstitutes the initial segment of the Taylor series corresponding to the state tuple data as a function of t. Time is measured beginning at the point of time specified in the input state tuple.
Given a state tuple (of finite length), reconstitutes the initial segment of the Taylor series corresponding to the state tuple data as a function of t. Time is measured beginning at the point of time specified in the input state tuple.
(p->r [_ [r φ]])
SICM p. 47. Polar to rectangular coordinates of state.
SICM p. 47. Polar to rectangular coordinates of state.
(partial & selectors)
A shim. Dispatches to partial differentiation when all the arguments are integers; falls back to the core meaning (partial function application) otherwise.
A shim. Dispatches to partial differentiation when all the arguments are integers; falls back to the core meaning (partial function application) otherwise.
(point coordinate-system)
(Poisson-bracket f g)
(pullback mu:N->M)
(pullback mu:N->M mu-inverse:M->N)
(pushforward-vector mu:N->M mu-inverse:M->N)
(real-part a)
(ref a & as)
A shim so that ref can act like nth in SICM contexts, as clojure core ref elsewhere.
A shim so that ref can act like nth in SICM contexts, as clojure core ref elsewhere.
(Rx α)
Returns a function which rotates a vector α radians about the x axis.
Returns a function which rotates a vector α radians about the x axis.
(Ry α)
Returns a function which rotates a vector α radians about the y axis.
Returns a function which rotates a vector α radians about the y axis.
(Rz α)
Returns a function which rotates a vector α radians about the z axis.
Returns a function which rotates a vector α radians about the z axis.
(s->m ls ms rs)
Convert the structure ms, which would be a scalar if the (compatible) multiplication (* ls ms rs) were performed, to a matrix.
Convert the structure ms, which would be a scalar if the (compatible) multiplication (* ls ms rs) were performed, to a matrix.
(sicmutils-repl-init)
(standard-map K)
(state->t s)
Extract the time slot from a state tuple
Extract the time slot from a state tuple
(state-advancer state-derivative & state-derivative-args)
state-advancer takes a state derivative function constructor followed by the arguments to construct it with. The state derivative function is constructed and an integrator is produced which takes the initial state, target time, and error tolerance as arguments. The final state is returned. The state derivative is expected to map a structure to a structure of the same shape, and is required to have the time parameter as the first element.
state-advancer takes a state derivative function constructor followed by the arguments to construct it with. The state derivative function is constructed and an integrator is produced which takes the initial state, target time, and error tolerance as arguments. The final state is returned. The state derivative is expected to map a structure to a structure of the same shape, and is required to have the time parameter as the first element.
(structure->vector s)
Return the structure in unoriented vector form.
Return the structure in unoriented vector form.
(symplectic-unit n)
p. 334 (used, but not defined there)
p. 334 (used, but not defined there)
(tex$ expr)
Render expression in a form convenient for rendering with clojupyter. In this case, we want the TeX material wrapped with dollar signs.
Render expression in a form convenient for rendering with clojupyter. In this case, we want the TeX material wrapped with dollar signs.
(tex$$ expr)
Render expression in a form convenient for rendering with clojupyter. In this case, we want the TeX material wrapped with dollar signs.
Render expression in a form convenient for rendering with clojupyter. In this case, we want the TeX material wrapped with dollar signs.
(up & xs)
Construct an up (contravariant) tuple from the arguments.
Construct an up (contravariant) tuple from the arguments.
(using-coordinates coordinate-prototype coordinate-system & body)
Example: (using-coordinates (up x y) R2-rect body...)
Note: this is just a macro wrapping let-coordinates, the use of which is preferred.
Example: (using-coordinates (up x y) R2-rect body...) Note: this is just a macro wrapping let-coordinates, the use of which is preferred.
(vector->down v)
Form a down-tuple from a vector.
Form a down-tuple from a vector.
(vector->up v)
Form an up-tuple from a vector.
Form an up-tuple from a vector.
(vector-basis->dual vector-basis coordinate-system)
(vector-field->components vf coordinate-system)
(vector-field->vector-field-over-map mu:N->M)
FDG p.72
FDG p.72
(velocity local)
See coordinate: this returns the velocity element of a local tuple (by convention, the 2nd element).
See coordinate: this returns the velocity element of a local tuple (by convention, the 2nd element).
(wedge & fs)
(with-literal-functions & args)
(∂ & selectors)
Partial differentiation of a function at the (zero-based) slot index provided.
Partial differentiation of a function at the (zero-based) slot index provided.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close