I think the universe is pure geometry – basically, a beautiful shape twisting around and dancing over space-time.
Garrett Lisi
Theoretical Physicist
The power of mathematics is often to change one thing into another, to change geometry into language.
Marcus du Sautoy
Professor of Mathematics

Have You Ever Been ...

  • Amazed by the geometric patterns all around you in natural and human designs.
  • Eager to study geometry but found its mathematics difficult and obscure.
  • Searching for a symbolic language to fluently communicate geometric ideas.
  • Struggling to design software for computing with geometry to realize your own geometric ideas and patterns.
As long as algebra and geometry have been separated, their progress have been slow and their uses limited; but when these two sciences have been united, they have lent each mutual forces, and have marched together towards perfection.
Joseph Louis Lagrange

Meet Geometric Algebra ...

  • A universal algebraic language for expressing geometric objects and transformations far superior to vector and matrix algebras.
  • A fascinating mathematical structure with geometrically significant, dimension independent, and coordinates-independent expressions.
  • A solid and complete mathematical base for developing software for geometric computing applications in all fields of science and engineering.
Language is a process of free creation; its laws and principles are fixed, but the manner in which the principles of generation are used is free and infinitely varied. Even the interpretation and use of words involves a process of free creation.
Noam Chomsky
Linguist, philosopher, and cognitive scientist

On The GA Explorer You Can ...

  • Find well-written blog posts with rich contents and ideas about Geometric Algebra and related topics.

  • Read online interviews with leading GA community members offering their valuable insights, experiences, and lessons.

  • Get information about online Geometric Algebra resources including GA researchers, software, webpages, and more.

If you understand something in only one way, then you don’t really understand it at all. The secret of what anything means to us depends on how we’ve connected it to all other things we know. Well-connected representations let you turn ideas around in your mind, to envision things from many perspectives until you find one that works for you. And that’s what we mean by thinking!
Marvin Minsky
Cognitive Scientist

Use GMac To ...

  • Express your geometric ideas with a simple Domain Specific Language (DSL) based directly on Geometric Algebra.
  • Explore your DSL code, symbolically and visually,  through a powerful scripting interface with Wolfram Mathematica in the background, and gain deeper understanding of your geometric ideas.
  • Generating efficient implementations of your DSL code in the programming language you choose, from simple subroutines to complete computational libraries with any file structure you desire.
  • Studying how GMac itself is built as an open source compiler so you can use the same ideas for your own projects.

GMac Guides Index

  • Learn about the purpose of GMac and its possible uses.
  • Read the main features of GMac for coding with Geometric Algebra, scripting, and prototyping.
  • Understand the requirements of using GMac and where to download it from.
  • Find a short description of GMac’s various components and links to the GMac User Guides.
  • Find an overview of the GMac system including how to download and install, things to know before using, and the dependency of GMac on Wolfram Mathematica.
  • Read about the projects inside the GMac .NET solution, their roles in the GMac system, and how they depend on each other.
  • Understand the GMacIDE user interface including main screens and menu items.
  • Read about using GMac as a code composition library for generating computational code from GA models.
  • Find some resources to start learning Geometric Algebra.
  • Read about GMac’s software interface for communicating with Wolfram Mathematica.
  • Learn about GMac’s extended symbolic interface for representing and computing with multivectors, GA frames, outermorphisms, and linear transforms using Wolfram Mathematica.
  • Find a complete description of the GMacDSL syntax and semantics.
  • Read about describing GA frames with arbitrary signatures and relations.
  • View examples of various GMacDSL code elements.
  • Understand how to write GMac macros that contain GA expressions and algorithms.
  • Read an overview of GMacAST as an intermediate representation of GMacDSL code.
  • Find a full description of all GMacAST nodes, their roles, and relations.
  • Read the details of .NET classes that represent GMacAST nodes to be used in other components of GMac.
  • Read about the purpose of TextComposerLib and its main features for composing structured text.
  • View explanations and examples of using the text composition .NET classes in TextComposerLib.
  • Understand how to use TextComposerLib un-parse expression trees into structured text.
  • Read about the structured file generation capabilities of TextComposerLib.
  • Read about the diagram generation capabilities of TextComposerLib.
  • Find explanations of several techniques for code composition using TextComposerLib.
  • Read a full explanation of the various components of GMacAPI code composition system.
  • Find a description of the main .NET classes of GMacAPI including their roles and relations to each other.
  • Read a complete code example for using GMacAPI to compose a simple code library from GMacDSL code.
  • Read about the software structure and main classes GMac uses in its scripting engine.
  • Find detailed examples for scripting with GMac.
  • Understand how GMac scripting integrates C#, Mathematica, and GMacDSL into a powerful scripting framework for exploring GA-based models.
WordPress Appliance - Powered by TurnKey Linux