TY - BOOK AU - Seagar,Andrew TI - Numerical calculations in Clifford algebra: a practical guide for engineers and scientists SN - 9781394173242 AV - QA199 .S43 2023 U1 - 512/.57 23/eng20230203 PY - 2023/// CY - Hoboken, NJ PB - John Wiley & Sons, Inc. KW - Clifford algebras KW - Algebra KW - Data processing N1 - Includes bibliographical references and index; Table of Contents List of Figures xv List of Tables xix Preface xxi Part I Entities and Operations 1 1 Introduction 3 1.1 Operations 3 1.2 History 4 1.3 Alternative Forms 5 1.4 Naming 6 1.5 Structure 7 1.5.1 Algebraic 7 1.5.2 Numeric 8 1.6 Entities 11 References 12 2 Input 13 2.1 Syntax 13 2.2 Constants 14 2.2.1 Specific Types 14 2.2.2 General 16 2.3 Variables 19 2.3.1 Checking and Converting 19 Reference 23 3 Output 25 3.1 Tree Format 26 3.2 Numeric Formats 29 3.2.1 Default Format 29 3.2.2 Defined Format 31 3.3 Extended Formats 32 3.3.1 Rounding 32 3.3.2 Parts of Coefficients 33 3.4 Selected Components 35 3.5 Primitive Formats 36 3.6 Recovered Values 38 4 Unary Operations 41 4.1 Theory 41 4.1.1 Negation 41 4.1.2 Involution 41 4.1.3 Pair Exchange 42 4.1.4 Reversion 43 4.1.5 Clifford Conjugation 44 4.1.6 Supplementation and Pseudo-scalar 44 4.2 Practice 45 4.2.1 Example Code 45 4.2.2 Example Output 47 5 Binary Operations 49 5.1 Geometric Origins 49 5.1.1 Outer Multiplication 49 5.1.2 Orthogonal Components 52 5.1.3 Inner Multiplication 53 5.1.4 Names 54 5.2 Multiplication of Units 55 5.2.1 Progressive and Regressive Multiplication 55 5.2.2 Outer, Inner, and Central Multiplication 57 5.2.3 Multiplication By Scalars 58 5.3 Central Multiplication 59 5.3.1 Primal Units 60 5.3.2 Evolved and Other Units 61 5.3.3 Numbers 62 5.4 Practice 63 5.4.1 Example Code 63 5.4.2 Example Output 65 5.4.3 Multiplication Tables 65 References 70 6 Vectors and Geometry 71 6.1 Theory 71 6.1.1 Magnitude 71 6.1.2 Inverse 72 6.1.3 Reflection 72 6.1.4 Projection 73 6.1.5 Rotation 73 6.2 Practice 74 6.2.1 Example Code 74 6.2.2 Example Output 76 7 Quaternions 79 7.1 Theory 79 7.1.1 Magnitude 80 7.1.2 Inverse 80 7.1.3 Reflection and Projection 80 7.1.4 Rotation 81 7.1.5 Intersection 82 7.1.6 Factorisation 82 7.2 Practice 83 7.2.1 Example Code 83 7.2.2 Example Output 86 References 87 8 Pauli Matrices 89 8.1 Theory 89 8.1.1 Recovery of Components 90 8.1.2 Magnitude 90 8.1.3 Inverse 91 8.1.4 Reflection, Projection, and Rotation 91 8.2 Practice 91 8.2.1 Example Code 91 8.2.2 Example Output 94 Reference 95 9 Bicomplex Numbers 97 9.1 Theory 97 9.1.1 Conjugate 98 9.1.2 Magnitude 98 9.1.3 Inverse 98 9.1.4 Reflection, Projection, and Rotation 99 9.2 Practice 99 9.2.1 Example Code 99 9.2.2 Example Output 101 Reference 102 10 Electromagnetic Fields 103 10.1 Theory 103 10.1.1 Time and Frequency 103 10.1.2 Electromagnetic Entities 104 10.1.3 Dirac Operators 105 10.1.4 Maxwell’s Equations 105 10.1.5 Simplified Notation 105 10.1.6 Magnitude 106 10.1.7 Inverse 106 10.1.8 Reflection 107 10.1.9 Projection 107 10.1.10 Rotation 107 10.2 Practice 107 10.2.1 Example Code 107 10.2.2 Example Output 110 10.3 Field Arithmetic 112 10.3.1 Extensions Based on Quaternions 112 10.3.2 Inverses 113 10.3.3 Example Code 115 10.3.4 Example Output 117 References 118 11 Arrays of Clifford Numbers 119 11.1 Theory 119 11.2 Practice 120 11.2.1 Example Code 120 11.2.2 Example Output 123 Reference 125 12 Power Series 127 12.1 Theory 127 12.1.1 User Defined 127 12.1.2 Predefined 128 12.1.3 Convergence 129 12.1.4 Factorisation 130 12.1.5 Squaring 131 12.2 Practice 131 12.2.1 User Defined 131 12.2.2 Predefined 133 12.2.2.1 Standard Convergence 136 12.2.2.2 Extended Convergence 141 12.2.2.3 Doubly Extended Convergence 146 References 148 13 Matrices of Clifford Numbers 149 13.1 Background 149 13.2 Inversion 150 13.3 Practice 152 13.3.1 Example Code 152 13.3.2 Example Output 155 Reference 159 Part II Customisation 161 14 Memory 163 14.1 Memory Usage 163 14.2 Examples 165 14.2.1 Memory Tree Sparsity 165 14.2.2 Memory Expansion 170 14.2.3 Memory Recycling 171 14.2.3.1 Explicit and Implicit 171 14.2.3.2 Implicit and Nested 173 Reference 175 15 Errors 177 15.1 User Errors 177 15.1.1 Syntax Errors and Messages 180 15.2 System Errors 181 15.3 Recovery 182 15.4 Beneficial Usage 185 Reference 191 16 Extension 193 16.1 Accumulation 193 16.2 Multiplication 195 16.3 Transformation 197 16.4 Filtration 198 Part III Application 203 17 Verification 205 17.1 Identities 205 17.2 Tests 205 17.2.1 Example Code 205 17.2.2 Example Output 208 Reference 214 18 Lines Not Parallel 215 18.1 Theory 215 18.1.1 Common Plane 215 18.1.1.1 Inner Product 216 18.1.1.2 Outer Product 217 18.1.1.3 Geometrical Interpretation 217 18.1.2 No Plane in Common 218 18.1.2.1 Inner Product 219 18.1.2.2 Solution 219 18.2 Practice 220 18.2.1 Example Code 220 18.2.2 Example Output 223 Reference 224 19 Perspective Projection 225 19.1 Theory 225 19.2 Practice 225 19.2.1 Example Code 225 19.2.2 Example Output 229 Reference 230 20 Linear Systems 231 20.1 Theory 231 20.2 Practice 233 20.2.1 Example Code 233 20.2.2 Example Output 235 References 235 21 Fast Fourier Transform 237 21.1 Theory 237 21.2 Practice 238 21.2.1 Example Code 238 21.2.2 Example Output 243 References 244 22 Hertzian Dipole 245 22.1 Theory 245 22.2 Practice 246 22.2.1 Example Code 246 22.2.2 Example Output 251 Reference 253 23 Finite Difference Time Domain 255 23.1 Theory 255 23.1.1 Analytical Solution 255 23.1.2 Series Solution 256 23.1.3 Analytical Example 257 23.1.4 Numerical Derivatives 257 23.2 Practice 259 23.2.1 Example Code 259 23.2.2 Example Output 265 References 270 24 Cauchy Extension 271 24.1 Background 271 24.2 Theory 272 24.2.1 Two Dimensions 272 24.2.2 Three Dimensions 272 24.2.3 Singularity 273 24.2.4 The Taming Function 273 24.2.5 Construction 274 24.3 Practice 276 24.3.1 Example Code 276 24.3.2 Example Output 281 References 284 25 Electromagnetic Scattering 285 25.1 Background 285 25.2 Theory 286 25.3 Practice 288 25.3.1 Example Code 288 25.3.2 Example Output 289 References 293 Part IV Programming 295 26 Interfaces 297 26.1 Configuration and Observation 297 26.1.1 Management 297 26.1.2 Printing 298 26.2 Simple Entities 300 26.2.1 Units 300 26.2.2 Components 300 26.2.3 Numbers 302 26.2.3.1 Establishing and Recovering Values 302 26.2.3.2 Functions 303 26.2.3.3 Addition and Subtraction 304 26.2.3.4 Multiplication 304 26.2.3.5 Geometric 305 26.2.3.6 Filtering 305 26.3 Higher Entities 306 26.3.1 Vectors 306 26.3.2 Bicomplex Numbers 307 26.3.3 Quaternions 307 26.3.4 Pauli Matrices 308 26.3.5 Electromagnetic Fields 308 26.4 Multiple Entities 309 26.4.1 Arrays 309 26.4.2 Fast Fourier Transforms 309 26.4.3 Series 310 26.4.4 Matrices 310 Reference 311 27 Descriptions 313 27.1 Arguments 313 27.2 Data types 313 27.3 Formats 315 27.4 Manual Pages 316 27.4.1 A–e 316 27.4.2 F–j 342 27.4.3 K–o 369 27.4.4 P–t 387 27.4.5 U–z 468 27.5 Quick Reference 477 Reference 487 A Key to Example Code and Results 489 Index 493 N2 - "The purpose of the suite of routines described here, the Clifford Numerical Suite (CNS), is to provide a platform for the implementation of applications which require numerical evaluation of the various mathematical operations offered within the context of Clifford algebra. The routines are designed to allow the user to ignore most of the internal details of data structures and memory management if so desired. The suite is constructed using the 'C' computer programming language (Kernighan & Ritchie 1978, King 2008) so that it can be embedded into, compiled with, and invoked directly from the user's code. This avoids the overheads of copying data associated with the call mechanisms involved in implementations underneath interpretive meta-languages 1 and consequently offers an overall higher speed of code execution. That in turn admits the possibility of solving problems which are more realistic and less trivial. The intention is to provide most users with a viable environment for the development of their own applications. Providing the source code also allows the user to enhance and tailor it to best suit their own purposes. In cases where ultimate speed and memory efficiency is required, the suite can be used in the formative development phase, and substituted with the user's own hard-coded replacements in the end application phase"-- UR - https://onlinelibrary.wiley.com/doi/book/10.1002/9781394173273 ER -