Temporally Coupled Dynamical Movement Primitives in Cartesian Space

Total Page:16

File Type:pdf, Size:1020Kb

Temporally Coupled Dynamical Movement Primitives in Cartesian Space Temporally Coupled Dynamical Movement Primitives in Cartesian Space Martin Karlsson* Anders Robertsson Rolf Johansson Abstract— Control of robot orientation in Cartesian space implicates some difficulties, because the rotation group SO(3) is not contractible, and only globally contractible state spaces support continuous and globally asymptotically stable feedback control systems. In this paper, unit quaternions are used to rep- resent orientations, and it is first shown that the unit quaternion set minus one single point is contractible. This is used to design a control system for temporally coupled dynamical movement primitives (DMPs) in Cartesian space. The functionality of the control system is verified experimentally on an industrial robot. I. INTRODUCTION Industrial robots typically work well for tasks where accurate position control is sufficient, and where work spaces and robot programs have been carefully prepared, so that Fig. 1: The ABB YuMi robot [16] used in the experiments. hardware configurations can be foreseen a priori by robot programmers in each step of the tasks. Such preparation is very time consuming, and introduces high costs in terms of made practically realizable in [13], and proven exponentially engineering work. Further, the arrangements are sensitive to stable in [14]. However, these previous results are applicable variations, e.g., uncertainties in work object positions, small only if the robot state space is Euclidean, which is not true differences between individual work objects, etc. This has for orientation in Cartesian space. Higher levels of robot prohibited the automation of a range of tasks, including control typically operate in Cartesian space, for instance to seemingly repetitive ones such as assembly tasks and short- control the pose of a robot end-effector or an unmanned series production. aerial vehicle. It would therefore be beneficial if the capabilities of In this paper, we therefore address the question of whether robots to adapt to their surroundings could be improved. the control algorithm in [13] could be extended also to The framework of dynamical movement primitives (DMPs), incorporate orientations. Because a contractible state space used to model robot movement, has an emphasis on such is necessary for design and analysis of a continuous globally adaptability [1]. For instance, the time scale and goal position asymptotically stable control law (see Sec. II), we first of a movement can be adjusted through one parameter each. investigate the contractibility properties of the quaternion The fundamentals of DMPs have been described in [1], and set used to represent orientations. A space is contractible earlier versions have been introduced in [2], [3], [4]. DMPs if and only if it is homotopy equivalent to a one-point space have been used to modify robot movement based on moving [15], which intuitively means that the space can be deformed arXiv:1905.11176v1 [cs.RO] 27 May 2019 targets in the context of object handover [5], and based continuously to a single point; see, e.g., [15] for a definition on demonstrations by humans [6], [7], [8], [9]. In most of of homotopy equivalence. the previous research, it has been assumed that the robot configuration space is a real coordinate space, such as joint space or Cartesian position space; see, e.g., [5], [6], [8], [10], A. Contribution [11]. However, in [12] DMPs were formulated for orientation This paper provides a control algorithm for DMPs with in Cartesian space. temporal coupling in Cartesian space. It extends our previous Temporal coupling for DMPs enables robots to recover research in [13], [14] by including orientation in Cartesian from unforeseen events, such as disturbances or detours space. Equivalently, it extends [12] by including temporal based on sensor data. This concept was introduced in [1], was coupling. Furthermore, it is shown that the quaternion set * The authors work at the Department of Automatic Control, Lund minus one single point is contractible, which is a necessary University, PO Box 118, SE-221 00 Lund, Sweden. property for design of a continuous and globally asymptoti- [email protected] cally stable control algorithm. Finally, the theoretical results The research leading to these results has received funding from the Vinnova project Kirurgens Perspektiv. The authors are members of the LCCC are verified experimentally on an ABB YuMi robot; see Linnaeus Center and the ELLIIT Excellence Center at Lund University. Fig. 1 and [16]. TABLE I: Notation used in this paper. All quaternions a restriction of f. Since a restriction of a homeomorphism represent orientations and are therefore of unit length. For is also a homeomorphism [23], f2 is a homeomorphism, and such quaternions, the inverse is the same as the conjugate. hence X n p =∼ Y n f(p). Notation Description We will also use that homeomorphism preserves con- H Unit quaternion set tractibility. n n+1 S 2 R Unit sphere of dimension n ∼ 3 Lemma 3: If X = Y , and X is contractible, then Y is ya 2 R Actual robot position 3 g 2 R Goal position also contractible. 3 yc 2 R Coupled robot position Proof: Since X =∼ Y , they are homotopy equivalent qa 2 H Actual robot orientation according to Lemma 1. In turn, X is contractible and qg 2 H Goal orientation qc 2 H Coupled robot orientation therefore homotopy equivalent to a one-point space. Hence 3 !c 2 R Coupled angular velocity Y is also homotopy equivalent to a one-point space, and q0 2 H Initial robot orientation therefore contractible. h Quaternion difference space dcg 2 h Difference between qc and qg 3 B. The quaternion set minus one point is contractible z; !z 2 R DMP states + αz; βz; kv; kp 2 R Constant control coefficients n + First, it will be shown that the unit sphere (see τ 2 R Nominal DMP time constant S + τa 2 R Adaptive time parameter Definition 1) minus a point is contractible. This will then + 3 x 2 R Phase variable be applied to H, which is homeomorphic to S [24]. + αx; αe; kc 2 R Positive constants 6 Definition 1: Let n be a non-negative integer. The unit f(x) 2 R Learnable virtual forcing term 3 sphere with dimension n is defined as fp(x); fo(x) 2 R Position and orientation components + Nb 2 Z Number of basis functions n n+1 6 = p 2 j kpk = 1 Ψj (x) 2 R The j:th basis function vector S R 2 (1) 6 n n wj 2 R The j:th weight vector Theorem 1: The unit sphere minus a point p 2 , 3 S S e 2 R × h Low-pass filtered pose error denoted n n p, is contractible. e 2 3 Position component of e S p R Proof: n ≥ 1 eo 2 h Orientation component of e Consider first the case . There exists a 3 n n y¨r; !_ r 2 R Reference robot acceleration mapping from S n p to R called stereographic projection 22 3 ξ 2 R × h DMP state vector from p, which is a homeomorphism. Thus, Sn np =∼ Rn [25], q¯ 2 H Inverse of quaternion q n ' Homotopy equivalence [18]. See Fig. 2 for a visualization of these spaces. Since R =∼ Homeomorphic relation is a Euclidean space it is contractible, and it follows from Lemma 3 that Sn n p is also contractible. Consider now the case n = 0. The sphere S0 consists of the pair of points {−1; 1g according to Definition 1. Thus II. A CONTRACTIBLE SUBSET S0 n p consists of one point only, and homotopy equivalence OF THE UNIT QUATERNION SET with a one-point space is trivial. Hence S0 np is contractible. The fundamentals of mathematical topology and set theory are described in, e.g., [15], [17], [18]. As noted in [19], the Remark 1: Albeit we consider unit spheres in this paper, rotation group SO(3) is not contractible, and therefore it is it is not necessary to assume radius 1 in Theorem 1. Further, not possible for any continuous state-feedback control law it is arbitrary which point p 2 Sn to remove. to yield a globally asymptotically stable equilibrium point in Theorem 2: The set of unit quaternions H minus a point SO(3) [20], [21]. Contractibility is also necessary to apply the q~ 2 H, denoted H n q~, is contractible. contraction theory from [22], as done in [14]. In this paper, Proof: The set H is homeomorphic to S3 [24]. There- unit quaternions are used to parameterize SO(3). Similarly to fore H n q~ =∼ S3 n p for some point p 2 S3, according SO(3), the unit quaternion set, H, is not contractible. In this to Lemma 2. Theorem 1 with n = 3 yields that S3 n p section however, is is shown that it is sufficient to remove is contractible, and because of the homeomorphic relation, one point from H to yield a contractible space. Table I lists Lemma 3 yields that H n q~ is also contractible. some of the notation used in this paper. It is noteworthy that the contractible subset H n q~ is the largest possible subset of , because one point is the smallest A. Preliminary topology H possible subset to remove. Hence, it is guaranteed that no un- We will use that homeomorphism (defined in, e.g., [17]) necessary restriction is made in Theorem 2, though there are is a stronger relation than homotopy equivalence. other, more limited, subsets of H that are also contractible. Lemma 1: If two spaces X and Y are homeomorphic, Sometimes only half of H, for instance the upper half of then they are homotopy equivalent. the quaternion hypersphere, is used to represent orientations.
Recommended publications
  • Real Composition Algebras by Steven Clanton
    Real Composition Algebras by Steven Clanton A Thesis Submitted to the Faculty of The Wilkes Honors College in Partial Fulfillment of the Requirements for the Degree of Bachelor of Arts in Liberal Arts and Sciences with a Concentration in Mathematics Wilkes Honors College of Florida Atlantic University Jupiter, FL May 2009 Real Composition Algebras by Steven Clanton This thesis was prepared under the direction of the candidates thesis advisor, Dr. Ryan Karr, and has been approved by the members of his supervisory committee. It was sub- mitted to the faculty of The Honors College and was accepted in partial fulfillment of the requirements for the degree of Bachelor of Arts in Liberal Arts and Sciences. SUPERVISORY COMMITTEE: Dr. Ryan Karr Dr. Eugene Belogay Dean, Wilkes Honors College Date ii Abstract Author: Steve Clanton Title: Real Composition Algebras Institution: Wilkes Honors College of Florida Atlantic University Thesis Advisor: Dr. Ryan Karr Degree: Bachelor of Arts in Liberal Arts and Sciences Concentration: Mathematics Year: 2009 According to Koecher and Remmert [Ebb91, p. 267], Gauss introduced the \com- position of quadratic forms" to study the representability of natural numbers in binary (rank 2) quadratic forms. In particular, Gauss proved that any positive defi- nite binary quadratic form can be linearly transformed into the two-squares formula 2 2 2 2 2 2 w1 + w2 = (u1 + u2)(v1 + v2). This shows not only the existence of an algebra for every form but also an isomorphism to the complex numbers for each. Hurwitz gen- eralized the \theory of composition" to arbitrary dimensions and showed that exactly four such systems exist: the real numbers, the complex numbers, the quaternions, and octonions [CS03, p.
    [Show full text]
  • Module 2 : Fundamentals of Vector Spaces Section 2 : Vector Spaces
    Module 2 : Fundamentals of Vector Spaces Section 2 : Vector Spaces 2. Vector Spaces The concept of a vector space will now be formally introduced. This requires the concept of closure and field. Definition 1 (Closure) A set is said to be closed under an operation when any two elements of the set subject to the operation yields a third element belonging to the same set. Example 2 The set of integers is closed under addition, multiplication and subtraction. However, this set is not closed under division. Example 3 The set of real numbers ( ) and the set of complex numbers (C) are closed under addition, subtraction, multiplication and division. Definition 4 (Field) A field is a set of elements closed under addition, subtraction, multiplication and division. Example 5 The set of real numbers ( ) and the set of complex numbers ( ) are scalar fields. However, the set of integers is not a field. A vector space is a set of elements, which is closed under addition and scalar multiplication. Thus, associated with every vector space is a set of scalars (also called as scalar field or coefficient field) used to define scalar multiplication on the space. In functional analysis, the scalars will be always taken to be the set of real numbers ( ) or complex numbers ( ). Definition 6 (Vector Space): A vector space is a set of elements called vectors and scalar field together with two operations. The first operation is called addition which associates with any two vectors a vector , the sum of and . The second operation is called scalar multiplication, which associates with any vector and any scalar a vector (a scalar multiple of by Thus, when is a linear vector space, given any vectors and any scalars the element .
    [Show full text]
  • Euclidean Space - Wikipedia, the Free Encyclopedia Page 1 of 5
    Euclidean space - Wikipedia, the free encyclopedia Page 1 of 5 Euclidean space From Wikipedia, the free encyclopedia In mathematics, Euclidean space is the Euclidean plane and three-dimensional space of Euclidean geometry, as well as the generalizations of these notions to higher dimensions. The term “Euclidean” distinguishes these spaces from the curved spaces of non-Euclidean geometry and Einstein's general theory of relativity, and is named for the Greek mathematician Euclid of Alexandria. Classical Greek geometry defined the Euclidean plane and Euclidean three-dimensional space using certain postulates, while the other properties of these spaces were deduced as theorems. In modern mathematics, it is more common to define Euclidean space using Cartesian coordinates and the ideas of analytic geometry. This approach brings the tools of algebra and calculus to bear on questions of geometry, and Every point in three-dimensional has the advantage that it generalizes easily to Euclidean Euclidean space is determined by three spaces of more than three dimensions. coordinates. From the modern viewpoint, there is essentially only one Euclidean space of each dimension. In dimension one this is the real line; in dimension two it is the Cartesian plane; and in higher dimensions it is the real coordinate space with three or more real number coordinates. Thus a point in Euclidean space is a tuple of real numbers, and distances are defined using the Euclidean distance formula. Mathematicians often denote the n-dimensional Euclidean space by , or sometimes if they wish to emphasize its Euclidean nature. Euclidean spaces have finite dimension. Contents 1 Intuitive overview 2 Real coordinate space 3 Euclidean structure 4 Topology of Euclidean space 5 Generalizations 6 See also 7 References Intuitive overview One way to think of the Euclidean plane is as a set of points satisfying certain relationships, expressible in terms of distance and angle.
    [Show full text]
  • Math 20480 – Example Set 03A Determinant of a Square Matrices
    Math 20480 { Example Set 03A Determinant of A Square Matrices. Case: 2 × 2 Matrices. a b The determinant of A = is c d a b det(A) = jAj = = c d For matrices with size larger than 2, we need to use cofactor expansion to obtain its value. Case: 3 × 3 Matrices. 0 1 a11 a12 a13 a11 a12 a13 The determinant of A = @a21 a22 a23A is det(A) = jAj = a21 a22 a23 a31 a32 a33 a31 a32 a33 (Cofactor expansion along the 1st row) = a11 − a12 + a13 (Cofactor expansion along the 2nd row) = (Cofactor expansion along the 1st column) = (Cofactor expansion along the 2nd column) = Example 1: 1 1 2 ? 1 −2 −1 = 1 −1 1 1 Case: 4 × 4 Matrices. a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 a41 a42 a43 a44 (Cofactor expansion along the 1st row) = (Cofactor expansion along the 2nd column) = Example 2: 1 −2 −1 3 −1 2 0 −1 ? = 0 1 −2 2 3 −1 2 −3 2 Theorem 1: Let A be a square n × n matrix. Then the A has an inverse if and only if det(A) 6= 0. We call a matrix A with inverse a matrix. Theorem 2: Let A be a square n × n matrix and ~b be any n × 1 matrix. Then the equation A~x = ~b has a solution for ~x if and only if . Proof: Remark: If A is non-singular then the only solution of A~x = 0 is ~x = . 3 3. Without solving explicitly, determine if the following systems of equations have a unique solution.
    [Show full text]
  • Automatic Variational Inference in Stan
    Automatic Variational Inference in Stan Alp Kucukelbir Data Science Institute Department of Computer Science Columbia University [email protected] Rajesh Ranganath Department of Computer Science Princeton University [email protected] Andrew Gelman Data Science Institute Depts. of Political Science, Statistics Columbia University [email protected] David M. Blei Data Science Institute Depts. of Computer Science, Statistics Columbia University [email protected] June 15, 2015 Abstract Variational inference is a scalable technique for approximate Bayesian inference. Deriving variational inference algorithms requires tedious model-specific calculations; this makes it difficult to automate. We propose an automatic variational inference al- gorithm, automatic differentiation variational inference (advi). The user only provides a Bayesian model and a dataset; nothing else. We make no conjugacy assumptions and arXiv:1506.03431v2 [stat.ML] 12 Jun 2015 support a broad class of models. The algorithm automatically determines an appropri- ate variational family and optimizes the variational objective. We implement advi in Stan (code available now), a probabilistic programming framework. We compare advi to mcmc sampling across hierarchical generalized linear models, nonconjugate matrix factorization, and a mixture model. We train the mixture model on a quarter million images. With advi we can use variational inference on any model we write in Stan. 1 Introduction Bayesian inference is a powerful framework for analyzing data. We design
    [Show full text]
  • Copyrighted Material
    JWST582-IND JWST582-Ray Printer: Yet to Come September 7, 2015 10:27 Trim: 254mm × 178mm Index Adjoint Map and Left and Right Translations, 839–842, 845, 850–854, 857–858, 126 861–862, 880, 885, 906, 913–914, Admissible Virtual Space, 91, 125, 524, 925, 934, 950–953 560–561, 564, 722, 788, 790, 793 Scaling, 37, 137, 161, 164, 166, 249 affine combinations, 166 Translation, 33–34, 42–43, 75, 77, 92, 127, Affine Space, 33–34, 41, 43, 136–137, 139, 136–137, 155, 164, 166–167, 280, 155, 248, 280, 352–353, 355–356 334, 355–356, 373, 397, 421, 533, Affine Transformation 565, 793 Identity, 21–22, 39, 47, 60–61, 63–64, Algorithm For Newton Method of Iteration, 67–68, 70, 81, 90, 98–100, 104–106, 441 116, 125–126, 137, 255, 259, 268, Algorithm: Numerical Iteration, 445 331, 347, 362–363, 367, 372, 375, Allowable Parametric Representation, 37, 377, 380, 398, 538, 550, 559, 562, 140, 249 564–565, 568, 575–576, 581, 599, An Important Lemma, 89, 605, 839 609, 616, 622, 628, 648, 655, 663, Angle between Vectors, 259 668, 670, 730, 733, 788, 790, Angular Momentum, 523–524, 537–538, 543, 792–793, 797–798, 805–806, 547–549, 553–554, 556, 558, 575, 585, 811, 825, 834, 852, 862, 871–872, 591–592, 594, 608, 622, 640, 647–648, 916 722, 748, 750, 755–756, 759–760, 762, Rotation, 1, 6, 9–15, 17, 22, 27, 33, 36, 39, 769–770, 776, 778, 780–783, 787, 805, 44, 64, 74, 90–94, 97–101, 104–108, 815, 822, 828, 842 110, 112, 114–116, 118–121, Angular Velocity Tensor, 125, 127, 526, 542, 123–127, 131, 137, 165–166, 325, 550, 565, 571, 723, 794, 800 334, 336–337, 353, 356,
    [Show full text]
  • Redimensioning of Euclidean Spaces Arxiv:1307.7010V1 [Math.CA] 26 Jul
    Redimensioning of Euclidean Spaces Piyush Ahuja∗ Subiman Kunduy Abstract A vector space over a field F is a set V together with two binary operations, called vector n addition and scalar multiplication. It is standard practice to think of a Euclidean space R as an n-dimensional real coordinate space i.e. the space of all n-tuples of real numbers (Rn), with vector operations defined using real addition and multiplication coordinate-wise. A natural question which arises is if it is possible to redefine vector operations on the space in such a way that it acquires some other dimension, say k (over the same field i.e., R). In this paper, we answer the question in the affirmative, for all k 2 N. We achieve the required dimension k by `dragging' the structure of a standard k-dimensional Euclidean space (R ) on the n-tuple of real numbers (Rn). At the heart of the argument is Cantor's counterintuitive result that n R is numerically equivalent to R for all n 2 N, which can be proved through an elegant construction. Finally, we generalize the result to all finite dimensional vector spaces. Keywords. Vector Space, Euclidean Space, Numerical Equivalence, Dimension, Isomorphism 1 Introduction arXiv:1307.7010v1 [math.CA] 26 Jul 2013 An engineer, a physicist, and a mathematician are discussing how to visualise four dimensions: Engineer: I never really get it. Physicist: Oh it's really easy, just imagine three dimensional space over a time - that adds your fourth dimension. n Mathematician: No, it's way easier than that; just imagine R , then set n = 4.
    [Show full text]
  • Mathematics Curriculum
    New York State Common Core Mathematics Curriculum Table of Contents1 Vectors and Matrices PRECALCULUS AND ADVANCED TOPICS • MODULE 2 Module Overview ................................................................................................................................................. X Topic A: Networks and Matrices (N‐VM.6, N‐VM.7, N‐VM.8) ............................................................................. X Lesson 1: Introduction to Networks ........................................................................................................ X Lesson 2: Networks and Matrix Arithmetic ............................................................................................. X Lesson 3: Matrix Arithmetic in its Own Right .......................................................................................... X Topic B: Linear Transformations of Planes and Space (N‐VM.7, N‐VM.8, N‐VM.9, N‐VM.10, N‐VM.11, N‐VM.12) ............................................................................................................................................................... X Lesson 4: Linear Transformations Review ............................................................................................... X Lesson 5: Coordinates of Points in Space ................................................................................................ X Lesson 6: Linear Transformations as Matrices ........................................................................................ X Lesson 7: Linear Transformations
    [Show full text]
  • MATH 206 Linear Algebra I
    MATH 206 Linear Algebra I 1. Catalog Description MATH 206 Linear Algebra I 4 units Prerequisite: MATH 143. Systems of linear equations. Matrix algebra, including inverses and determinants. Vectors, vector spaces, bases and linear transformations in real coordinate space of n dimensions. Eigenvalues, eigenvectors and diagonalization. Applications of linear algebra. Introduction to inner products and orthogonality. 4 lectures. 2. Required Background or Experience Math 143 or consent of instructor. 3. Learning Objectives The student should be able to: a. Understand the concept of matrices and their role in linear algebra and applied mathematics. b. Have a complete understanding of linear systems Ax = b, and the role of rank, subspace, linear independence, etc. in the analysis of these systems. c. Understand eigenvalues and eigenvectors of matrices and their computation. d. Know the concept of determinant and its properties. e. Understand the concepts of vector space and linear maps when the vector space is Rn. f. Understand important definitions in linear algebra and the ability to do very elementary proofs. 4. Text and References To be chosen by instructor. Suggested texts include: • Lay, David C., Linear Algebra and its Applications • Bretscher, Otto, Linear Algebra with Applications 5. Minimum Student Materials Paper, pencils, and notebook. 2019/20 6. Minimum University Facilities Classroom with ample chalkboard space for class use. Use of a computer lab is optional. 7. Content and Method a. Systems of linear equations b. Matrix and vector operations c. Properties of Rn (linear combinations, bases, spanning set, dimensions, dimension equation) d. Coordinate systems and change of basis e. Determinants f. Eigenvalues and eigenvectors g.
    [Show full text]
  • Ethan D. Bloch
    ETHAN D. BLOCH Professor of Mathematics Bard College ! !Address: !Phone, Email, Website: Department of Mathematics 845-758-7266 Bard College [email protected] 30 Campus Road http://math.bard.edu/bloch/ Annandale-on-Hudson, NY 12504-5000 ! !Education: • 1983 Ph.D. (mathematics) Cornell University, Ithaca, NY • 1981 M.S. (mathematics) Cornell University, Ithaca, NY • 1978 B.A. (mathematics) Reed College, Portland, OR ! !Academic Positions: Bard College: • 2003 - 2007 Chair, Division of Science, Mathematics, & Computing • 2001 - Professor of Mathematics • 1993 - 1995 Associate Dean for Academic Services • 1991 - 2000 Associate Professor of Mathematics ! • 1986 - 1991 Assistant Professor of Mathematics Hebrew University of Jerusalem: ! • 2007 - 2008 Visiting Professor of Mathematics University of Utah: ! • 1983 - 1986 Instructor of Mathematics Cornell University: • 1978 - 1982 Teaching Assistant ! !Grants and Awards: • Asher Edelman Released-Time Fellow, Bard College, Fall 1988, Spring 1990, Fall 1992. • National Science Foundation Grant DMS-8503388, 7/85 - 12/87. • Hutchinson Fellowship, Cornell University, 1982 - 1983. ! !Memberships: American Mathematical Society, Phi Beta Kappa ! !Citizenship: !U.S.A. !1 ! Publications: ! Books: 1. A First Course in Geometric Topology and Differential Geometry, Birkhäuser, Boston, 1996. 2. Proofs and Fundamentals: A First Course in Abstract Mathematics, Birkhäuser, Boston, 2000. 3. Proofs and Fundamentals: A First Course in Abstract Mathematics, 2nd edition, Springer, New York, 2010. 4. The Real Numbers and Real Analysis, Springer, New York, 2011. ! Papers:! 1. (with R. Connelly and D. W. Henderson) The space of simplexwise linear homeomorphisms of a convex 2-disk, Topology 23 (1984), 161-175. 2. Simplexwise linear near-embeddings of a 2-disk into R2, Trans. Amer. Math. Soc.
    [Show full text]
  • Reference-Manual-2 19.Pdf
    Stan Reference Manual Version 2.19 Stan Development Team Contents Overview 7 Language 9 1. Character Encoding 10 1.1 Content Characters 10 1.2 Comment Characters 10 2. Includes 11 2.1 Recursive Includes 12 2.2 Include Paths 12 3. Comments 13 3.1 Line-Based Comments 13 3.2 Bracketed Comments 13 4. Whitespace 14 4.1 Whitespace Characters 14 4.2 Whitespace Neutrality 14 4.3 Whitespace Location 14 5. Data Types and Declarations 15 5.1 Overview of Data Types 15 5.2 Primitive Numerical Data Types 17 5.3 Univariate Data Types and Variable Declarations 18 5.4 Vector and Matrix Data Types 22 5.5 Array Data Types 29 5.6 Variable Types vs.Constraints and Sizes 34 5.7 Compound Variable Declaration and Definition 35 6. Expressions 37 6.1 Numeric Literals 37 6.2 Variables 38 2 CONTENTS 3 6.3 Vector, Matrix, and Array Expressions 40 6.4 Parentheses for Grouping 43 6.5 Arithmetic and Matrix Operations on Expressions 43 6.6 Conditional Operator 46 6.7 Indexing 48 6.8 Multiple Indexing and Range Indexing 49 6.9 Function Application 50 6.10 Type Inference 53 6.11 Higher-Order Functions 55 6.12 Chain Rule and Derivatives 57 7. Statements 59 7.1 Statement Block Contexts 59 7.2 Assignment Statement 59 7.3 Increment Log Density 62 7.4 Sampling Statements 64 7.5 For Loops 71 7.6 Foreach Loops 73 7.7 Conditional Statements 74 7.8 While Statements 74 7.9 Statement Blocks and Local Variable Declarations 75 7.10 Break and Continue Statements 77 7.11 Print Statements 79 7.12 Reject Statements 81 8.
    [Show full text]
  • Automatic Variational Inference in Stan
    Automatic Variational Inference in Stan Alp Kucukelbir Rajesh Ranganath Columbia University Princeton University [email protected] [email protected] Andrew Gelman David M. Blei Columbia University Columbia University [email protected] [email protected] Abstract Variational inference is a scalable technique for approximate Bayesian inference. Deriving variational inference algorithms requires tedious model-specific calcula- tions; this makes it difficult for non-experts to use. We propose an automatic varia- tional inference algorithm, automatic differentiation variational inference (advi); we implement it in Stan (code available), a probabilistic programming system. In advi the user provides a Bayesian model and a dataset, nothing else. We make no conjugacy assumptions and support a broad class of models. The algorithm automatically determines an appropriate variational family and optimizes the vari- ational objective. We compare advi to mcmc sampling across hierarchical gen- eralized linear models, nonconjugate matrix factorization, and a mixture model. We train the mixture model on a quarter million images. With advi we can use variational inference on any model we write in Stan. 1 Introduction Bayesian inference is a powerful framework for analyzing data. We design a model for data using latent variables; we then analyze data by calculating the posterior density of the latent variables. For machine learning models, calculating the posterior is often difficult; we resort to approximation. Variational inference (vi) approximates the posterior with a simpler distribution [1, 2]. We search over a family of simple distributions and find the member closest to the posterior. This turns ap- proximate inference into optimization. vi has had a tremendous impact on machine learning; it is typically faster than Markov chain Monte Carlo (mcmc) sampling (as we show here too) and has recently scaled up to massive data [3].
    [Show full text]