Advances in Applied Clifford Algebras

, Volume 27, Issue 1, pp 707–731 | Cite as

Automatic Multivector Differentiation and Optimization

  • Lars Tingelstad
  • Olav Egeland
Open Access


In this work, we present a novel approach to nonlinear optimization of multivectors in the Euclidean and conformal model of geometric algebra by introducing automatic differentiation. This is used to compute gradients and Jacobian matrices of multivector valued functions for use in nonlinear optimization where the emphasis is on the estimation of rigid body motions.


Geometric Algebra Automatic Differentiation Optimization 


  1. 1.
    Agarwal, S., Mierle, K. et al.: Ceres Solver.
  2. 2.
    Agarwal, S., Snavely, N., Seitz, S.M., Szeliski, R.: Bundle Adjustment in the Large. In: Daniilidis, K., Maragos, P., Paragios, N. (eds.) ECCV (2), vol. 6312, Lecture Notes in Computer Science, pp. 29–42. Springer, Berlin (2010)Google Scholar
  3. 3.
    Baydin, A.G., Barak, A.: Pearlmutter, Alexey Andreyevich Radul, and Jeffrey Mark Siskind. Automatic differentiation in machine learning: a survey. CoRR (2015). arXiv:abs/1502.05767
  4. 4.
    Bayro-Corrochano E., Daniilidis K., Sommer G.: Motor algebra for 3D kinematics: the case of the hand-eye calibration. J. Math. Imaging Vis. 13(2), 79–100 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Cibura, C.: Fitting Model Parameters in Conformal Geometric Algebra to Euclidean Observation Data. PhD thesis, University of Amsterdam (2012)Google Scholar
  6. 6.
    Clifford W.K.: Preliminary Sketch of Biquaternions. Proc. Lond. Math. Soc. 4, 361–395 (1873)Google Scholar
  7. 7.
    Colapinto, P.: Versor: Spatial Computing with Conformal Geometric Algebra. Master’s thesis, University of California at Santa Barbara (2011).
  8. 8.
    Colapinto P.: Boosted surfaces: synthesis of meshes using point pair generators as curvature operators in the 3d conformal model. Adv. Appl. Clifford Algebras 24(1), 71–88 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Colapinto, P.: Composing Surfaces with Conformal Rotors. In: Advances in Applied Clifford Algebras. pp. 1–22 (2016)Google Scholar
  10. 10.
    Dagum L., Menon R.: OpenMP: an industry standard API for shared-memory programming. Comput. Sci. Eng. IEEE. 5(1), 46–55 (1998)CrossRefGoogle Scholar
  11. 11.
    Davis, T.: SuiteSparse. Online Accessed 25 July 2016
  12. 12.
    Dorst, L.: The Representation of Rigid Body Motions in the Conformal Model of Geometric Algebra. In: Rosenhahn, B., Klette, R., Metaxas, D. (eds.) Human Motion, vol. 36, Computational Imaging and Vision, pp. 507–529. Springer (2008)Google Scholar
  13. 13.
    Dorst, L.: Conformal Geometric Algebra by Extended Vahlen Matrices. Methods of Information in Medicine, 1 (2009)Google Scholar
  14. 14.
    Dorst, L., Fontijne, D., Mann, S.: Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry. Morgan Kaufmann Publishers Inc., San Francisco (2007)Google Scholar
  15. 15.
    Dorst, L., Fontijne, D., Mann, S.: Gaviewer. (2010). Online Accessed 25 July 2016
  16. 16.
    Fontijne, D.: Gaigen 2.5. Online Accessed 25 July 2016
  17. 17.
    Fontijne, D.: Efficient Implementation of Geometric Algebra. PhD thesis, University of Amsterdam (2007)Google Scholar
  18. 18.
    Fontijne, D., Dorst, L., Bouma, T.: Gaigen. Online Accessed 07 July 2016
  19. 19.
    Fowler, M.: Domain Specific Languages, 1st edn. Addison-Wesley Professional(2010)Google Scholar
  20. 20.
    Gebken, C.: Conformal Geometric Algebra in Stochastic Optimization Problems of 3D-Vision Applications. PhD thesis, University of Kiel (2009)Google Scholar
  21. 21.
    Gebken C., Perwass C., Sommer G.: Parameter estimation from uncertain data in geometric algebra. Adv. Appl. Clifford Algebras 18(3-4), 647–664 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Griewank, A., Walther, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, 2 edn. SIAM, Philadelphia (2008)Google Scholar
  23. 23.
    Guennebaud, G., Jacob, B. et al.: Eigen v3. (2010). Online; Accessed 25 July 2016
  24. 24.
    Hartley R., Zisserman A.: Multiple View Geometry in Computer Vision, 2 edn. Cambridge University Press, New York (2003)zbMATHGoogle Scholar
  25. 25.
    Hestenes, D.: New Foundations for Classical Mechanics, vol. 15, Fundamental Theories of Physics. Springer (1986)Google Scholar
  26. 26.
    Hestenes, D., Sobczyk, G.: Clifford Algebra to Geometric Calculus—A Unified Language for Mathematics and Physics, vol. 5, Fundamental Theories of Physics. Springer (1984)Google Scholar
  27. 27.
    Hildenbrand, D., Pitt, J., Koch, A.: Gaalop—High Performance Parallel Computing Based on Conformal Geometric Algebra. In: Bayro-Corrochano, E., Scheuermann, G. (eds.) Geometric Algebra Computing, pp. 477–494. Springer, Berlin (2010)Google Scholar
  28. 28.
    Hoffmann, P.H.W.: A Hitchhiker’s Guide to Automatic Differentiation. In: Numerical Algorithms. pp. 1–37 (2015)Google Scholar
  29. 29.
    Hogan R.J.: Fast reverse-mode automatic differentiation using expression templates in C++. ACM Trans. Math. Softw. 40(4), 26–12616 (2014)MathSciNetCrossRefGoogle Scholar
  30. 30.
    Iglberger K., Hager G., Treibig J., de Ulrich R.: Expression templates revisited:a performance analysis of current methodologies. SIAM J. Sci. Comput. 34(2), C42–C69 (2012)MathSciNetCrossRefGoogle Scholar
  31. 31.
    Lasenby J., Fitzgerald W.J., Lasenby A.N., Doran C.J.L.: New geometric methods for computer vision: an application to structure and motion estimation. Int. J. Comput. Vis. 26(3), 191–213 (1998)CrossRefGoogle Scholar
  32. 32.
    Li, H., Hestenes, D., Rockwood, A.: Generalized Homogeneous Coordinates for Computational Geometry. In: Sommer, G. (ed.) Geometric Computing with Clifford Algebras, pp. 27–59. Springer, Berlin (2001)Google Scholar
  33. 33.
    Madsen, K., Nielsen, H.B., Tingleff, O.: Methods for Non-Linear Least Squares Problems (2004)Google Scholar
  34. 34.
    Munaro, M., Basso, F., Menegatti, E.: OpenPTrack: Open source multi-camera calibration and people tracking for RGB-D camera networks. Robot. Auton. Syst. 75(Part B), 525–538 (2016)Google Scholar
  35. 35.
    Nickolls J., Buck I., Garland M., Skadron K.: Scalable Parallel Programming with CUDA. Queue. 6(2), 40–53 (2008)CrossRefGoogle Scholar
  36. 36.
    Nocedal, J., Wright, S.J.: Numerical Optimization, 2 edn. Springer, New York (2006)Google Scholar
  37. 37.
    Perwass, C.: Applications of Geometric Algebra in Computer Vision—The geometry of multiple view tensors and 3D-reconstruction. PhD thesis, University of Cambridge (2000)Google Scholar
  38. 38.
    Perwass, C.: CLUCalc Interactive Visualization. (2010). Online; Accessed 25 July 2016
  39. 39.
    Perwass, C., Gebken, C., Sommer, G.: Estimation of Geometric Entities and Operators from Uncertain Data. In: Pattern Recognition, vol. 3663, Lecture Notes in Computer Science, pp. 459–467. Springer, Berlin (2005)Google Scholar
  40. 40.
    Schmidt, J., Niemann, H.: Using Quaternions for Parametrizing 3-D Rotations in Unconstrained Nonlinear Optimization. In: VMV, pp. 399–406. Aka GmbH (2001)Google Scholar
  41. 41.
    Schwan, C.: hep-ga: An Efficient Numeric Template Library for Geometric AlgebraGoogle Scholar
  42. 42.
    Snygg, J.: Clifford Algebra in Euclidean 3-Space. In: A New Approach to Differential Geometry using Clifford’s Geometric Algebra, pp. 3–25. Birkhäuser, Boston (2012)Google Scholar
  43. 43.
    Sobczyk G.: Geometric matrix algebra. Linear Algebra Appl. 429(5–6), 1163–1173 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  44. 44.
    Sommer, H., Pradalier, C., Furgale, P.: Automatic Differentiation on Differentiable Manifolds as a Tool for Robotics. In: Int. Symp. on Robotics Research (ISRR) (2013)Google Scholar
  45. 45.
    Stone J.E., Gohara D., Shi G.: OpenCL: a parallel programming standard for heterogeneous computing systems. IEEE Des. Test. 12(3), 66–73 (2010)Google Scholar
  46. 46.
    Tingelstad, L.: GAME—Geometric Algebra Multivector Estimation. (2016)
  47. 47.
    Umeyama S.: Least-squares estimation of transformation parameters between two point patterns. IEEE Trans. Pattern Anal. Mach. Intell. 13(4), 376–380 (1991)CrossRefGoogle Scholar
  48. 48.
    Valkenburg, R., Alwesh, N.: Calibration of Target Positions Using Conformal Geometric Algebra. In: Dorst, L., Lasenby, J., (eds.) Guide to Geometric Algebra in Practice, pp. 127–148. Springer, London (2011)Google Scholar
  49. 49.
    Valkenburg, R., Dorst, L.: Estimating Motors from a Variety of Geometric Data in 3D Conformal Geometric Algebra. In: Dorst, L., Lasenby, J. (eds.) Guide to Geometric Algebra in Practice, pp. 25–45. Springer, London (2011)Google Scholar
  50. 50.
    Wareham, R., Cameron, J., Lasenby, J.: Applications of Conformal Geometric Algebra in Computer Vision and Graphics. In: Li, H., Olver, P.J., Sommer, G. (eds.) Computer Algebra and Geometric Algebra with Applications, pp. 329–349. Springer, Berlin (2005)Google Scholar
  51. 51.
    Woo, M., Neider, J., Davis, T., Shreiner, D.: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.2, 3rd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (1999)Google Scholar

Copyright information

© The Author(s) 2016

Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors and Affiliations

  1. 1.Department of Production and Quality Engineering, Faculty of Engineering Science and TechnologyNTNU, Norwegian University of Science and TechnologyTrondheimNorway

Personalised recommendations