├── .gitignore ├── .junk ├── 2dvectorsquare.tex ├── ComplexInnerProductVsDotAndCrossProduct.tex ├── GAmotivation.tex ├── Justifying_the_contraction_axiom.tex ├── R3PseudoscalarCommutation.tex ├── RnDotProduct.tex ├── SimpleProducts.tex ├── SimpleProducts0.tex ├── SimpleProducts2.tex ├── SimpleProducts3.tex ├── WedgeRelationshipToCrossProduct.tex ├── amperesLawMagnetostaticsExample.tex ├── analysis_cavaet.tex ├── areaOfParallelogram.tex ├── bivectorDot.tex ├── bivectorDot.tex.2 ├── boundarySurfaceSources.tex ├── complexNumbers.tex ├── continuity.tex ├── coordinateNinetyDegreeRotation.tex ├── crossProductLinearIntersectionProblem.tex ├── curvilinearGradient.tex ├── definitions.tex ├── dotprodSymmetricSum.tex ├── ece2500reportIntro.tex ├── electrostatics.tex ├── electrostaticsProblems.tex ├── electrostatics_electricPotential.tex ├── electrostatics_enclosedCharge.tex ├── electrostatics_invertingGradient.tex ├── electrostatics_poissonEquationSolution.tex ├── formsVsGA.tex ├── frequencydomainPlaneWaves.tex ├── fundamentalTheoremOfCalculus.tex ├── gagradeprojection.tex ├── gaugeGeneral.tex ├── generalPotential.tex ├── gradeselVectorWedge.tex ├── gradeselection.tex ├── gradeselectionProblems.tex ├── gradethreeselectionWedge.tex ├── gradientGreensFunctionProof.tex ├── greensFunctionGradient.tex ├── greensFunctionLaplacian.tex ├── greensTheorem.tex ├── inMatter.tex ├── introGAproblems.tex ├── left2dimaginarymultiplication.tex ├── logquestion.tex ├── magnetostatics.tex ├── magnetostatics_biotSavart.tex ├── magnetostatics_enclosedCurrent.tex ├── magnetostatics_enclosedCurrentDensity.tex ├── magnetostatics_vectorPotential.tex ├── manyfaces.tex ├── maxwellstatics.tex ├── multiplication.tex ├── multivector.tex ├── multivector2.tex ├── multivectorProblems.tex ├── normalAnticommutation.tex ├── normalMult.tex ├── oneparameter.tex ├── orientation.tex ├── planeRotationsExponentials.tex ├── planewaves.tex ├── planewavesMultivectorBlog.tex ├── polarization.tex ├── polarization_circular.tex ├── polarization_elliptical.tex ├── polarization_linearPolarization.tex ├── polarization_phaseAndEnergyMomentum.tex ├── polarization_problems.tex ├── polarization_pseudoscalarImaginary.tex ├── potentialSection.tex ├── potentialSection_LorenzGauge.tex ├── potentialSection_electric.tex ├── potentialSection_gauge.tex ├── potentialSection_magnetic.tex ├── poynting.tex ├── poyntingComplexPower.tex ├── poyntingLorentzForce.tex ├── poyntingTheorem.tex ├── prerequisites.tex ├── projectionAndRejection.tex ├── projectnotes.tex ├── r.tex ├── r3vectorspaceproblem.tex ├── reciprocal_general.tex ├── reverse.tex ├── rightComplexMult.tex ├── sandwichMult.tex ├── scalarVolumeElement.tex ├── statement.tex ├── staticPotentials.tex ├── staticPotentialsBlog.tex ├── stokesAndGreens.tex ├── stokesTheoremCoreProblems.tex ├── subspaceDistance.tex ├── syllabusAndContext.tex ├── threeparameter.tex ├── triint.tex ├── twoparameter.tex ├── unpackStaticPotential.tex ├── vectorBivectorDot.tex ├── vectorproduct.tex ├── vectorproductCyclicPermutation.tex ├── vectorproductProblems.tex ├── waveequation.tex ├── wedgeProductArea.tex └── wedgeantisym.tex ├── 2Dcylindrical.tex ├── 2dMultiplication.tex ├── 2dRotations.tex ├── 2dRotationsProblems.tex ├── 2dreciprocalMatrixCalculation.tex ├── 2subspaceR3reciprocalExample.tex ├── Changelog.html ├── Changelog.txt ├── Definition_adjoint.tex ├── Definition_electromagnetic_field_strength.tex ├── Definition_energy_momentum_and_maxwell_stress.tex ├── Definition_energy_momentum_poynting.tex ├── Definition_maxwells.tex ├── Definition_multivector_current.tex ├── Definition_multivector_fourier.tex ├── Definition_multivector_integral.tex ├── Definition_multivector_phasor.tex ├── Definition_plane_wave.tex ├── Definition_reciprocal_frame.tex ├── Definition_vector_derivative.tex ├── Definition_wave_equation_operator.tex ├── FrontBackmatter ├── Kindle-DirtyTitlepage.tex ├── Kindle-Titlepage.tex ├── Titlepage.tex └── preface.tex ├── GAelectrodynamics.sty ├── GNUmakefile ├── METADATA ├── R3PseudoscalarSquare.tex ├── README.md ├── TODO ├── Theorem_boundary_value_relations.tex ├── Theorem_circular_polarization_coeff.tex ├── Theorem_circular_polarization_coeff_pseudoscalar.tex ├── Theorem_circular_polarization_coeff_pseudoscalar_report.tex ├── Theorem_circular_polarization_coeff_report.tex ├── Theorem_complex_power.tex ├── Theorem_continuity_wave.tex ├── Theorem_curvilinear_gradient.tex ├── Theorem_divergence.tex ├── Theorem_enclosed_multivector_current.tex ├── Theorem_energy_momentum_tensor_expansion.tex ├── Theorem_energy_momentum_tensor_plane_wave.tex ├── Theorem_far_field_magnetic_vector_potential.tex ├── Theorem_far_field_magnetic_vector_potential_report.tex ├── Theorem_fields_and_potential_wave_equations.tex ├── Theorem_fields_and_potential_wave_equations_report.tex ├── Theorem_fundamental_theorem_of_gc.tex ├── Theorem_gauge_invariance.tex ├── Theorem_greens.tex ├── Theorem_greens_function_helmholtz.tex ├── Theorem_greens_function_helmholtz_first_order.tex ├── Theorem_greens_function_helmholtz_report.tex ├── Theorem_greens_function_spacetime_grad.tex ├── Theorem_jefimenkos.tex ├── Theorem_jefimenkos_report.tex ├── Theorem_line_integral_of_field.tex ├── Theorem_line_integral_scalar_function.tex ├── Theorem_lorentz_force_power.tex ├── Theorem_lorentz_force_power_report.tex ├── Theorem_lorentz_gauge_transformation.tex ├── Theorem_maxwell_statics_solution.tex ├── Theorem_maxwells_equations_in_media.tex ├── Theorem_multivector_line_integral.tex ├── Theorem_multivector_surface_integral.tex ├── Theorem_multivector_volume_integral.tex ├── Theorem_plane_wave_solutions.tex ├── Theorem_poynting_differential.tex ├── Theorem_poynting_integral.tex ├── Theorem_reciprocal_frame_vectors_gradient.tex ├── Theorem_stokes_theorem_general.tex ├── Theorem_surface_integral_of_scalar_stokes.tex ├── Theorem_surface_integral_of_vector_stokes.tex ├── Theorem_transverse_and_propagation_solutions.tex ├── Theorem_transverse_and_propagation_solutions_report.tex ├── Theorem_volume_integral_of_bivector_stokes_divergence.tex ├── Theorem_volume_integral_of_vector_stokes.tex ├── ampereExample.tex ├── amperes.tex ├── appendixchapters.tex ├── backcover.txt ├── backcoverphoto.jpg ├── bio.txt ├── bladeAndBladeReverse.tex ├── bladeDotWedgeSymmetryIdentitiesTheorem.tex ├── books.txt ├── boundary.tex ├── boundarySurfaceSources.tex ├── bruce └── comments.txt ├── build_factor.mk4 ├── chapter1.tex ├── chapter2.tex ├── chapter3.tex ├── chapters.tex ├── circularlinecharge.tex ├── classicthesis-config.tex ├── colinearVectors.tex ├── complex.tex ├── continuity.tex ├── curvilinearDefined.tex ├── curvilinearDefinedCoordinates.tex ├── curvilinearExamples.tex ├── curvilinearThree.tex ├── curvilinearspherical.tex ├── curvilinearsphericalProblem.tex ├── cylinderField.tex ├── derivativeOfDeltaFunction.tex ├── dexpquestion.tex ├── dielectric.tex ├── discourse.sample.txt ├── distributionDotVectorBivector.tex ├── dontspellcheckem.txt ├── dual.tex ├── ece2500report.tex ├── ecmp ├── edef ├── ellipseCurvilinear.tex ├── ellipticalWaves.tex ├── ellipticproblem.tex ├── enclosedCurrent.tex ├── formsVsGA.tex ├── fourier.tex ├── freespace.tex ├── functionvectorspace.tex ├── fundamentalMinkowski.tex ├── fundamentalTheorem.tex ├── fundamentalTheoremOfCalculus.tex ├── gacomparison.tex ├── gaee-kindle.tex ├── gagcProof.tex ├── galiterature.tex ├── gaugeTransformation.tex ├── gaugeTransformationProblems.tex ├── generalRotation.tex ├── generalizedDot.tex ├── generalizedDot_bivectorDot.tex ├── generalizedDot_vectorBivector.tex ├── generalizedWedge.tex ├── generalizedWedgeProblems.tex ├── geometricproduct.tex ├── gradeselection.tex ├── gradient.tex ├── greens.tex ├── greensFunctionFirstOrderHelmholtz.tex ├── greensFunctionHelmholtz.tex ├── greensFunctionOverview.tex ├── greensFunctionSolutions.tex ├── greensFunctionSpacetimeGradient.tex ├── greensIntro.tex ├── greensIntroProblem.tex ├── helmholtzDerviationMultivectorSolution.tex ├── helmholtzDerviationMultivectorStatement.tex ├── helmholtzGreens.tex ├── helpful.tex ├── integration.tex ├── intersectionLineAndPlaneProblem.tex ├── isotropicMaxwells.tex ├── jefimenkosEquations.tex ├── junk.tex ├── kb ├── kbuild.mk4 ├── kenv ├── kindle-config.tex ├── kindle.notes.txt ├── landauEasy.tex ├── laymans_description_greens_functions.txt ├── lineAndPlane.tex ├── linecharge.tex ├── lineintegral.tex ├── lineintegraldef.tex ├── lorentzForce.tex ├── lorentzForce_constantMagnetic.tex ├── make.revision ├── maxwells.tex ├── maxwellsEquations.tex ├── mkhtml ├── multivector.tex ├── mvpotentials.tex ├── mvpotentialsProblems.tex ├── normalFactorization.tex ├── normalVectors.tex ├── nospellcheck.txt ├── paulivectorspace.tex ├── planewavesMultivector.tex ├── polarizationRewrite.tex ├── potentialSection_farfield.tex ├── poyntingF.tex ├── poyntingFComplexPower.tex ├── poyntingStaticExamples.tex ├── poyntingTheoremRewrite.tex ├── prereq_basisspandim.tex ├── prereq_standardbasis.tex ├── prereq_vectorspace.tex ├── prereq_vectorspace_Rn.tex ├── prerequisites.tex ├── products.tex ├── projectionAndRejection.tex ├── pseudoscalar.tex ├── quaternion2maxwellWithGA.tex ├── r4nonzerobivectorwedgewithself.tex ├── reciprocal.tex ├── reciprocal_R2.tex ├── reciprocal_R3.tex ├── reciprocal_orthogonal_problem.tex ├── redacted.sty ├── reflection.tex ├── renumber ├── reply.tex ├── reportPreamble.tex ├── reverseDefined.tex ├── reviewers.txt ├── ringField.tex ├── scalarSelectionPermutation.tex ├── solutionOfLinearSystem.tex ├── spellcheckem.txt ├── sphericaldot.tex ├── statics.tex ├── statics_infiniteLineCharge.tex ├── statics_infinitePlane.tex ├── stokesTheoremTheStatement.tex ├── stressTensorAlgebraically.tex ├── surfaceintegral.tex ├── surfaceintegraldef.tex ├── symmetricAndAntiSymmetricVectorSums.tex ├── table5.tex ├── teaser.txt ├── thisbook.sty ├── toriodalProblem.tex ├── torusCenterOfMassParameterization.tex ├── transverseField.tex ├── twoForceStaticsProblem.tex ├── vectorDerivative.tex ├── vectorTrivectorDot.tex ├── vectorcalc.tex ├── version_bash.tex ├── volumeintegral.tex ├── volumeintegraldef.tex ├── volumeselection.tex ├── wedgeDistributionIdentity.tex ├── wedgeDistributionIdentityProblemsWedgeDistributionIdentityProof.tex ├── wedgeProductArea.tex └── working ├── cyclicpermutationtwo.tex ├── ellipticalWavesPhasor.tex ├── old_kvector_and_blade.tex ├── orientation.tex ├── r4nonzerobivectorwedgewithselfAnswer.tex └── scalarPermutation.tex /.gitignore: -------------------------------------------------------------------------------- 1 | book_layout.sty 2 | peeters_macros.sty 3 | peeters_colorscheme.sty 4 | peeters_figures.sty 5 | peeters_tablebox.sty 6 | peeters_layout.sty 7 | peeters_braket.sty 8 | peeters_layout_exercise.sty 9 | macros_bm.sty 10 | macros_cal.sty 11 | macros_lcal.sty 12 | macros_qed.sty 13 | gabook.sty 14 | matlab.sty 15 | notes/GAelectrodynamics/GAelectrodynamics.tex 16 | notes/GAelectrodynamics/Bibliography.bib 17 | notes/GAelectrodynamics/FrontBackmatter/DirtyTitlepage.tex 18 | notes/GAelectrodynamics/FrontBackmatter/Index.tex 19 | notes/GAelectrodynamics/FrontBackmatter/ContentsAndFigures.tex 20 | notes/GAelectrodynamics/FrontBackmatter/Bibliography.tex 21 | notes/GAelectrodynamics/FrontBackmatter/Dedication.tex 22 | notes/GAelectrodynamics/FrontBackmatter/Titleback.tex 23 | notes/GAelectrodynamics/FrontBackmatter/copyright.tex 24 | notes/GAelectrodynamics/FrontBackmatter/Version.tex 25 | notes/GAelectrodynamics/currentBookCopyright.tex 26 | notes/GAelectrodynamics/mathematica.tex 27 | notes/GAelectrodynamics/backmatter.tex 28 | -------------------------------------------------------------------------------- /.junk/2dvectorsquare.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{}{problem:multiplication:2dvectorsquare}{ 6 | Generalize the calculation of \cref{eqn:gaTutorial:80} to calculate the square of an \R{n} vector. 7 | 8 | \begin{dmath}\label{eqn:multiplication:100} 9 | \Bx = \sum_i x_i \Be_i 10 | \end{dmath} 11 | } % problem 12 | 13 | \makeanswer{problem:multiplication:2dvectorsquare}{ 14 | Consider the 2D case to start with 15 | 16 | \begin{dmath}\label{eqn:multiplication:120} 17 | \Bx^2 18 | = 19 | \lr{ x \Be_1 + y \Be_2} 20 | \lr{ x \Be_1 + y \Be_2} 21 | = 22 | \lr{ x \Be_1 } \lr{ x \Be_1 } 23 | + 24 | \lr{ y \Be_2 } \lr{ y \Be_2 } 25 | + 26 | \lr{ x \Be_1 } \lr{ y \Be_2 } 27 | + 28 | \lr{ y \Be_2 } \lr{ x \Be_1 } 29 | = 30 | x^2 \Be_1^2 31 | + 32 | y^2 \Be_2^2 33 | + 34 | x y \lr{ \Be_1 \Be_2 + \Be_2 \Be_1 } 35 | = 36 | x^2 + y^2 37 | + 38 | x y \lr{ \Be_1 \Be_2 + \Be_2 \Be_1 }. 39 | \end{dmath} 40 | 41 | The contraction axiom requires the bivector terms to sum to zero, as also demonstrated previously for the specific example \( \Bx = \Be_1 + \Be_2 \). 42 | 43 | More generally for \R{N} 44 | 45 | \begin{dmath}\label{eqn:multiplication:121} 46 | \Bx^2 47 | = 48 | \lr{ \sum_i x_i \Be_i } 49 | \lr{ \sum_j x_j \Be_j } 50 | = 51 | \sum_{ij} x_i x_j \Be_i \Be_j 52 | = 53 | \sum_{i = j} x_i x_j \Be_i \Be_j 54 | + 55 | \sum_{i \ne j} x_i x_j \Be_i \Be_j 56 | = 57 | \sum_{i} x_i^2 58 | + 59 | \sum_{i \ne j} x_i x_j \Be_i \Be_j 60 | = 61 | \sum_{i} x_i^2 62 | + 63 | \sum_{i < j} x_i x_j (\Be_i \Be_j + \Be_j \Be_i). 64 | \end{dmath} 65 | 66 | The contraction axiom requires all the bivector pairs to sum to zero. That is, for each \( i \ne j \) 67 | 68 | \begin{dmath}\label{eqn:introGAproblems:140} 69 | \Be_i \Be_j = -\Be_j \Be_i. 70 | \end{dmath} 71 | } % answer 72 | -------------------------------------------------------------------------------- /.junk/ComplexInnerProductVsDotAndCrossProduct.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | \makeproblem{Complex inner product vs. dot and cross product.}{problem:introGAproblems:ComplexInnerProductVsDotAndCrossProduct}{ 7 | Given two 2D vectors \( (a,b) \) and \( (a', b') \), and a complex number representation of these vectors \( z = a + ib, w = a' + i b' \), show that the components of the complex inner product have the representation 8 | given by \cref{eqn:GAmotivation:220}. 9 | } % problem 10 | 11 | \makeanswer{problem:introGAproblems:ComplexInnerProductVsDotAndCrossProduct}{ 12 | \begin{dmath}\label{eqn:introGAproblems:20} 13 | z w^\conj 14 | = 15 | (a + ib)(a' - ib') 16 | = 17 | a a' + b b' 18 | + i \lr{ a' b - a b' } 19 | \leftrightarrow 20 | ( a a' + b b', a' b - a b' ). 21 | \end{dmath} 22 | } % answer 23 | -------------------------------------------------------------------------------- /.junk/Justifying_the_contraction_axiom.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/Justifying_the_contraction_axiom.tex -------------------------------------------------------------------------------- /.junk/R3PseudoscalarCommutation.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{\R{3} pseudoscalar commutation.}{problem:gradeselection:R3PseudoscalarCommutation}{ 6 | Show that \( I \) given by \cref{eqn:definitions:340} 7 | commutes with any grade \R{3} multivector. 8 | } % problem 9 | 10 | \makeanswer{problem:gradeselection:R3PseudoscalarCommutation}{ 11 | 12 | Showing that \( I \) commutes with each of the basis vectors is sufficient 13 | 14 | \begin{dmath}\label{eqn:gradeselectionProblems:620} 15 | \Be_1 I 16 | = 17 | \Be_1 (\Be_1 \Be_2 \Be_3) 18 | = 19 | \Be_1 (-\Be_2 \Be_1) \Be_3 20 | = 21 | -\Be_1 \Be_2 (-\Be_3 \Be_1) 22 | = 23 | I \Be_1 24 | \end{dmath} 25 | \begin{dmath}\label{eqn:gradeselectionProblems:640} 26 | \Be_2 I 27 | = 28 | \Be_2 (\Be_1 \Be_2 \Be_3) 29 | = 30 | \Be_2 \Be_1 (-\Be_3 \Be_2) 31 | = 32 | -(-\Be_1 \Be_2) \Be_3 \Be_2 33 | = 34 | I \Be_2. 35 | \end{dmath} 36 | \begin{dmath}\label{eqn:gradeselectionProblems:660} 37 | \Be_3 I 38 | = 39 | \Be_3 (\Be_1 \Be_2 \Be_3) 40 | = 41 | (\Be_3 \Be_1 \Be_2) \Be_3 42 | = 43 | -(\Be_1 \Be_3) \Be_2 \Be_3 44 | = 45 | -\Be_1 (-\Be_2 \Be_3) \Be_3 46 | = 47 | I \Be_3. \qedmarker 48 | \end{dmath} 49 | } % answer 50 | -------------------------------------------------------------------------------- /.junk/RnDotProduct.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | \makeproblem{\R{n} dot product.}{problem:gradeselection:RnDotProduct}{ 7 | Show that \ref{dfn:gradeselection:100} when applied to two vectors 8 | is equivalent to the traditional \R{n} dot product. 9 | } % problem 10 | 11 | \makeanswer{problem:gradeselection:RnDotProduct}{ 12 | Let 13 | \begin{dmath}\label{eqn:gradeselectionProblems:180} 14 | \begin{aligned} 15 | \Bx &= \sum_{i=1}^N x_i \Be_i \\ 16 | \By &= \sum_{i=1}^N y_i \Be_i. 17 | \end{aligned} 18 | \end{dmath} 19 | 20 | The dot product of these two vectors is 21 | \begin{dmath}\label{eqn:gradeselectionProblems:200} 22 | \Bx \cdot \By 23 | \equiv 24 | \gpgradezero{ \Bx \By } 25 | = 26 | \gpgradezero{ 27 | \lr{ \sum_{i=1}^N x_i \Be_i} 28 | \lr{ \sum_{j=1}^N y_j \Be_j} 29 | } 30 | = 31 | \sum_{1 \le i = j \le N} 32 | x_i y_j 33 | \gpgradezero{ \Be_i \Be_j } 34 | + 35 | \sum_{1 \le i \ne j \le N} 36 | x_i y_j 37 | \gpgradezero{ \Be_i \Be_j } 38 | \end{dmath} 39 | 40 | In the \( i = j \) sum, the term \( \Be_i \Be_j = \Be_i^2 = 1 \), so the scalar grade selection of that multivector product is just 1. In the \( i = j \) term, each of the \( \Be_i \Be_j \) products is a bivector, so each of those scalar grade selections is zero. 41 | 42 | That leaves 43 | 44 | \begin{dmath}\label{eqn:gradeselectionProblems:220} 45 | \Bx \cdot \By 46 | = 47 | \sum_{i =1}^N x_i y_i. \qedmarker 48 | \end{dmath} 49 | } % answer 50 | -------------------------------------------------------------------------------- /.junk/SimpleProducts.tex: -------------------------------------------------------------------------------- 1 | 2 | \subsection{Operational rules} 3 | For Euclidean vector spaces, spaces for which the length of a vector is always positive, a couple operational vector multiplication rules are sufficient to some basic familiarity with the algebra and derive some important conquences. 4 | Assuming an orthonormal basis \( \setlr{ \Be_1, \Be_2, \cdots } \), those rules are 5 | 6 | \makerule{Square of a unit vector.}{rule:simple:square}{ 7 | The square of a unit vector, such as \( \Be_1 \) is 1, a scalar. Stated more generally 8 | 9 | \begin{equation*} 10 | \Be_i \Be_i = 1, \quad \forall i \in 1, 2, \cdots 11 | \end{equation*} 12 | } 13 | 14 | \makerule{Orthogonal unit vectors anticommute.}{rule:simple:anticommute}{ 15 | The product of two orthognal unit vectors, such as \( \Be_2 \Be_1 \) anticommutes. That is \( \Be_2 \Be_1 = - \Be_1 \Be_2 \). Stated more generally 16 | \begin{equation*} 17 | \Be_i \Be_j = -\Be_j \Be_i, \quad \forall i \ne j \in 1, 2, \cdots 18 | \end{equation*} 19 | } 20 | 21 | In addition to these rules, one must assume that linear combinations of products of unit vectors are well formed. 22 | -------------------------------------------------------------------------------- /.junk/WedgeRelationshipToCrossProduct.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | \makeproblem{Wedge relationship to the cross product.}{problem:gradeselection:WedgeRelationshipToCrossProduct}{ 7 | For a pair of \R{3} vectors \( \Bx, \By \), show that the wedge and cross products are related by 8 | \begin{dmath}\label{eqn:gradeselectionProblems:560} 9 | \Bx \wedge \By = I (\Bx \cross \By), 10 | \end{dmath} 11 | 12 | where \( I = \Be_1 \Be_2 \Be_3 \) is the \R{3} pseudoscalar. 13 | } % problem 14 | 15 | \makeanswer{problem:gradeselection:WedgeRelationshipToCrossProduct}{ 16 | Writing out \cref{eqn:gradeselectionProblems:580} explicitly gives 17 | 18 | \begin{dmath}\label{eqn:gradeselectionProblems:600} 19 | \Bx \wedge \By 20 | = 21 | \begin{vmatrix} 22 | x_1 & x_2 \\ 23 | y_1 & y_2 24 | \end{vmatrix} 25 | \Be_1 \Be_2 26 | + 27 | \begin{vmatrix} 28 | x_1 & x_3 \\ 29 | y_1 & y_3 30 | \end{vmatrix} 31 | \Be_1 \Be_3 32 | + 33 | \begin{vmatrix} 34 | x_2 & x_3 \\ 35 | y_2 & y_3 36 | \end{vmatrix} 37 | \Be_2 \Be_3 38 | = 39 | \begin{vmatrix} 40 | \Be_2 \Be_3 41 | & \Be_3 \Be_1 42 | & \Be_1 \Be_2 \\ 43 | x_1 & x_2 & x_3 \\ 44 | y_1 & y_2 & y_3 45 | \end{vmatrix} 46 | = 47 | \begin{vmatrix} 48 | (\Be_1 \Be_1) \Be_2 \Be_3 49 | & \Be_3 \Be_1 (\Be_2 \Be_2) 50 | & \Be_1 \Be_2 (\Be_3 \Be_3) \\ 51 | x_1 & x_2 & x_3 \\ 52 | y_1 & y_2 & y_3 53 | \end{vmatrix} 54 | = 55 | \Be_1 \Be_2 \Be_3 56 | \begin{vmatrix} 57 | \Be_1 & \Be_2 & \Be_3 \\ 58 | x_1 & x_2 & x_3 \\ 59 | y_1 & y_2 & y_3 60 | \end{vmatrix} 61 | = I (\Bx \cross \By). 62 | \end{dmath} 63 | %\begin{aligned} 64 | %(x_1 y_2 - x_2 y_1) \Be_1 \Be_2 \\ 65 | %&\quad+ 66 | %(x_1 y_3 - x_3 y_1) \Be_1 \Be_3 \\ 67 | %&\quad+ 68 | %(x_2 y_3 - x_3 y_2) \Be_2 \Be_3 \\ 69 | %&= 70 | %(x_1 y_2 - x_2 y_1) \Be_1 \Be_2 (\Be_3 \Be_3) \\ 71 | %&\quad+ 72 | %(x_1 y_3 - x_3 y_1) \Be_1 \Be_3 (\Be_2 \Be_2) \\ 73 | %&\quad+ 74 | %(x_2 y_3 - x_3 y_2) \Be_2 \Be_3 (\Be_1 \Be_1) \\ 75 | %&= 76 | %(x_1 y_2 - x_2 y_1) I \Be_3 \\ 77 | %&\quad+ 78 | %(x_1 y_3 - x_3 y_1) (-I) \Be_2 \\ 79 | %&\quad+ 80 | %(x_2 y_3 - x_3 y_2) I \Be_1 \\ 81 | %\end{aligned} 82 | } % answer 83 | -------------------------------------------------------------------------------- /.junk/analysis_cavaet.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \paragraph{Unless otherwise stated, a Euclidean vector space with an orthonormal basis \( \setlr{\Be_1, \Be_2, \cdots } \) is assumed for the remainder of this chapter.} 6 | Generalizations required for non-Euclidean spaces will be discussed when (if?) spacetime vectors are introduced. 7 | -------------------------------------------------------------------------------- /.junk/areaOfParallelogram.tex: -------------------------------------------------------------------------------- 1 | \makeproblem{Area of a parallelogram.}{problem:SimpleProducts2:areaofparallelogram}{ 2 | Show that the area of a parallelogram formed by the \R{2} vectors \( \Ba = (a_1, a_2) \) and \( \Bb = (b_1, b_2) \) is the absolute value of 3 | 4 | \begin{equation*} 5 | \begin{vmatrix} 6 | a_1 & a_2 \\ 7 | b_1 & b_2 8 | \end{vmatrix}. 9 | \end{equation*} 10 | } % problem 11 | 12 | %\makeanswer{problem:SimpleProducts2:areaofparallelogram}{ 13 | %} % answer 14 | 15 | 16 | -------------------------------------------------------------------------------- /.junk/bivectorDot.tex: -------------------------------------------------------------------------------- 1 | 2 | Alternatively, this result can be obtained compactly using tensor contraction techniques, first making a duality transformation and then expanding in coordinates 3 | 4 | \begin{dmath}\label{eqn:bivectorDot:100} 5 | (\Ba \wedge \Bb) \cdot (\Bc \wedge \Bd) 6 | = 7 | \gpgradezero{ 8 | -I (\Ba \cross \Bb) (-I) (\Bc \cross \Bd) 9 | } 10 | = 11 | - (\Ba \cross \Bb) \cdot (\Bc \cross \Bd) 12 | = 13 | -(\epsilon_{ijk} \Be_i a_j b_k) \cdot (\epsilon_{r s t} \Be_r c_s d_t) 14 | = 15 | -\epsilon_{ijk} a_j b_k \epsilon_{i s t} c_s d_t 16 | = 17 | -\delta_{jk}^{[st]} 18 | a_j b_k c_s d_t 19 | = 20 | -a_s b_t c_s d_t 21 | + 22 | a_t b_s c_s d_t 23 | = 24 | -(\Ba \cdot \Bc)(\Bb \cdot \Bd) 25 | + 26 | (\Ba \cdot \Bd)(\Bb \cdot \Bc). 27 | \end{dmath} 28 | 29 | A student of physics might consider this a natural alternative approach. 30 | %Some GA authors may find this alternate derivation offensive, as it contains both an expansion by coordinates and requires an alternate toolbox. 31 | -------------------------------------------------------------------------------- /.junk/bivectorDot.tex.2: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Dot product expansion of two bivectors.}{problem:multiplication:bivectorDot}{ 6 | Show that 7 | 8 | \boxedEquation{eqn:bivectorDot:20}{ 9 | (\Ba \wedge \Bb) \cdot (\Bc \wedge \Bd) 10 | = 11 | \lr{ (\Ba \wedge \Bb) \cdot \Bc} \cdot \Bd, 12 | } 13 | 14 | and hence 15 | \boxedEquation{eqn:bivectorDot:40}{ 16 | (\Ba \wedge \Bb) \cdot (\Bc \wedge \Bd) 17 | = 18 | (\Bb \cdot \Bc) (\Ba \cdot \Bd) 19 | -(\Ba \cdot \Bc)( \Bb \cdot \Bd). 20 | } 21 | } % problem 22 | 23 | \makeanswer{problem:multiplication:bivectorDot}{ 24 | %FIXME: this proof relies on triple wedge products, which haven't been introduced yet. Can rephrase using grade-3 selection. 25 | Also rework as non-problem. 26 | \begin{dmath}\label{eqn:bivectorDot:60} 27 | (\Ba \wedge \Bb) \cdot (\Bc \wedge \Bd) 28 | = 29 | \gpgradezero{ 30 | (\Ba \wedge \Bb) (\Bc \wedge \Bd) 31 | } 32 | = 33 | \gpgradezero{ 34 | (\Ba \wedge \Bb) (\Bc \Bd - \cancel{\Bc \cdot \Bd}) 35 | } 36 | = 37 | \gpgradezero{ 38 | \lr{ 39 | (\Ba \wedge \Bb) \cdot \Bc 40 | + \cancel{(\Ba \wedge \Bb) \wedge \Bc } 41 | } 42 | \Bd 43 | } 44 | = 45 | \gpgradezero{ 46 | ((\Ba \wedge \Bb) \cdot \Bc ) \cdot \Bd 47 | + 48 | \cancel{((\Ba \wedge \Bb) \cdot \Bc ) \wedge \Bd} 49 | } 50 | = 51 | ((\Ba \wedge \Bb) \cdot \Bc ) \cdot \Bd. 52 | \end{dmath} 53 | 54 | Above, any product that could not possibly contribute a scalar grade has been cancelled. The remains are now straightforward to expand 55 | 56 | \begin{dmath}\label{eqn:bivectorDot:80} 57 | ((\Ba \wedge \Bb) \cdot \Bc ) \cdot \Bd 58 | = 59 | ( 60 | \Ba (\Bb \cdot \Bc) 61 | - 62 | \Bb (\Ba \cdot \Bc) 63 | ) 64 | \cdot \Bd 65 | = 66 | (\Ba \cdot \Bd) (\Bb \cdot \Bc) 67 | - 68 | (\Bb \cdot \Bd) (\Ba \cdot \Bc). 69 | \end{dmath} 70 | 71 | } % answer 72 | -------------------------------------------------------------------------------- /.junk/complexNumbers.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Complex numbers}{problem:gradeselection:ComplexNumbers}{ 6 | Show that complex numbers can be represented as even grade multivectors \( z = a + \Be_1 \Be_2 b \). 7 | } % problem 8 | 9 | \makeanswer{problem:gradeselection:ComplexNumbers}{ 10 | Let \( i = \Be_1 \Be_2 \), for which we find 11 | 12 | \begin{dmath}\label{eqn:gradeselectionProblems:260} 13 | i^2 14 | = 15 | \lr{ \Be_1 \Be_2 } 16 | \lr{ \Be_1 \Be_2 } 17 | = 18 | \Be_1 (\Be_2 \Be_1) \Be_2 19 | = 20 | \Be_1 (-\Be_1 \Be_2) \Be_2 21 | = 22 | -(\Be_1^2) (\Be_2^2) 23 | = 24 | -1. 25 | \end{dmath} 26 | 27 | The even grade multivector \( z = a + i b \) is thus seen to have all the properties required of complex numbers. 28 | } % answer 29 | -------------------------------------------------------------------------------- /.junk/continuity.tex: -------------------------------------------------------------------------------- 1 | 2 | \index{wave equation} 3 | %Having assembled all of Maxwell's equations into \cref{dfn:isotropicMaxwells:680}, some results now follow almost trivially. 4 | %One such result is the wave equation in space free of sources. 5 | %In such a region, Maxwell's equation is just 6 | %\begin{dmath}\label{eqn:waveequation:480} 7 | %\lr{ \spacegrad + \inv{c} \PD{t}{} } F = 0. 8 | %\end{dmath} 9 | % 10 | %This can be multiplied from the left with the multivector operator \( \spacegrad - \inv{c} \PD{t}{} \), to give 11 | %\begin{dmath}\label{eqn:waveequation:500} 12 | %0 = 13 | %\lr{ \spacegrad - \inv{c} \PD{t}{} } 14 | %\lr{ \spacegrad + \inv{c} \PD{t}{} } F 15 | %= 16 | %\lr{ \spacegrad^2 - \inv{c^2} \PDSq{t}{} } F, 17 | %\end{dmath} 18 | %or 19 | In source free conditions \cref{eqn:continuity:110} reduces to an homogeneous wave equation 20 | %\begin{dmath}\label{eqn:waveequation:520} 21 | \boxedEquation{eqn:continuity:520}{ 22 | \spacegrad^2 F = \inv{c^2} \PDSq{t}{F}. 23 | } 24 | %\end{dmath} 25 | 26 | The solutions of the wave equation are well known, allowing us to immediately state that the solution is 27 | \begin{dmath}\label{eqn:continuity:560} 28 | F(\Bx, t) = f(\Norm{\Bx} \pm c t), 29 | \end{dmath} 30 | where \( f \) is any grade 1,2 multivector, provided that \( F \) also satisfies the constraints imposed by 31 | Maxwell's equation \cref{dfn:isotropicMaxwells:680}. 32 | 33 | In conventional electromagnetism, we have independent wave equations for 34 | each of the electric and magnetic fields. 35 | We can obtain those by applying vector and bivector grade selection operations to 36 | \cref{eqn:continuity:520} to find 37 | \begin{dmath}\label{eqn:waveequation:540} 38 | \begin{aligned} 39 | \spacegrad^2 \BE &= \inv{c^2} \PDSq{t}{\BE} \\ 40 | \spacegrad^2 (I \BH) &= \inv{c^2} \PDSq{t}{(I \BH)}. 41 | \end{aligned} 42 | \end{dmath} 43 | The pseudoscalar factors in the magnetic field wave equation can be eliminated by multiplying with 44 | \( -I \), which yields the conventional pair of vector wave equations for the electric and magnetic fields. Any solutions 45 | to 46 | \cref{eqn:waveequation:540} are also constrained by Maxwell's equation. 47 | -------------------------------------------------------------------------------- /.junk/coordinateNinetyDegreeRotation.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Ninety degree rotation in coordinates.}{problem:coordinateNinetyDegreeRotation:1}{ 6 | 7 | Rotate the vector 8 | 9 | \begin{dmath}\label{eqn:coordinateNinetyDegreeRotation:240} 10 | \Bx = \rho 11 | \begin{bmatrix} 12 | \cos\theta \\ 13 | \sin\theta \\ 14 | \end{bmatrix}, 15 | \end{dmath} 16 | 17 | in the \( x,y \) plane by \(\pm \pi/2\) using the 2D rotation matrix 18 | \begin{dmath}\label{eqn:coordinateNinetyDegreeRotation:280} 19 | R_\theta = 20 | \begin{bmatrix} 21 | \cos\theta & -\sin\theta \\ 22 | \sin\theta & \cos\theta 23 | \end{bmatrix}, 24 | \end{dmath} 25 | 26 | and compare the result with \cref{eqn:SimpleProducts2:300} and \cref{eqn:SimpleProducts2:310}. 27 | } % problem 28 | 29 | \makeanswer{problem:coordinateNinetyDegreeRotation:1}{ 30 | The counterclockwise (positive) rotation is 31 | 32 | \begin{dmath}\label{eqn:coordinateNinetyDegreeRotation:260} 33 | \Bx' 34 | = 35 | \begin{bmatrix} 36 | 0 & -1 \\ 37 | 1 & 0 \\ 38 | \end{bmatrix} 39 | \begin{bmatrix} 40 | \cos\theta \\ 41 | \sin\theta \\ 42 | \end{bmatrix} 43 | = 44 | \rho 45 | \begin{bmatrix} 46 | -\sin\theta \\ 47 | \cos\theta 48 | \end{bmatrix}, 49 | \end{dmath} 50 | 51 | consistent with \cref{eqn:SimpleProducts2:300}. The clockwise rotation is 52 | 53 | \begin{dmath}\label{eqn:coordinateNinetyDegreeRotation:300} 54 | \Bx'' 55 | = 56 | \begin{bmatrix} 57 | 0 & 1 \\ 58 | -1 & 0 \\ 59 | \end{bmatrix} 60 | \begin{bmatrix} 61 | \cos\theta \\ 62 | \sin\theta \\ 63 | \end{bmatrix} 64 | = 65 | \rho 66 | \begin{bmatrix} 67 | \sin\theta \\ 68 | -\cos\theta 69 | \end{bmatrix}, 70 | \end{dmath} 71 | 72 | which matches \cref{eqn:SimpleProducts2:310}. 73 | } % answer 74 | -------------------------------------------------------------------------------- /.junk/crossProductLinearIntersectionProblem.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Linear intersection in \R{3}}{problem:crossProductLinearIntersectionProblem:1}{ 6 | Solve \cref{eqn:SimpleProducts2:1060} in \R{3} using the cross product. 7 | } % problem 8 | 9 | \makeanswer{problem:crossProductLinearIntersectionProblem:1}{ 10 | 11 | Because vector division in \R{3} is not traditionally available, the solution would have to take the form 12 | 13 | \begin{dmath}\label{eqn:crossProductLinearIntersectionProblem:10} 14 | \begin{aligned} 15 | s &= -\frac{(\Bd \cross \Bu_2) \cdot (\Bu_1 \cross \Bu_2)}{\Norm{\Bu_1 \cross \Bu_2}^2} \\ 16 | t &= -\frac{(\Bd \cross \Bu_1) \cdot (\Bu_1 \cross \Bu_2)}{\Norm{\Bu_1 \cross \Bu_2}^2}, 17 | \end{aligned} 18 | \end{dmath} 19 | 20 | where the restriction required for solution validity would be \( ( \Bd \cross \Bu_2 ) \cross (\Bu_1 \cross \Bu_2 ) = 0 \). 21 | } % answer 22 | -------------------------------------------------------------------------------- /.junk/curvilinearGradient.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/curvilinearGradient.tex -------------------------------------------------------------------------------- /.junk/definitions.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/definitions.tex -------------------------------------------------------------------------------- /.junk/dotprodSymmetricSum.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Dot product of vectors as symmetric sum}{problem:gradeselection:dotprod}{ 6 | Show that the dot product of two vectors can be written as a symmetric sum 7 | 8 | \begin{dmath}\label{eqn:gradeselection:600} 9 | \Bx \cdot \By = \inv{2} \lr{ \Bx \By + \By \Bx }. 10 | \end{dmath} 11 | } % problem 12 | 13 | \makeanswer{problem:gradeselection:dotprod}{ 14 | There are a few ways that this can be demonstrated. The first relies on the classical definition of the dot product. Expanding the square of a vector sum gives 15 | 16 | \begin{dmath}\label{eqn:gradeselectionProblems:700} 17 | (\Bx + \By)^2 = \Bx^2 + \By^2 + \Bx \By + \By \Bx. 18 | \end{dmath} 19 | 20 | By comparison this must also be equal to 21 | 22 | \begin{dmath}\label{eqn:gradeselectionProblems:720} 23 | \Norm{\Bx + \By}^2 = \Bx^2 + \By^2 + 2 \Bx \cdot \By, 24 | \end{dmath} 25 | 26 | so 27 | \begin{dmath}\label{eqn:gradeselectionProblems:740} 28 | \Bx \By + \By \Bx = 2 \Bx \cdot \By. 29 | \end{dmath} 30 | 31 | This might be viewed as a cheat, since it is not using the dot product as defined by grade zero selection according to \cref{dfn:gradeselection:100}. Using that definition will produce the same result 32 | 33 | \begin{dmath}\label{eqn:gradeselectionProblems:760} 34 | \gpgradezero{ (\Bx + \By)^2 } 35 | = 36 | \gpgradezero{ \Bx^2 + \By^2 + \Bx \By + \By \Bx } 37 | = 38 | \Bx^2 + \By^2 39 | + 40 | \gpgradezero{ 41 | \Bx \By } 42 | + \gpgradezero{ \By \Bx }. 43 | \end{dmath} 44 | 45 | It was shown in \cref{problem:gradeselection:cyclicpermutationtwo} that \( \gpgradezero{ \Bx \By } = \gpgradezero{ \By \Bx } \) so 46 | \begin{dmath}\label{eqn:gradeselectionProblems:780} 47 | 2 \gpgradezero{ \Bx \By } = \Bx \By + \By \Bx. 48 | \end{dmath} 49 | 50 | Using \cref{dfn:gradeselection:100}, this completes the problem. 51 | } % answer 52 | -------------------------------------------------------------------------------- /.junk/ece2500reportIntro.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/ece2500reportIntro.tex -------------------------------------------------------------------------------- /.junk/electrostatics.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | (cut) 6 | 7 | \begin{subequations} 8 | \label{eqn:electrostatics:99} 9 | \begin{dmath}\label{eqn:electrostatics:100} 10 | \spacegrad \cross \BE = 0 11 | \end{dmath} 12 | \begin{dmath}\label{eqn:electrostatics:120} 13 | \spacegrad \cross \BB = 0 14 | \end{dmath} 15 | \begin{dmath}\label{eqn:electrostatics:140} 16 | \spacegrad \cdot \BE = \frac{\rho}{\epsilon} 17 | \end{dmath} 18 | \begin{dmath}\label{eqn:electrostatics:160} 19 | \spacegrad \cdot \BB = 0. 20 | \end{dmath} 21 | \end{subequations} 22 | 23 | All the complicated coupling of the electric and magnetic fields is eliminated, and the only source term remaining is a time independent charge density \( \rho = \rho(\Bx) \). 24 | 25 | Utilizing \cref{eqn:SimpleProducts2:1640}, the geometric product of the gradient \( \spacegrad \) with a vector \( \Ba = \Bx(\Bx) \) is 26 | \begin{dmath}\label{eqn:electrostatics:240} 27 | \spacegrad \Ba = \spacegrad \cdot \Ba + I(\spacegrad \cross \Ba). 28 | \end{dmath} 29 | 30 | \Cref{eqn:electrostatics:240} can be used to rewrite the electrostatic Maxwell equations (\cref{eqn:electrostatics:99}), as a pair of multivector gradient equations 31 | %\begin{subequations} 32 | %\label{eqn:electrostatics:360} 33 | %\begin{equation}\label{eqn:electrostatics:380} 34 | %\begin{equation}\label{eqn:electrostatics:400} 35 | \boxedEquation{eqn:electrostatics:380}{ 36 | \begin{aligned} 37 | \spacegrad \BE &= \frac{\rho}{\epsilon} \\ 38 | \spacegrad \BB &= 0. 39 | \end{aligned} 40 | } 41 | %\end{subequations} 42 | 43 | -------------------------------------------------------------------------------- /.junk/electrostaticsProblems.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Radial gradient.}{problem:electrostatics:gradrelation}{ 6 | Prove \cref{eqn:electrostatics_poissonEquationSolution:541}. 7 | } % problem 8 | 9 | -------------------------------------------------------------------------------- /.junk/electrostatics_electricPotential.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | If a gradient representation of the electric field is assumed 7 | \begin{dmath}\label{eqn:electrostatics_electricPotential:561} 8 | \BE(\Bx) = -\spacegrad \phi(\Bx), 9 | \end{dmath} 10 | then 11 | inserting 12 | this assumed representation into \cref{eqn:electrostatics:380} provides the 13 | Poisson equation directly 14 | %\begin{dmath}\label{eqn:electrostatics_electricPotential:581} 15 | \boxedEquation{eqn:electrostatics_electricPotential:581}{ 16 | \spacegrad^2 \phi = -\frac{\rho}{\epsilon}. 17 | } 18 | %\end{dmath} 19 | %This has solution \cref{eqn:electrostatics_poissonEquationSolution:601} but can also be solved using 20 | -------------------------------------------------------------------------------- /.junk/electrostatics_enclosedCharge.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{electrostatics} 6 | \index{time independence} 7 | %The study of 8 | %field and charge distributions that are independent of time is called electrostatics, a special case of the statics conditions already covered. 9 | %In such a configuration Maxwell's equation is just 10 | %\begin{dmath}\label{eqn:electrostatics_enclosedCharge:n} 11 | %\spacegrad F = \frac{\rho}{\epsilon}. 12 | %\end{dmath} 13 | With such conditions, the free space representation of Maxwell's equations \cref{eqn:freespace:3399} with no magnetic sources is simply 14 | 15 | In the electrostatics 16 | 17 | The charge in a volume can be related to the electric field by integrating \cref{eqn:electrostatics:380} 18 | \begin{dmath}\label{eqn:electrostatics_enclosedCharge:420} 19 | \int_V d^3 \Bx \spacegrad \BE = \inv{\epsilon} \int_V d^3 \Bx \rho(\Bx). 20 | \end{dmath} 21 | 22 | This is an oriented integral, where \( d^3 \Bx \) is a pseudoscalar volume element, such as 23 | \( d^3 \Bx = (\Be_1 dx) \wedge (\Be_2 dy) \wedge (\Be_3 dz) = I dx dy dz \). 24 | 25 | The LHS integral can be evaluated using 26 | %the fundamental theorem of geometric calculus 27 | \cref{thm:fundamentalTheoremOfCalculus:1} 28 | \begin{dmath}\label{eqn:electrostatics_enclosedCharge:461} 29 | \int_{\partial V} d^2 \Bx \BE = \frac{I}{\epsilon} \int_V dV \rho(\Bx). 30 | \end{dmath} 31 | 32 | An outward normal \( \ncap \) can be used to 33 | parameterize the bivector surface area element \( d^2 \Bx = I \ncap dA \), which allows the pseudoscalar factors on both 34 | sides to be cancelled 35 | %\begin{dmath}\label{eqn:electrostatics_enclosedCharge:460} 36 | \boxedEquation{eqn:electrostatics_enclosedCharge:460}{ 37 | \int_{\partial V} dA \ncap \BE = \frac{1}{\epsilon} \int_V dV \rho(\Bx). 38 | } 39 | %\end{dmath} 40 | 41 | This is a multivector equation which must be simultaneously satisfied by its scalar and bivector components 42 | 43 | \begin{subequations} 44 | \label{eqn:electrostatics_enclosedCharge:481} 45 | \begin{dmath}\label{eqn:electrostatics_enclosedCharge:501} 46 | \int_{\partial V} dA \ncap \cdot \BE = \frac{1}{\epsilon} \int_V dV \rho(\Bx) 47 | \end{dmath} 48 | \begin{dmath}\label{eqn:electrostatics_enclosedCharge:521} 49 | \int_{\partial V} dA \ncap \wedge \BE = 0. 50 | \end{dmath} 51 | \end{subequations} 52 | 53 | \index{enclosed charge} 54 | The first equation is the familiar relationship between the divergence and the enclosed charge, which could have been derived from \cref{eqn:electrostatics:140} directly. 55 | The second provides a constraint on the tangential components of the field with respect to the enclosed volume, and could have been derived from 56 | \cref{eqn:electrostatics:100} directly. 57 | The multivector equation \cref{eqn:electrostatics_enclosedCharge:460} encodes both of these relationships, simultaneously incorporating the contributions of the Maxwell divergence and curl equations for the electric field, relating both to the enclosed charge. 58 | 59 | -------------------------------------------------------------------------------- /.junk/electrostatics_invertingGradient.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{Green's function} 6 | \index{convolution} 7 | From \cref{thm:gradientGreensFunctionEuclidean:720} 8 | %From \cref{thm:gradientGreensFunctionEuclidean:1}, the 9 | \R{3} Green's function for the gradient (on an infinite spherical bounding surface) is 10 | \begin{dmath}\label{eqn:electrostatics_invertingGradient:260} 11 | G(\Bx, \Bx') = \inv{4 \pi} \frac{\Bx - \Bx'}{\Norm{\Bx - \Bx'}^3}, 12 | \end{dmath} 13 | so the convolution that inverts the electric field gradient equation is 14 | \begin{dmath}\label{eqn:electrostatics_invertingGradient:621} 15 | \BE(\Bx) 16 | = \int_V dV' G(\Bx, \Bx') \spacegrad' \BE(\Bx') 17 | = \int_V dV' G(\Bx, \Bx') \lr{ \inv{\epsilon}\rho(\Bx') } 18 | = \inv{4\pi} \int_V dV' \frac{\Bx - \Bx'}{ \Abs{\Bx - \Bx'}^3 } \lr{ \inv{\epsilon}\rho(\Bx') }, 19 | \end{dmath} 20 | or 21 | %\begin{dmath}\label{eqn:electrostatics_invertingGradient:340} 22 | \boxedEquation{eqn:electrostatics_invertingGradient:340}{ 23 | \BE(\Bx) = 24 | \inv{4 \pi \epsilon} \int dV' \rho(\Bx') \frac{\Bx - \Bx'}{\Norm{\Bx - \Bx'}^3}, 25 | } 26 | %\end{dmath} 27 | which is Coulomb's law. 28 | 29 | The convolution for the magnetic field is trivial 30 | \begin{dmath}\label{eqn:electrostatics_invertingGradient:641} 31 | \BB(\Bx) 32 | = \int_V dV' G(\Bx, \Bx') \spacegrad' \BB(\Bx') 33 | = \int_V dV' G(\Bx, \Bx') (0), 34 | \end{dmath} 35 | so the magnetic field is zero everywhere 36 | \begin{dmath}\label{eqn:electrostatics_invertingGradient:320} 37 | \BB(\Bx) = 0. 38 | \end{dmath} 39 | 40 | %Question: would a non-zero magnetic field solution be possible if a Green's function for a finite bounded surface were to be used instead? 41 | 42 | -------------------------------------------------------------------------------- /.junk/electrostatics_poissonEquationSolution.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{Poisson equation} 6 | Provided \( \Bx \ne \Bx' \), it is simple to show that (\cref{problem:electrostatics:gradrelation}) 7 | \begin{dmath}\label{eqn:electrostatics_poissonEquationSolution:541} 8 | \spacegrad \Norm{\Bx - \Bx'}^k = k (\Bx - \Bx') \Norm{ \Bx - \Bx' }^{k-2}. 9 | \end{dmath} 10 | 11 | In particular 12 | \begin{dmath}\label{eqn:electrostatics_poissonEquationSolution:542} 13 | \spacegrad \inv{\Norm{\Bx - \Bx'}} = - \frac{(\Bx - \Bx')}{\Norm{ \Bx - \Bx' }^{3}}. 14 | \end{dmath} 15 | 16 | Inserting \cref{eqn:electrostatics_poissonEquationSolution:542} into Coulomb's law \cref{eqn:electrostatics_invertingGradient:340} gives 17 | \begin{dmath}\label{eqn:electrostatics_poissonEquationSolution:661} 18 | \BE(\Bx) 19 | = 20 | -\inv{4 \pi \epsilon} \int dV' \rho(\Bx') \spacegrad \inv{\Norm{\Bx - \Bx'}} 21 | = 22 | - \spacegrad \inv{4 \pi \epsilon} \int dV' \frac{\rho(\Bx')}{\Norm{\Bx - \Bx'}}, 23 | \end{dmath} 24 | which implicitly provides the solution to the Poisson equation \cref{eqn:electrostatics_electricPotential:581} 25 | %\begin{dmath}\label{eqn:electrostatics_poissonEquationSolution:601} 26 | \boxedEquation{eqn:electrostatics_poissonEquationSolution:601}{ 27 | \phi(\Bx) = \inv{4 \pi \epsilon} \int dV' \frac{ \rho(\Bx') }{\Norm{\Bx - \Bx'}}. 28 | } 29 | %\end{dmath} 30 | 31 | \index{Laplacian} 32 | The solution \cref{eqn:electrostatics_poissonEquationSolution:601} could also have been obtained from the Green's function for the Laplacian 33 | \cref{eqn:helmholtzDerviationMultivectorSolution:100}. 34 | -------------------------------------------------------------------------------- /.junk/formsVsGA.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/formsVsGA.tex -------------------------------------------------------------------------------- /.junk/gagradeprojection.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/gagradeprojection.tex -------------------------------------------------------------------------------- /.junk/gaugeGeneral.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/gaugeGeneral.tex -------------------------------------------------------------------------------- /.junk/generalPotential.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/generalPotential.tex -------------------------------------------------------------------------------- /.junk/gradeselVectorWedge.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Vector wedge coordinate expansion and antisymmetry}{problem:gradeselection:vectorwedge}{ 6 | Show that 7 | \begin{dmath}\label{eqn:gradeselection:620} 8 | \Bx \wedge \By 9 | = 10 | %\sum_{i < j} (x_i y_j - x_j y_i) \Be_i \Be_j. 11 | \sum_{i < j} 12 | \begin{vmatrix} 13 | x_i & x_j \\ 14 | y_i & y_j 15 | \end{vmatrix} 16 | \Be_i \Be_j. 17 | \end{dmath} 18 | 19 | Observe from this coordinate expansion that the wedge product of two vectors is antisymmetric 20 | \boxedEquation{eqn:gradeselection:640}{ 21 | \Bx \wedge \By = -\By \wedge \Bx. 22 | } 23 | } % problem 24 | 25 | \makeanswer{problem:gradeselection:vectorwedge}{ 26 | Given \( \Bx = \sum_i x_i \Be_i \), and \( \By = \sum_i y_i \Be_i \), the wedge of these two vectors is a grade two selection that picks out only products that differ in index 27 | 28 | \begin{dmath}\label{eqn:gradeselectionProblems:580} 29 | \Bx \wedge \By 30 | = 31 | \gpgradetwo{ \Bx \By } 32 | = 33 | \sum_{i,j} \gpgradetwo{ x_i \Be_i y_j \Be_j } 34 | = 35 | \sum_{i \ne j} x_i y_j \gpgradetwo{ \Be_i \Be_j } 36 | = 37 | \sum_{i \ne j} x_i y_j \Be_i \Be_j 38 | = 39 | \sum_{i < j} (x_i y_j - x_j y_i) \Be_i \Be_j 40 | = 41 | \sum_{i < j} 42 | \begin{vmatrix} 43 | x_i & x_j \\ 44 | y_i & y_j 45 | \end{vmatrix} 46 | \Be_i \Be_j. 47 | \end{dmath} 48 | 49 | When \( \Bx, \By \), the rows in each of the above determinants will swap, negating the sign of each. This implies \( \By \wedge \Bx = -\Bx \wedge \By \). 50 | } % answer 51 | -------------------------------------------------------------------------------- /.junk/gradeselection.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/gradeselection.tex -------------------------------------------------------------------------------- /.junk/gradeselectionProblems.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | %\makeanswer{problem:vectorproduct:cyclicpermutationII}{ 20 | %FIXME: todo. 21 | %} % answer 22 | % 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /.junk/greensFunctionLaplacian.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/greensFunctionLaplacian.tex -------------------------------------------------------------------------------- /.junk/introGAproblems.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/introGAproblems.tex -------------------------------------------------------------------------------- /.junk/left2dimaginarymultiplication.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{2D left pseudoscalar multiplication}{problem:left2dimaginarymultiplication:1}{ 6 | 7 | Compute the coordinate representation of an arbitrary 2D vector, and its clockwise rotation, and show that left multiplication by the 2D pseudoscalar produces the same result. 8 | } % problem 9 | 10 | \makeanswer{problem:left2dimaginarymultiplication:1}{ 11 | 12 | The rotated coordinate vector is 13 | \begin{dmath}\label{eqn:left2dimaginarymultiplication:20} 14 | \Bx' 15 | = 16 | \begin{bmatrix} 17 | 0 & 1 \\ 18 | -1 & 0 \\ 19 | \end{bmatrix} 20 | \begin{bmatrix} 21 | \cos\theta \\ 22 | \sin\theta \\ 23 | \end{bmatrix} 24 | = 25 | \rho 26 | \begin{bmatrix} 27 | \sin\theta \\ 28 | -\cos\theta 29 | \end{bmatrix}. 30 | \end{dmath} 31 | 32 | This 33 | compares identically to left pseudoscalar product with the standard basis representation of the same vector 34 | 35 | \begin{dmath}\label{eqn:left2dimaginarymultiplication:40} 36 | \Bx' 37 | = \Be_1 \Be_2 \rho \lr{ \Be_1 \cos\theta + \Be_2 \sin\theta } \Be_1 \Be_2 38 | = \rho \lr{ -\Be_2 \cos\theta + \Be_1 \sin\theta }, 39 | \end{dmath} 40 | 41 | } % answer 42 | -------------------------------------------------------------------------------- /.junk/logquestion.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/logquestion.tex -------------------------------------------------------------------------------- /.junk/magnetostatics.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{magnetostatics} 6 | \index{time independence} 7 | Magnetostatics is the study of Maxwell's equations where 8 | a time independent restriction of the fields is imposed, and 9 | it assumed that there are no static charge distributions. 10 | For such constraints (and no magnetic sources) the free space Maxwell's equations are simply 11 | 12 | \begin{subequations} 13 | \label{eqn:magnetostatics:99} 14 | \begin{dmath}\label{eqn:magnetostatics:100} 15 | \spacegrad \cross \BE = 0 16 | \end{dmath} 17 | \begin{dmath}\label{eqn:magnetostatics:120} 18 | \spacegrad \cross \BB = \mu \BJ 19 | \end{dmath} 20 | \begin{dmath}\label{eqn:magnetostatics:140} 21 | \spacegrad \cdot \BE = 0 22 | \end{dmath} 23 | \begin{dmath}\label{eqn:magnetostatics:160} 24 | \spacegrad \cdot \BB = 0. 25 | \end{dmath} 26 | \end{subequations} 27 | 28 | \Cref{eqn:electrostatics:240} can be used to rewrite the magnetostatic Maxwell equations (\cref{eqn:magnetostatics:99}), as a pair of multivector gradient equations. 29 | The electric field equation is just 30 | \begin{equation}\label{eqn:magnetostatics:400} 31 | \spacegrad \BE = 0, 32 | \end{equation} 33 | and for the magnetic field, we have 34 | \begin{dmath}\label{eqn:magnetostatics:420} 35 | \spacegrad \BB 36 | = 37 | \spacegrad \cdot \BB 38 | + 39 | I (\spacegrad \cross \BB). 40 | \end{dmath} 41 | 42 | As was the case in electrostatics, Maxwell's equations can be reduced to a pair of multivector gradient equations 43 | %\begin{dmath}\label{eqn:magnetostatics:380} 44 | \boxedEquation{eqn:magnetostatics:380}{ 45 | \begin{aligned} 46 | \spacegrad \BB &= I \mu \BJ \\ 47 | \spacegrad \BE &= 0. 48 | \end{aligned} 49 | } 50 | %\end{dmath} 51 | 52 | Constraints must be imposed on the current density for \cref{eqn:magnetostatics:380} to be satisfied. 53 | This can be seen by left multiplying with the gradient 54 | \begin{dmath}\label{eqn:magnetostatics:440} 55 | \spacegrad^2 \BB 56 | = \mu I \spacegrad \BJ 57 | = \mu I \lr{ \spacegrad \cdot \BJ + \spacegrad \wedge \BJ } 58 | = \mu \lr{ I (\spacegrad \cdot \BJ) - \spacegrad \cross \BJ }. 59 | \end{dmath} 60 | 61 | The left hand side is a vector, whereas the right hand side has vector and pseudoscalar grades. 62 | This means that magnetostatics conditions require the divergence of the current density to be zero 63 | \begin{dmath}\label{eqn:magnetostatics:460} 64 | \spacegrad \cdot \BJ = 0. 65 | \end{dmath} 66 | -------------------------------------------------------------------------------- /.junk/magnetostatics_enclosedCurrent.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | 7 | \index{enclosed current} 8 | 9 | Starting with 10 | \cref{eqn:magnetostatics:380}, the 11 | integral of the 12 | charge density through an open surface can be calculated 13 | \begin{dmath}\label{eqn:magnetostatics_enclosedCurrent:720} 14 | \mu \int_S d^2 \Bx \cdot (I \BJ) 15 | = 16 | \int_S d^2 \Bx \cdot (\spacegrad \BB) 17 | = 18 | \int_S d^2 \Bx \cdot (\spacegrad \wedge \BB) 19 | = 20 | \int_{\partial S} d^1 \Bx \cdot \BB. 21 | \end{dmath} 22 | 23 | The specific orientation of the path around the surface for a two parameter expansion of Stokes' theorem 24 | (\cref{thm:surfaceintegral:500}), 25 | %(\cref{eqn:twoparameter:280}), 26 | was a clockwise loop. 27 | Let 28 | \( d^2 \Bx = I \ncap dA \), \( d^1 \Bx = d\Bl \), giving 29 | \begin{dmath}\label{eqn:magnetostatics_enclosedCurrent:740} 30 | \ointclockwise_{\partial S} d\Bl \cdot \BB 31 | = \mu \int_S dA (\ncap I) \cdot (I \BJ) 32 | = -\mu \int_S dA \ncap \cdot \BJ. 33 | \end{dmath} 34 | 35 | The circulation of the magnetic field around the boundary of a surface that the current density is flowing through is the enclosed surface. 36 | This can be written as the dot product of an oriented area element with the dual of the current density (a bivector), or in the traditional form as a dot product of the current density with the outwards normal to the surface 37 | %\begin{equation}\label{eqn:magnetostatics_enclosedCurrent:780} 38 | \boxedEquation{eqn:magnetostatics:800}{ 39 | \begin{aligned} 40 | \ointclockwise_{\partial S} d\Bl \cdot \BB &= \mu \int_S d^2 \Bx \cdot (I \BJ) \\ 41 | \ointctrclockwise_{\partial S} d\Bl \cdot \BB &= \mu \int_S dA \ncap \cdot \BJ. 42 | \end{aligned} 43 | } 44 | %\end{equation} 45 | 46 | %The bivector form of the dot product makes some geometrical sense, as we take a per unit area quantity (\(-I \BJ\)) with bivector grade and multiply it with a bivector area element, producing exactly the enclosed current flowing through the surface. 47 | 48 | %} 49 | -------------------------------------------------------------------------------- /.junk/magnetostatics_enclosedCurrentDensity.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | \index{enclosed current density} 7 | 8 | A volume integral of \cref{eqn:magnetostatics:380} provides a relationship between the total enclosed current density and the magnetic field. 9 | The fundamental theorem gives 10 | \begin{dmath}\label{eqn:magnetostatics_enclosedCurrentDensity:580} 11 | -\mu I 12 | \int_V d^3 \Bx \BJ = 13 | \int_V d^3 \Bx \spacegrad \BB = 14 | \int_{\partial V} d^2 \Bx \BB. 15 | \end{dmath} 16 | 17 | With a normal parameterization of the oriented surface area element \( d^2 \Bx = I \ncap dA \), and \( d^3 \Bx = I dV \), 18 | \cref{eqn:magnetostatics_enclosedCurrentDensity:580} is reduced to 19 | %\begin{dmath}\label{eqn:magnetostatics_enclosedCurrentDensity:600} 20 | \boxedEquation{eqn:magnetostatics_enclosedCurrentDensity:600}{ 21 | \int_{\partial V} dA I \ncap \BB = \mu \int_V dV \BJ. 22 | } 23 | %\end{dmath} 24 | 25 | This can be split into two grades 26 | 27 | \begin{subequations} 28 | \label{eqn:magnetostatics_enclosedCurrentDensity:620} 29 | \begin{dmath}\label{eqn:magnetostatics_enclosedCurrentDensity:640} 30 | I \int_{\partial V} dA \ncap \cdot \BB = 0 31 | \end{dmath} 32 | \begin{dmath}\label{eqn:magnetostatics_enclosedCurrentDensity:660} 33 | \int_{\partial V} dA \ncap \cross \BB = -\mu \int_V dV \BJ. 34 | \end{dmath} 35 | \end{subequations} 36 | 37 | \Cref{eqn:magnetostatics_enclosedCurrentDensity:640} states that the magnetic flux through a closed surface is zero, which is not be a surprise since it is a direct consequence of Gauss's law \( \spacegrad \cdot \BB = 0 \). 38 | \Cref{eqn:magnetostatics_enclosedCurrentDensity:660} provides a relationship between the tangential components of the magnetic field and the total enclosed current density. 39 | 40 | %} 41 | -------------------------------------------------------------------------------- /.junk/magnetostatics_vectorPotential.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | \index{vector potential} 7 | 8 | Similar to electrostatics where it was assumed that the electric field could be expressed as the gradient of a scalar potential, 9 | a vector potential \( \BA \) solution for the dual of the magnetic field can be assumed 10 | \begin{dmath}\label{eqn:magnetostatics_vectorPotential:480} 11 | \spacegrad \BA = I \BB. 12 | \end{dmath} 13 | 14 | As the right hand side is a bivector, we must have \( \spacegrad \cdot \BA = 0 \) for this presumed solution to be valid. 15 | Assuming (for now) a zero divergence constraint for the vector potential, then \cref{eqn:magnetostatics:380} is reduced to 16 | %\begin{dmath}\label{eqn:magnetostatics_vectorPotential:540} 17 | \boxedEquation{eqn:magnetostatics_vectorPotential:540}{ 18 | \spacegrad^2 \BA = -\mu \BJ, 19 | } 20 | %\end{dmath} 21 | which can be solved immediately 22 | %\begin{dmath}\label{eqn:magnetostatics_vectorPotential:560} 23 | \boxedEquation{eqn:magnetostatics_vectorPotential:560}{ 24 | \BA(\Bx) = \frac{\mu}{4\pi} \int dV' \frac{ \BJ(\Bx') }{\Norm{\Bx - \Bx'}}. 25 | } 26 | %\end{dmath} 27 | 28 | The zero divergence constraint for the vector potential is easily dealt with by adding a gradient to the vector potential with the 29 | transformation \( \BA \rightarrow \overbar{\BA} + \spacegrad \chi \). 30 | This gives 31 | \begin{dmath}\label{eqn:magnetostatics_vectorPotential:500} 32 | \spacegrad \BA 33 | = 34 | \spacegrad \overbar{\BA} + \spacegrad^2 \chi 35 | = 36 | \spacegrad \cdot \overbar{\BA} + \spacegrad \wedge \overbar{\BA} + \spacegrad^2 \chi, 37 | \end{dmath} 38 | which has the required bivector grade when \( \spacegrad \cdot \overbar{\BA} = -\spacegrad^2 \chi \), or 39 | \begin{dmath}\label{eqn:magnetostatics_vectorPotential:520} 40 | \chi(\Bx) = \inv{4\pi} \int dV' \frac{ \spacegrad' \cdot \overbar{\BA}(\Bx') }{\Norm{\Bx - \Bx'}}. 41 | \end{dmath} 42 | %} 43 | -------------------------------------------------------------------------------- /.junk/maxwellstatics.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeexample{Electrostatic and magnetostatics.}{example:vectorproduct:electrostatics}{ 6 | 7 | With no magnetic current, no magnetic sources, and no time derivatives, Maxwell's equations in simple media take the form 8 | 9 | \begin{dmath}\label{eqn:vectorproduct:120} 10 | \begin{aligned} 11 | \spacegrad \cdot \BB &= 0 \\ 12 | \spacegrad \cross \BB &= \mu \BJ \\ 13 | \spacegrad \cross \BE &= 0 \\ 14 | \spacegrad \cdot \BE &= \frac{\rho}{\epsilon}. 15 | \end{aligned} 16 | \end{dmath} 17 | 18 | For electrostatic conditions \( \BJ = 0 \), so using \cref{eqn:vectorproduct:100} the first and last equations can be combined into a single first order homogeneous multivector gradient equation 19 | 20 | \begin{equation}\label{eqn:vectorproduct:140} 21 | \spacegrad \BB 22 | = 23 | \spacegrad \cdot \BB +I (\spacegrad \cross \BB ) 24 | = 25 | 0. 26 | \end{equation} 27 | 28 | The electric gradient equation is 29 | 30 | \begin{equation}\label{eqn:vectorproduct:160} 31 | \spacegrad \BE 32 | = 33 | \spacegrad \cdot \BE +I (\spacegrad \cross \BE ) 34 | = 35 | \frac{\rho}{\epsilon}. 36 | \end{equation} 37 | 38 | Maxwell's equations are reduced to two multivector equations with this transformation 39 | \begin{dmath}\label{eqn:vectorproduct:180} 40 | \begin{aligned} 41 | \spacegrad \BE &= \frac{\rho}{\epsilon} \\ 42 | \spacegrad \BB &= 0. 43 | \end{aligned} 44 | \end{dmath} 45 | 46 | For magnetostatics \( \rho = 0 \), and the same assembly of Maxwell's equations gives 47 | 48 | \begin{dmath}\label{eqn:vectorproduct:220} 49 | \begin{aligned} 50 | \spacegrad \BB &= I \mu \BJ \\ 51 | \spacegrad \BE &= 0. 52 | \end{aligned} 53 | \end{dmath} 54 | 55 | It will be seen later that it is actually more natural to express magnetic fields as a bivector \( I \BB \). Using \( I^2 = -1 \) (\cref{problem:gradeselection:R3PseudoscalarSquare}) the magnetostatic equation takes the form 56 | 57 | \begin{dmath}\label{eqn:vectorproduct:240} 58 | \spacegrad (I \BB) = - \mu \BJ. 59 | \end{dmath} 60 | 61 | Both the electrostatic and magnetostatic equations can be solved directly using the Green's function for the gradient, producing the Coulomb integral for the electric field and Biot-Savart's law for the magnetic field. 62 | Before demonstrating this, the concepts required to attack multivector integrals must be formulated. 63 | } % example 64 | -------------------------------------------------------------------------------- /.junk/multiplication.tex: -------------------------------------------------------------------------------- 1 | 2 | %%\input{../blogpost.tex} 3 | %%\renewcommand{\basename}{multiplication} 4 | %%%\renewcommand{\dirname}{notes/phy1520/} 5 | %%\renewcommand{\dirname}{notes/ece1228-electromagnetic-theory/} 6 | %%%\newcommand{\dateintitle}{} 7 | %%%\newcommand{\keywords}{} 8 | %% 9 | %%\input{../peeter_prologue_print2.tex} 10 | %% 11 | %%\usepackage{peeters_layout_exercise} 12 | %%\usepackage{peeters_braket} 13 | %%\usepackage{peeters_figures} 14 | %%\usepackage{siunitx} 15 | %%%\usepackage{mhchem} % \ce{} 16 | %%%\usepackage{macros_bm} % \bcM 17 | %%%\usepackage{txfonts} % \ointclockwise 18 | %% 19 | %%\beginArtNoToc 20 | %% 21 | %%\generatetitle{Vector multiplication} 22 | %%%\chapter{Vector multiplication} 23 | %%%\label{chap:multiplication} 24 | %% 25 | Geometric Algebra defines a multiplication operation for vectors, forming a vector space spanned by all the possible vector products. This algebra is described by the following small set of axioms 26 | 27 | \makeaxiom{Associative multiplication.}{axiom:multiplication:associative}{ 28 | 29 | The product of any three vectors \(\Ba,\Bb,\Bc\) is associative. 30 | 31 | \begin{equation*}\label{eqn:multiplication:160} 32 | \Ba (\Bb \Bc) 33 | = (\Ba \Bb) \Bc 34 | = \Ba \Bb \Bc. 35 | \end{equation*} 36 | } 37 | 38 | \makeaxiom{Linearity.}{axiom:multiplication:linear}{ 39 | Vector products are linear with respect to addition and subtraction. 40 | 41 | \begin{dmath*}\label{eqn:multiplication:180} 42 | \begin{aligned} 43 | (\Ba + 3 \Bb \Bd) \Bc &= \Ba \Bb + 3 \Bb \Bd \Bc \\ 44 | \Ba (\Bb \Bd - 2 \Bc) &= \Ba \Bb \Bd - 2 \Ba \Bc. 45 | \end{aligned} 46 | \end{dmath*} 47 | } 48 | 49 | \makeaxiom{Contraction.}{axiom:multiplication:contraction}{ 50 | 51 | The square of a vector is the squared length of the vector. 52 | 53 | \begin{dmath*}\label{eqn:multiplication:200} 54 | \Ba^2 = \Norm{\Ba}^2. 55 | \end{dmath*} 56 | 57 | The notion of length here is metric dependent. For the problems considered in these notes 58 | it can be assumed that there is an orthonormal Euclidean basis, where the vector length is always positive. 59 | For special relativistic calculations, also of interest in electrodynamics, but not the focus of these notes, the length of a (four-)vector may generally be negative or positive. 60 | } 61 | 62 | ... 63 | 64 | This contraction axiom, justified or not, has additional implications 65 | 66 | \begin{dmath}\label{eqn:multiplication:80} 67 | x^2 68 | = \Bx^2 69 | = (x \Be)(x \Be) 70 | = x^2 \Be^2. 71 | \end{dmath} 72 | 73 | 74 | -------------------------------------------------------------------------------- /.junk/multivectorProblems.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{One dimensional multivector space.}{problem:multivector:40}{ 6 | Verify that for \( c, d \in \bbR \) the set \( M = \setlr{ c + d \Be_1 } \) satisfies all the multivector axioms. 7 | } % problem 8 | 9 | \makeproblem{Normal anticommutation.}{problem:multiplication:anticommutationNormal}{ 10 | Prove \cref{thm:multiplication:anticommutationNormal}. 11 | } 12 | -------------------------------------------------------------------------------- /.junk/normalAnticommutation.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | \makeproblem{Normal anticommutation}{problem:multiplication:unitsquare}{ 7 | Prove \cref{thm:multiplication:anticommutationNormal}. 8 | } % problem 9 | 10 | \makeanswer{problem:multiplication:unitsquare}{ 11 | Consider the square of a vector \( \Bx = u \Bu + v \Bv \) with respect to a basis of unit vectors \( \setlr{ \Bu, \Bv }\). That is 12 | 13 | \begin{dmath}\label{eqn:introGAproblems:160} 14 | \Bx^2 15 | = 16 | \lr{ u \Bu + v \Bv } 17 | \lr{ u \Bu + v \Bv } 18 | = 19 | u^2 \Bu^2 20 | + v^2 \Bv^2 21 | + u v \lr{ \Bu \Bv + \Bv \Bu } 22 | = 23 | u^2 24 | + v^2 25 | + u v \lr{ \Bu \Bv + \Bv \Bu }. 26 | \end{dmath} 27 | 28 | If these vectors are normal \( \Bx^2 = u^2 + v^2 \), which means 29 | \begin{dmath}\label{eqn:introGAproblems:180} 30 | \Bu \Bv = -\Bv \Bu. 31 | \end{dmath} 32 | 33 | Observe that a side effect of this computation shows that the traditional vector dot product of two unit vectors can also be written as a symmetric bivector sum 34 | 35 | \begin{dmath}\label{eqn:introGAproblems:200} 36 | \Bu \cdot \Bv = \inv{2} \lr{ \Bu \Bv + \Bv \Bu }. 37 | \end{dmath} 38 | } % answer 39 | -------------------------------------------------------------------------------- /.junk/normalMult.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Normal multiplication with complex exponential.}{problem:normalMult:1}{ 6 | Show that any component of a vector normal to the x-y plane commutes with the complex exponential rotation operator for that plane. 7 | } % problem 8 | 9 | \makeanswer{problem:normalMult:1}{ 10 | This can be demonstrated by considering any vector \( \Be_k \), \( k \ne 1,2 \), such as \( \Be_3 \) 11 | 12 | \begin{dmath}\label{eqn:normalMult:20} 13 | \Be_3 e^{i\theta} 14 | = 15 | \Be_3 \lr{ \cos\theta + \Be_1 \Be_2 \sin\theta } 16 | = 17 | \Be_3 \cos\theta + \Be_3 \Be_1 \Be_2 \sin\theta 18 | = 19 | \Be_3 \cos\theta - \Be_1 \Be_3 \Be_2 \sin\theta 20 | = 21 | \Be_3 \cos\theta + \Be_1 \Be_2 \Be_3 \sin\theta 22 | = 23 | \lr{ \cos\theta + \Be_1 \Be_2 \sin\theta } \Be_3 24 | = 25 | e^{i\theta} \Be_3. 26 | \end{dmath} 27 | } % answer 28 | -------------------------------------------------------------------------------- /.junk/oneparameter.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{differential form} 6 | An example parameterization with one parameter, and the corresponding differential with respect to that parameter, is plotted in 7 | \cref{fig:oneParameterDifferential:oneParameterDifferentialFig1}. 8 | %, for a parameterization over \( [a, b] \in [0,1]\otimes[0,1] \). 9 | 10 | \imageFigure{../figures/GAelectrodynamics/oneParameterDifferentialFig1}{One parameter manifold.}{fig:oneParameterDifferential:oneParameterDifferentialFig1}{0.3} 11 | 12 | The differential with respect to the parameter \( a \) is 13 | 14 | \begin{equation}\label{eqn:oneparameter:20} 15 | d\Bx_a = \PD{a}{\Bx} da = \Bx_a da. 16 | \end{equation} 17 | 18 | On this curve the projection of the gradient (the vector derivative) has just one component 19 | 20 | \begin{dmath}\label{eqn:oneparameter:40} 21 | \boldpartial 22 | = 23 | \sum_i \Bx^i (\Bx_i \cdot \spacegrad) 24 | = 25 | \Bx^a \PD{a}{} 26 | \equiv 27 | \Bx^a \partial_a. 28 | \end{dmath} 29 | 30 | Stokes' theorem for a one parameter manifold can only be expressed for scalar fields. 31 | That is 32 | 33 | \begin{dmath}\label{eqn:oneparameter:60} 34 | \int d\Bx \cdot (\boldpartial \wedge \psi) 35 | = 36 | \int d\Bx \cdot \boldpartial \psi 37 | = 38 | \int da \PD{a}{ \psi } 39 | = \evalbar{\psi}{\Delta a}. 40 | \end{dmath} 41 | 42 | Observe that the vector derivative can be replaced by the gradient since \( d\Bx \cdot \boldpartial = d\Bx \cdot \spacegrad \). 43 | This is because only components of the gradient that are tangent to the curve defined by the differential element \( d\Bx \) make any contribution in the dot product. 44 | 45 | \index{Stokes' theorem} 46 | That means that Stokes' theorem for a one parameter curve is exactly the fundamental theorem of calculus for line integrals 47 | 48 | %\begin{dmath}\label{eqn:oneparameter:80} 49 | \boxedEquation{eqn:oneparameter:80}{ 50 | \int_{\Ba}^{\Bb} d\Bx \cdot \spacegrad \psi = \psi(\Bb) - \psi(\Ba). 51 | } 52 | %\end{dmath} 53 | -------------------------------------------------------------------------------- /.junk/orientation.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \subsection{Orientation. figure out where to put this} 6 | Geometric algebra provides a mathematical representation for geometrical objects of each dimension in the space. 7 | In a three dimensional space, there are representations for all of 8 | 9 | \begin{itemize} 10 | \item 11 | oriented (signed) points with magnitude 12 | \item 13 | oriented line segments, 14 | \item 15 | oriented planes, 16 | \item 17 | oriented volumes, 18 | \end{itemize} 19 | 20 | and in higher dimensional spaces, it will be possible to represent higher dimensonal oriented hypervolumes. 21 | 22 | -------------------------------------------------------------------------------- /.junk/planewaves.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %\section{Plane waves.} 6 | \index{plane wave} 7 | \index{time harmonic} 8 | \index{source free} 9 | In the time harmonic representation for source free conditions Maxwell's equation \cref{dfn:isotropicMaxwells:680} is just 10 | \begin{dmath}\label{eqn:planewaves:560} 11 | \begin{aligned} 12 | F &= \BE + \eta I \BH \\ 13 | \lr{ \spacegrad + j k } F &= 0, 14 | \end{aligned} 15 | \end{dmath} 16 | where \( k = \omega/v \) is the wave number. 17 | It is now possible to examine what constraints Maxwell's equation imposes on plane waves of the form 18 | %\begin{dmath}\label{eqn:planewaves:580} 19 | %\begin{aligned} 20 | %\BE(\Bk) &= \BE_0 e^{-j \Bk \cdot \Bx} \\ 21 | %\BH(\Bk) &= \BH_0 e^{-j \Bk \cdot \Bx}, 22 | %\end{aligned} 23 | %\end{dmath} 24 | \begin{dmath}\label{eqn:planewaves:600} 25 | F(\Bk) = F_0 e^{-j \Bk \cdot \Bx}. 26 | \end{dmath} 27 | 28 | where \( F = \Real( F(\Bk) e^{j \omega t} ) \). 29 | Let's seek a phasor solution \( F(\Bk) \) for the total electromagnetic field, but drop the explicit frequency dependence for simplicity 30 | 31 | \input{frequencydomainPlaneWaves.tex} 32 | 33 | -------------------------------------------------------------------------------- /.junk/planewavesMultivectorBlog.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/planewavesMultivectorBlog.tex -------------------------------------------------------------------------------- /.junk/polarization.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | \index{plane wave} 7 | \index{polarization} 8 | In a discussion of polarization, it is convenient to align the propagation direction along a fixed direction, usually the z-axis. 9 | %%\begin{dmath}\label{eqn:frequencydomainPlaneWaves:200} 10 | %\boxedEquation 11 | %{eqn:frequencydomainPlaneWaves:200} 12 | %{ 13 | %F = (1 + \kcap) \BE_0 e^{-j \Bk \cdot \Bx}, 14 | %} 15 | %%\end{dmath} 16 | Setting \( \kcap = \Be_3, \beta z = \Bk \cdot \Bx \) 17 | in a 18 | plane wave representation from 19 | \cref{thm:planewavesMultivector:620} 20 | %\cref{eqn:frequencydomainPlaneWaves:200} the plane wave representation of 21 | the field is 22 | \begin{dmath}\label{eqn:polarization:20} 23 | \begin{aligned} 24 | F(\Bx, \omega) &= (1 + \Be_3) \BE e^{-j \beta z} \\ 25 | F(\Bx, t) &= \Real\lr{ F(\Bx, \omega) e^{j \omega t} }, 26 | \end{aligned} 27 | \end{dmath} 28 | where \( \BE \cdot \Be_3 = 0 \) 29 | , (i.e. \( \BE \) is an electric field, and not just a free parameter). 30 | 31 | Here the imaginary \( j \) has no intrinsic geometrical interpretation, \( \BE = \BE_\txtr + j \BE_\txti \) is allowed to have complex values, and all components of \( \BE \) is perpendicular to the propagation direction (\( \Be_\txtr \cdot \Be_3 = \BE_\txti \cdot \Be_3 = 0 \)). 32 | \index{Jones vector} 33 | A common representation of the electric field components is the Jones vector \( (c_1, c_2) \), which specifies complex coefficients for the electric field phasor in each of the possible directions 34 | \begin{dmath}\label{eqn:polarization:120} 35 | \BE = c_1 \Be_1 + c_2 \Be_2, 36 | \end{dmath} 37 | where \( c_1, c_2 \) are complex valued, say 38 | \begin{dmath}\label{eqn:polarization:140} 39 | \begin{aligned} 40 | c_1 &= \alpha_1 + j \beta_1 \\ 41 | c_2 &= \alpha_2 + j \beta_2. 42 | \end{aligned} 43 | \end{dmath} 44 | 45 | The tuple \( (c_1, c_2) \) is called the Jones vector, and compactly encodes the geometry of the pattern that the electric field traces out in the transverse plane. 46 | -------------------------------------------------------------------------------- /.junk/polarization_linearPolarization.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | 7 | Linear polarization is described by 8 | \begin{dmath}\label{eqn:polarization_linearPolarization:280} 9 | \begin{aligned} 10 | \alpha_\txtL &= \inv{2}\Abs{\BE} \Be_1 e^{i(\psi + \theta)} \\ 11 | \alpha_\txtR &= \inv{2}\Abs{\BE} \Be_1 e^{i(\psi - \theta)}, 12 | \end{aligned} 13 | \end{dmath} 14 | or 15 | \begin{dmath}\label{eqn:polarization_linearPolarization:300} 16 | F = \lr{ 1 + \Be_3 } \Abs{\BE} \Be_1 e^{i\psi} \cos( \omega t - \beta z + \theta ), 17 | \end{dmath} 18 | where \( \theta \) is an arbitrary initial phase. The electric field \( \BE \) traces out all the points along the line spanning the points between \( \pm \Be_1 e^{i\psi} \Abs{\BE} \), whereas the magnetic field \( \BH \) traces 19 | out all the points along \( \pm \Be_2 e^{i\psi} \Abs{\BE}/\eta \) as illustrated (with \( \eta = 1 \)) in 20 | \cref{fig:linearPolarization:linearPolarizationFig1}. 21 | \imageFigure{../figures/GAelectrodynamics/linearPolarizationFig1}{Linear polarization.}{fig:linearPolarization:linearPolarizationFig1}{0.3} 22 | 23 | %} 24 | -------------------------------------------------------------------------------- /.junk/polarization_phaseAndEnergyMomentum.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | 7 | The linear polarization of \cref{eqn:polarization_linearPolarization:300} can be generalized from sinosoidal functions of the phase angle \cref{eqn:polarization_circular:520}, to arbitrary functions, as in 8 | \begin{dmath}\label{eqn:polarization_phaseAndEnergyMomentum:540} 9 | F = \lr{ 1 + \Be_3 } \Abs{\BE} \Be_1 e^{i\psi} f(\phi). 10 | \end{dmath} 11 | 12 | For example, \( f(\phi) = e^{i\phi} \) would result in a circularly polarized state, and 13 | a Gaussian modulation could be added into the mix with \( f(\phi) = e^{i \phi - (\phi/\sigma)^2/2 } \). 14 | 15 | If the phase dependence of \cref{eqn:polarization_phaseAndEnergyMomentum:540} is a scalar function, then 16 | the energy momentum multivector for the field can be calculated simply 17 | \begin{dmath}\label{eqn:polarization_phaseAndEnergyMomentum:560} 18 | \calE + \frac{\BS}{v} 19 | = 20 | \inv{2} \epsilon 21 | F F^\dagger 22 | = 23 | \inv{2} \epsilon 24 | \lr{ 1 + \Be_3 } \Abs{\BE}^2 \Be_1 \cancel{e^{i\psi}} f^2(\phi) 25 | \cancel{e^{-i\psi} } 26 | \Be_1 27 | \lr{ 1 + \Be_3 } 28 | = 29 | \inv{2} \epsilon 30 | \lr{ 1 + \Be_3 } \Abs{\BE}^2 \cancel{\Be_1} f^2(\phi) 31 | \cancel{\Be_1 } 32 | \lr{ 1 + \Be_3 } 33 | = 34 | \epsilon \lr{ 1 + \Be_3 } \Abs{\BE}^2 f^2(\phi), 35 | \end{dmath} 36 | where the projective property \( \lr{ 1 + \Be_3 }^2 = 2 \lr{ 1 + \Be_3 } \) was used in the final simplification. 37 | The energy, and Poynting vectors are 38 | \begin{dmath}\label{eqn:polarization_phaseAndEnergyMomentum:580} 39 | \begin{aligned} 40 | \calE &= \epsilon \Abs{\BE}^2 f^2(\phi) \\ 41 | \BS &= \inv{\eta} \Be_3 \Abs{\BE}^2 f^2(\phi). 42 | \end{aligned} 43 | \end{dmath} 44 | % v epsilon = sqrt( epsilon^2/ (epsilon mu) ) = 1/eta 45 | 46 | More care for this calculation is required if the phase function \( f(\phi) \) is multivector valued, since it may not commute with the \( \Be_1 \) and \( e^{i\psi} \) factors of \( F \). 47 | %} 48 | -------------------------------------------------------------------------------- /.junk/polarization_problems.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | 7 | \makeproblem{Circular polarization coefficients relationship to the Jones vector.}{problem:polarization:1}{ 8 | By substituting \cref{eqn:polarization_circular:220} into \cref{eqn:polarization_circular:200}, and comparing to \cref{eqn:polarization_circular:160}, 9 | show that the circular state coefficients have the following relationship to the Jones vector coordinates 10 | \begin{equation*} 11 | \begin{aligned} 12 | \alpha_\txtL &= \lr{ \alpha_1 + \beta_2 }/2 + i \lr{ -\alpha_2 + \beta_1 }/2 \\ 13 | \alpha_\txtR &= \lr{ \alpha_1 - \beta_2 }/2 + i \lr{ -\alpha_2 - \beta_1 }/2, 14 | \end{aligned} 15 | \end{equation*} 16 | and use this to prove \cref{eqn:polarization_circular:260}. 17 | } % problem 18 | 19 | \makeproblem{Pseudoscalar Jones vector.}{problem:polarization:2}{ 20 | With the Jones vector defined in terms of the \R{3} pseudoscalar 21 | \begin{equation*} 22 | \begin{aligned} 23 | c_1 &= \alpha_1 + I \beta_1 \\ 24 | c_2 &= \alpha_2 + I \beta_2, 25 | \end{aligned} 26 | \end{equation*} 27 | calculate the values \( \alpha_\txtL', \alpha_\txtR' \) of \cref{eqn:polarization_pseudoscalarImaginary:480} in terms of this Jones vector. 28 | } % problem 29 | %} 30 | -------------------------------------------------------------------------------- /.junk/polarization_pseudoscalarImaginary.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | 7 | The multivector \( 1 + \Be_3 \) acts as a projector, consuming any factors of \( \Be_3 \) 8 | \begin{dmath}\label{eqn:polarization_pseudoscalarImaginary:440} 9 | (1 + \Be_3) \Be_3 10 | = 11 | \Be_3 + \Be_3^2 12 | = 13 | 1 + \Be_3. 14 | \end{dmath} 15 | 16 | This property allows all the bivector imaginaries \( i = \Be_{12} = \Be_3 I \) in \cref{eqn:polarization_circular:200} to be re-expressed in terms of the \R{3} pseudoscalar \( I = \Be_{123} \). To illustrate this consider just the left circular polarized wave 17 | \begin{dmath}\label{eqn:polarization_pseudoscalarImaginary:460} 18 | F_\txtL 19 | = 20 | \lr{ 1 + \Be_3 } \Be_1 \alpha_\txtL e^{i\phi} 21 | = 22 | \lr{ 1 + \Be_3 } \Be_1 \alpha_\txtL \lr{ \cos\phi + \Be_3 I \sin\phi } 23 | = 24 | \lr{ 1 + \Be_3 } \Be_1 \alpha_\txtL \cos\phi 25 | -\lr{ 1 + \Be_3 } \Be_3 \Be_1 \alpha_\txtL I \sin\phi 26 | = 27 | \lr{ 1 + \Be_3 } \Be_1 \alpha_\txtL e^{-I\phi} 28 | = 29 | \lr{ 1 + \Be_3 } \Be_1 \lr{ \alpha_{\txtL 1} + \Be_3 I\alpha_{\txtL 2} } e^{-I\phi} 30 | = 31 | \lr{ 1 + \Be_3 } \Be_1 \lr{ \alpha_{\txtL 1} - I \alpha_{\txtL 2} } e^{-I\phi}. 32 | \end{dmath} 33 | 34 | This shows that the coefficients for the circular polarized states can be redefined using the pseudoscalar as an imaginary (in contrast to the bivector imaginary used in \cref{eqn:polarization_circular:220}) 35 | \begin{dmath}\label{eqn:polarization_pseudoscalarImaginary:480} 36 | \begin{aligned} 37 | \alpha_\txtL' &= \alpha_{\txtL 1} - I \alpha_{\txtL 2} \\ 38 | \alpha_\txtR' &= \alpha_{\txtR 1} - I \alpha_{\txtR 2}, 39 | \end{aligned} 40 | \end{dmath} 41 | so that the plane wave is 42 | \begin{dmath}\label{eqn:polarization_pseudoscalarImaginary:500} 43 | F = \lr{ 1 + \Be_3 } \Be_1 \lr{ \alpha_\txtL' e^{-I\phi} + \alpha_\txtR' e^{I\phi} }. 44 | \end{dmath} 45 | 46 | Like \cref{eqn:polarization_circular:200} this plane wave representation does not require taking any real parts. The transverse plane in which the electric and magnetic fields lie is defined by the duality relation \( i = I \Be_3 \). 47 | 48 | The energy momentum multivector for a wave described in terms of the pseudoscalar circular polarization states of \cref{eqn:polarization_pseudoscalarImaginary:500} is just 49 | \begin{dmath}\label{eqn:polarization_pseudoscalarImaginary:620} 50 | \calE + \frac{\BS}{v} = 51 | \epsilon \lr{ 1 + \Be_3 } \lr{ \Abs{\alpha_\txtL'}^2 + \Abs{\alpha_\txtR'}^2 }, 52 | \end{dmath} 53 | where the absolute value is computed using the reverse as the conjugation operation \( \Abs{z}^2 = z z^\dagger \). 54 | %} 55 | -------------------------------------------------------------------------------- /.junk/potentialSection.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/potentialSection.tex -------------------------------------------------------------------------------- /.junk/poyntingComplexPower.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \subsection{Complex power} 6 | \index{complex power} 7 | 8 | Let \( \BE \) and \( \BH \) be complex phasor (time harmonic) representations of the fields so that 9 | 10 | \begin{dmath}\label{eqn:maxwellsEquations:900} 11 | \begin{aligned} 12 | \BE(\Bx, t) &= \Real\lr{ \BE e^{j \omega t} } \\ 13 | \BH(\Bx, t) &= \Real\lr{ \BH e^{j \omega t} } 14 | \end{aligned} 15 | \end{dmath} 16 | 17 | The time harmonic expansion of the Poynting vector is 18 | 19 | \begin{dmath}\label{eqn:maxwellsEquations:820} 20 | \BS 21 | = \lr{ I \BH(\Bx, t)} \cdot \BE(\Bx, t) 22 | = 23 | \lr{ I \Real \lr{ \BH e^{j \omega t}} } \cdot 24 | \Real \lr{ \BE e^{j \omega t} } 25 | = \inv{4} \gpgradeone{ 26 | I \lr{ 27 | \BH e^{j \omega t} 28 | + \BH^\conj e^{-j \omega t} 29 | } 30 | \lr{ \BE e^{j \omega t} + \BE^\conj e^{-j \omega t} } 31 | } 32 | = 33 | \inv{4} 34 | \lr{ 35 | (I \BH^\conj) \cdot \BE 36 | +(I \BH) \cdot \BE^\conj 37 | + 38 | (I \BH) \cdot \BE e^{ 2 j \omega t } 39 | + 40 | (I \BH^\conj) \cdot \BE^\conj e^{ 2 j \omega t } 41 | }. 42 | \end{dmath} 43 | 44 | This shows that the time harmonic representation of the Poynting vector is 45 | 46 | \begin{dmath}\label{eqn:maxwellsEquations:840} 47 | \BS = \inv{2} \Real \lr{ (I \BH^\conj) \cdot \BE + (I \BH) \cdot \BE e^{ 2 j \omega t } }. 48 | \end{dmath} 49 | 50 | This motivates the definition of a complex Poynting vector 51 | 52 | \begin{dmath}\label{eqn:maxwellsEquations:860} 53 | \bcS = \inv{2} (I \BH^\conj) \cdot \BE. 54 | \end{dmath} 55 | 56 | Note that this is conventionally written as \( \BS = (\ifrac{1}{2}) \BE \cross \BH^\conj \). 57 | Observe that on average (over a given period), the \( e^{2 j \omega t} \) component of the real Poynting vector has no contribution to the power flux 58 | 59 | \begin{dmath}\label{eqn:maxwellsEquations:880} 60 | \inv{T} \int_0^T dt \BS = \Real \bcS. 61 | \end{dmath} 62 | -------------------------------------------------------------------------------- /.junk/poyntingLorentzForce.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/poyntingLorentzForce.tex -------------------------------------------------------------------------------- /.junk/projectnotes.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/projectnotes.tex -------------------------------------------------------------------------------- /.junk/r.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/r.tex -------------------------------------------------------------------------------- /.junk/r3vectorspaceproblem.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{\R{3}}{problem:prerequisites:R3}{ 6 | Define \R{3} as the set of triples \( \setlr{ (x_1, x_2, x_3) | x_i \in \bbR } \). Given 7 | \( \Bx = (x_1, x_2, x_3) \in \bbR^3 \), 8 | \( \By = (y_1, y_2, y_3) \in \bbR^3 \), and \( a \in \bbR \), then addition and multiplication operations can be defined respectively as 9 | 10 | \begin{equation*} 11 | \begin{aligned} 12 | \Bx + \By &\equiv (x_1 + y_1, x_2 + y_2, x_3 + y_3) \\ 13 | a \Bx &\equiv (a x_1 , a x_2 , a x_3 ). 14 | \end{aligned} 15 | \end{equation*} 16 | 17 | Show that \R{3} is a vector space. 18 | } % problem 19 | 20 | 21 | -------------------------------------------------------------------------------- /.junk/reciprocal_general.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | It should be clear how to generalize the reciprocal basis calculation formulas of 7 | \cref{eqn:reciprocal_R2:180} and \cref{eqn:reciprocal:380} to higher dimensions if desired. 8 | 9 | FIXME: the sign required for each term may not be obvious. State this explicitly. 10 | 11 | %} 12 | -------------------------------------------------------------------------------- /.junk/reverse.tex: -------------------------------------------------------------------------------- 1 | 2 | If the maximum grades of \( A \) and \( B \) are \( a \) and \( b \) respectively, then 3 | 4 | \begin{equation}\label{eqn:scalarPermutation:41} 5 | \gpgradezero{A B} 6 | = 7 | \sum_{r = 0}^a \sum_{s = 0}^b \gpgradezero{A_r B_s} 8 | = 9 | \sum_{k = 0}^{\min(a,b)} \gpgradezero{A_k B_k}. 10 | \end{equation} 11 | 12 | %If we can show that \( \gpgradezero{A_k B_k} = \gpgradezero{B_k A_k} \) for any k-vectors \( A_k, B_k \), we are done. 13 | % 14 | Because \( \gpgradezero{M}^\dagger = \gpgradezero{M^\dagger} = \gpgradezero{M} \), reversing all the factors in each of these grade zero selections leaves the result unchanged. That is 15 | 16 | \begin{equation}\label{eqn:scalarPermutation:61} 17 | \gpgradezero{A B} 18 | = 19 | \sum_{k = 0}^{\min(a,b)} \gpgradezero{B_k^\dagger A_k^\dagger}. 20 | \end{equation} 21 | 22 | Using \cref{eqn:scalarPermutation:101}, this is 23 | 24 | \begin{dmath}\label{eqn:scalarPermutation:121} 25 | \gpgradezero{A B} 26 | = 27 | \sum_{k = 0}^{\min(a,b)} \lr{(-1)^{k(k-1)/2} }^2 \gpgradezero{B_k A_k} 28 | = 29 | \sum_{k = 0}^{\min(a,b)} \gpgradezero{B_k A_k} 30 | = 31 | \gpgradezero{ B A }. \qedmarker 32 | \end{dmath} 33 | -------------------------------------------------------------------------------- /.junk/rightComplexMult.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Right complex exponential multiplication}{problem:rightComplexMult:1}{ 6 | 7 | Show that the following product encodes a counterclockwise rotation by \( \theta \) 8 | \begin{equation*} 9 | \Bx' 10 | = e^{-i\theta} \lr{ x \Be_1 + y \Be_2 }. 11 | \end{equation*} 12 | } % problem 13 | 14 | \makeanswer{problem:rightComplexMult:1}{ 15 | \begin{dmath}\label{eqn:rightComplexMult:20} 16 | \Bx' 17 | = e^{-i\theta} \lr{ x \Be_1 + y \Be_2 } 18 | = \lr{ \cos\theta + \Be_1 \Be_2 \sin\theta } \lr{ x \Be_1 + y \Be_2 } 19 | = 20 | x \cos\theta \Be_1 21 | - x \sin\theta \Be_2 22 | + y \cos\theta \Be_2 23 | + y \sin\theta \Be_1 24 | = 25 | \lr{ x \cos\theta 26 | + y \sin\theta } \Be_1 27 | + \lr{ 28 | - x \sin\theta 29 | + y \cos\theta } \Be_2. 30 | \end{dmath} 31 | 32 | Observe that this matches the result obtained by application of a rotation matrix to the coordinates 33 | 34 | \begin{dmath}\label{eqn:rightComplexMult:40} 35 | \begin{bmatrix} 36 | \cos\theta & -\sin\theta \\ 37 | \sin\theta & \cos\theta 38 | \end{bmatrix} 39 | \begin{bmatrix} 40 | x \\ 41 | y 42 | \end{bmatrix} 43 | = 44 | \begin{bmatrix} 45 | x \cos\theta - y\sin\theta \\ 46 | x \sin\theta + y\cos\theta 47 | \end{bmatrix}. 48 | \end{dmath} 49 | } % answer 50 | -------------------------------------------------------------------------------- /.junk/sandwichMult.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Exponential commutation in a plane}{problem:sandwichMult:1}{ 6 | Prove that 7 | 8 | \begin{dmath}\label{eqn:sandwichMult:10} 9 | \begin{aligned} 10 | \Be_1 e^{i\theta} &= e^{-i\theta} \Be_1 \\ 11 | \Be_2 e^{i\theta} &= e^{-i\theta} \Be_2 \\ 12 | \end{aligned}. 13 | \end{dmath} 14 | } % problem 15 | 16 | \makeanswer{problem:sandwichMult:1}{ 17 | \begin{dmath}\label{eqn:sandwichMult:20} 18 | \Be_1 e^{i\theta} 19 | = 20 | \Be_1 \lr{ \cos\theta + \Be_1 \Be_2 \sin\theta } 21 | = 22 | \Be_1 \cos\theta + \Be_2 \sin\theta 23 | = 24 | \lr{ \cos\theta + \Be_2 \Be_1 \sin\theta } \Be_1 25 | = 26 | \lr{ \cos\theta - \Be_1 \Be_2 \sin\theta } \Be_1 27 | = 28 | e^{-i\theta} \Be_1. 29 | \end{dmath} 30 | 31 | \begin{dmath}\label{eqn:sandwichMult:40} 32 | \Be_2 e^{i\theta} 33 | = 34 | \Be_2 \lr{ \cos\theta + \Be_1 \Be_2 \sin\theta } 35 | = 36 | \Be_2 \cos\theta - \Be_1 \sin\theta 37 | = 38 | \lr{ \cos\theta - \Be_1 \Be_2 \sin\theta } \Be_2 39 | = 40 | e^{-i\theta} \Be_2. 41 | \end{dmath} 42 | } % answer 43 | -------------------------------------------------------------------------------- /.junk/statement.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{Stokes' theorem} 6 | Stokes' theorem is fairly easy to state, but takes a fair amount of work to understand and unpack its implications. 7 | 8 | \input{stokesTheoremTheStatement.tex} 9 | 10 | \index{oriented volume element} 11 | This dot product defines the oriented surface ``area'' elements associated with the ``volume'' element \( d^k \Bx \). 12 | That area element can be obtained from the mnemonic 13 | \begin{dmath}\label{eqn:statement:1561} 14 | \sum_i d^k \Bx \cdot \Bx^i, 15 | \end{dmath} 16 | with each of the i-th differentials evaluated. 17 | This will be made clear by example. 18 | -------------------------------------------------------------------------------- /.junk/staticPotentials.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/staticPotentials.tex -------------------------------------------------------------------------------- /.junk/staticPotentialsBlog.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/staticPotentialsBlog.tex -------------------------------------------------------------------------------- /.junk/stokesAndGreens.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/stokesAndGreens.tex -------------------------------------------------------------------------------- /.junk/subspaceDistance.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/subspaceDistance.tex -------------------------------------------------------------------------------- /.junk/triint.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/triint.tex -------------------------------------------------------------------------------- /.junk/unpackStaticPotential.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/unpackStaticPotential.tex -------------------------------------------------------------------------------- /.junk/vectorproduct.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/.junk/vectorproduct.tex -------------------------------------------------------------------------------- /.junk/vectorproductCyclicPermutation.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Commutation within grade zero selection}{problem:vectorproduct:cyclicpermutation}{ 6 | 7 | It was previously shown using coordinates that 8 | 9 | \begin{dmath}\label{eqn:vectorproduct:260} 10 | \gpgradezero{ \Bx \By } = \gpgradezero{ \By \Bx }. 11 | \end{dmath} 12 | 13 | Repeat this proof using \cref{eqn:vectorproduct:80}. 14 | } % problem 15 | 16 | \makeanswer{problem:vectorproduct:cyclicpermutation}{ 17 | \begin{dmath}\label{eqn:vectorproduct:301} 18 | \gpgradezero{ \By \Bx } 19 | = 20 | \gpgradezero{ \By \cdot \Bx + \By \wedge \Bx } 21 | = 22 | \gpgradezero{ \By \cdot \Bx } 23 | = 24 | \gpgradezero{ \Bx \cdot \By } 25 | = 26 | \gpgradezero{ \Bx \By } 27 | \end{dmath} 28 | } % answer 29 | -------------------------------------------------------------------------------- /.junk/vectorproductProblems.tex: -------------------------------------------------------------------------------- 1 | 2 | 3 | %\makeproblem{Cyclic permutation}{problem:vectorproduct:cyclicpermutationII}{ 4 | %Any cyclic permutation of the vectors within a grade zero selection leaves the result unchanged, such as 5 | % 6 | %\begin{dmath}\label{eqn:vectorproduct:280} 7 | %\gpgradezero{ \Bx \By \Bz } = \gpgradezero{ \Bz \Bx \By }. 8 | %\end{dmath} 9 | % 10 | %Show that this is the case. 11 | %} % problem 12 | -------------------------------------------------------------------------------- /.junk/waveequation.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %\section{Wave equation.} 6 | \index{wave equation} 7 | %Having assembled all of Maxwell's equations into \cref{dfn:isotropicMaxwells:680}, some results now follow almost trivially. 8 | %One such result is the wave equation in space free of sources. 9 | %In such a region, Maxwell's equation is just 10 | %\begin{dmath}\label{eqn:waveequation:480} 11 | %\lr{ \spacegrad + \inv{c} \PD{t}{} } F = 0. 12 | %\end{dmath} 13 | % 14 | %This can be multiplied from the left with the multivector operator \( \spacegrad - \inv{c} \PD{t}{} \), to give 15 | %\begin{dmath}\label{eqn:waveequation:500} 16 | %0 = 17 | %\lr{ \spacegrad - \inv{c} \PD{t}{} } 18 | %\lr{ \spacegrad + \inv{c} \PD{t}{} } F 19 | %= 20 | %\lr{ \spacegrad^2 - \inv{c^2} \PDSq{t}{} } F, 21 | %\end{dmath} 22 | %or 23 | In source free conditions 24 | \begin{dmath}\label{eqn:waveequation:520} 25 | \spacegrad^2 F = \inv{c^2} \PDSq{t}{F}. 26 | \end{dmath} 27 | 28 | Since \( \spacegrad^2 \) is a scalar operator, selection of the vector and bivector components of \cref{eqn:waveequation:520} gives 29 | \begin{dmath}\label{eqn:waveequation:540} 30 | \begin{aligned} 31 | \spacegrad^2 \BE &= \inv{c^2} \PDSq{t}{\BE} \\ 32 | \spacegrad^2 (I \BH) &= \inv{c^2} \PDSq{t}{(I \BH)}. 33 | \end{aligned} 34 | \end{dmath} 35 | 36 | These equations can be solved independently, provided the solutions are also constrained by Maxwell's equation \cref{eqn:waveequation:480}. 37 | -------------------------------------------------------------------------------- /.junk/wedgeProductArea.tex: -------------------------------------------------------------------------------- 1 | 2 | A simple, but inelegant, way to prove this is to specify a coordinate system for which \( \Ba, \Bb \) both lie in the \( x,y \) plane. Then \( \Ba \wedge \Bb = \alpha i \) for some \( \alpha \), and the anticommutation part of the theorem follows from 3 | %the \R{2} result 4 | \cref{eqn:SimpleProducts2:1760}. For the normal commutation part of the theorem, pick any vector normal to the \(x, y\) plane, say \( \Be_3\), for which we have 5 | 6 | \begin{dmath}\label{eqn:SimpleProducts2:1780} 7 | \Be_3 (\Ba \wedge \Bb) 8 | = 9 | \Be_3 \alpha i 10 | = 11 | \alpha \Be_3 \Be_1 \Be_2 12 | = 13 | \alpha (-\Be_1 \Be_3) \Be_2 14 | = 15 | -\alpha \Be_1 (\Be_3 \Be_2) 16 | = 17 | -\alpha \Be_1 (-\Be_2 \Be_3) 18 | = (\Ba \wedge \Bb) \Be_3. 19 | \end{dmath} 20 | 21 | In dimensions with more normals, say \( \Be_4, \cdots \), the steps of \cref{eqn:SimpleProducts2:1780} can be repeated. The general normal commuation result follows by superposition. 22 | -------------------------------------------------------------------------------- /.junk/wedgeantisym.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | \makeproblem{Vector wedge antisymmetric structure}{problem:vectorproduct:wedgeantisym}{ 7 | Prove the wedge product relationship of \cref{eqn:vectorproduct:300}. 8 | } % problem 9 | 10 | \makeanswer{problem:vectorproduct:wedgeantisym}{ 11 | 12 | Rearranging \cref{eqn:vectorproduct:80} for the wedge product and substitution of the dot product symmetric sum from \cref{problem:gradeselection:dotprod} gives 13 | 14 | \begin{dmath}\label{eqn:gradeselectionProblems:800} 15 | \Bx \wedge \By 16 | = \Bx \By - \Bx \cdot \By 17 | = \Bx \By - \inv{2} \lr{ \Bx \By + \By \Bx } 18 | = \inv{2} \lr{ 2 \Bx \By - \Bx \By - \By \Bx } 19 | = \inv{2} \lr{ \Bx \By - \By \Bx }. 20 | \end{dmath} 21 | } % answer 22 | -------------------------------------------------------------------------------- /2dreciprocalMatrixCalculation.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{reciprocal frame} 6 | \makeproblem{Reciprocal frame for two dimensional subspace.}{problem:reciprocal:2dsubspaceRecip}{ 7 | Prove \cref{eqn:reciprocal_R2:120}. 8 | 9 | Hint: Take dot products of \cref{eqn:reciprocal_R2:100} with \( \Bx_1, \Bx_2 \), group the resulting equations into matrix form (you'll find the same matrix 10 | for both sets of unknowns), and then invert the matrix to find the solution. 11 | } % problem 12 | 13 | \makeanswer{problem:reciprocal:2dsubspaceRecip}{ 14 | 15 | Assuming the representation of \cref{eqn:reciprocal_R2:100}, the dot products are 16 | \begin{equation}\label{eqn:2dreciprocalMatrixCalculation:200} 17 | \begin{aligned} 18 | 1 &= \Bx_1 \cdot \Bx^1 = a \Bx_1^2 + b \Bx_1 \cdot \Bx_2 \\ 19 | 0 &= \Bx_2 \cdot \Bx^1 = a \Bx_2 \cdot \Bx_1 + b \Bx_2^2 \\ 20 | 0 &= \Bx_1 \cdot \Bx^2 = c \Bx_1^2 + d \Bx_1 \cdot \Bx_2 \\ 21 | 1 &= \Bx_2 \cdot \Bx^2 = c \Bx_2 \cdot \Bx_1 + d \Bx_2^2. 22 | \end{aligned} 23 | \end{equation} 24 | 25 | This can be written out as a pair of matrix equations 26 | \begin{equation}\label{eqn:2dreciprocalMatrixCalculation:220} 27 | \begin{aligned} 28 | \begin{bmatrix} 29 | 1 \\ 30 | 0 31 | \end{bmatrix} 32 | &= 33 | \begin{bmatrix} 34 | \Bx_1^2 & \Bx_1 \cdot \Bx_2 \\ 35 | \Bx_2 \cdot \Bx_1 & \Bx_2^2 \\ 36 | \end{bmatrix} 37 | \begin{bmatrix} 38 | a \\ 39 | b 40 | \end{bmatrix} \\ 41 | \begin{bmatrix} 42 | 0 \\ 43 | 1 44 | \end{bmatrix} 45 | &= 46 | \begin{bmatrix} 47 | \Bx_1^2 & \Bx_1 \cdot \Bx_2 \\ 48 | \Bx_2 \cdot \Bx_1 & \Bx_2^2 \\ 49 | \end{bmatrix} 50 | \begin{bmatrix} 51 | c \\ 52 | d 53 | \end{bmatrix}. 54 | \end{aligned} 55 | \end{equation} 56 | 57 | The matrix inverse is 58 | \begin{equation}\label{eqn:2dreciprocalMatrixCalculation:240} 59 | { 60 | \begin{bmatrix} 61 | \Bx_1^2 & \Bx_1 \cdot \Bx_2 \\ 62 | \Bx_2 \cdot \Bx_1 & \Bx_2^2 \\ 63 | \end{bmatrix} 64 | }^{-1} 65 | = 66 | \inv{ \Bx_1^2 \Bx_2^2 - \lr{\Bx_1 \cdot \Bx_2}^2 } 67 | \begin{bmatrix} 68 | \Bx_2^2 & -\Bx_1 \cdot \Bx_2 \\ 69 | -\Bx_2 \cdot \Bx_1 & \Bx_1^2 \\ 70 | \end{bmatrix}, 71 | \end{equation} 72 | and multiplying by the \( (1,0) \), and \( (0,1) \) vectors picks out the respective columns, giving \cref{eqn:reciprocal_R2:120}. 73 | } % answer 74 | -------------------------------------------------------------------------------- /2subspaceR3reciprocalExample.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | \index{reciprocal frame} 7 | \makeproblem{Two vector reciprocal frame}{problem:2subspaceR3reciprocalExample:2subspaceR3reciprocalExample}{ 8 | Calculate the reciprocal frame for the \R{3} subspace spanned by \( \setlr{ \Bx_1, \Bx_2 } \) where 9 | \begin{equation}\label{eqn:2subspaceR3reciprocalExample:20} 10 | \begin{aligned} 11 | \Bx_1 &= \Be_1 + 2 \Be_2 \\ 12 | \Bx_2 &= \Be_2 - \Be_3. 13 | \end{aligned} 14 | \end{equation} 15 | } % problem 16 | 17 | \makeanswer{problem:2subspaceR3reciprocalExample:2subspaceR3reciprocalExample}{ 18 | The bivector for the plane spanned by this basis is 19 | \begin{equation}\label{eqn:2subspaceR3reciprocalExample:40} 20 | \begin{aligned} 21 | \Bx_1 \wedge \Bx_2 22 | &= \lr{ \Be_1 + 2 \Be_2 } \wedge \lr{ \Be_2 - \Be_3 } \\ 23 | &= \Be_{12} - \Be_{13} - 2 \Be_{23} \\ 24 | &= \Be_{12} + \Be_{31} + 2 \Be_{32}. 25 | \end{aligned} 26 | \end{equation} 27 | 28 | This has the square 29 | \begin{equation}\label{eqn:2subspaceR3reciprocalExample:60} 30 | \begin{aligned} 31 | \lr{ \Bx_1 \wedge \Bx_2 }^2 32 | &= 33 | \lr{ \Be_{12} + \Be_{31} + 2 \Be_{32} } 34 | \cdot 35 | \lr{ \Be_{12} + \Be_{31} + 2 \Be_{32} } \\ 36 | &= -1 -1 -4 \\ 37 | &= -6. 38 | \end{aligned} 39 | \end{equation} 40 | 41 | Dotting \( -\Bx_1 \) with the bivector is 42 | \begin{equation}\label{eqn:2subspaceR3reciprocalExample:80} 43 | \begin{aligned} 44 | \Bx_1 \cdot \lr{ \Bx_2 \wedge \Bx_1 } 45 | &= -\lr{ \Be_1 + 2 \Be_2 } \cdot \lr{\Be_{12} + \Be_{31} + 2 \Be_{32} } \\ 46 | &= -\lr{ \Be_2 - \Be_3 - 2 \Be_1 - 4 \Be_3 } \\ 47 | &= 2 \Be_1 - \Be_2 + 5 \Be_3. 48 | \end{aligned} 49 | \end{equation} 50 | 51 | For \( \Bx_2 \) the dot product with the bivector is 52 | \begin{equation}\label{eqn:2subspaceR3reciprocalExample:100} 53 | \begin{aligned} 54 | \Bx_2 \cdot \lr{ \Bx_1 \wedge \Bx_2 } 55 | &= \lr{ \Be_2 - \Be_3 } \cdot \lr{\Be_{12} + \Be_{31} + 2 \Be_{32} } \\ 56 | &= - \Be_1 - 2 \Be_3 - \Be_1 - 2 \Be_2 \\ 57 | &= - 2 \Be_1 - 2 \Be_2 - 2 \Be_3, 58 | \end{aligned} 59 | \end{equation} 60 | so 61 | \begin{equation}\label{eqn:2subspaceR3reciprocalExample:120} 62 | \begin{aligned} 63 | \Bx^1 &= \inv{3} \lr{ \Be_1 + \Be_2 + \Be_3 } \\ 64 | \Bx^2 &= \inv{6} \lr{ -2 \Be_1 + \Be_2 - 5 \Be_3 }. 65 | \end{aligned} 66 | \end{equation} 67 | It is easy to verify that this has the desired semantics. 68 | } % answer 69 | -------------------------------------------------------------------------------- /Definition_adjoint.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_adjoint.tex -------------------------------------------------------------------------------- /Definition_electromagnetic_field_strength.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_electromagnetic_field_strength.tex -------------------------------------------------------------------------------- /Definition_energy_momentum_and_maxwell_stress.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_energy_momentum_and_maxwell_stress.tex -------------------------------------------------------------------------------- /Definition_energy_momentum_poynting.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_energy_momentum_poynting.tex -------------------------------------------------------------------------------- /Definition_maxwells.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_maxwells.tex -------------------------------------------------------------------------------- /Definition_multivector_current.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_multivector_current.tex -------------------------------------------------------------------------------- /Definition_multivector_fourier.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_multivector_fourier.tex -------------------------------------------------------------------------------- /Definition_multivector_integral.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_multivector_integral.tex -------------------------------------------------------------------------------- /Definition_multivector_phasor.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_multivector_phasor.tex -------------------------------------------------------------------------------- /Definition_plane_wave.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_plane_wave.tex -------------------------------------------------------------------------------- /Definition_reciprocal_frame.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_reciprocal_frame.tex -------------------------------------------------------------------------------- /Definition_vector_derivative.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_vector_derivative.tex -------------------------------------------------------------------------------- /Definition_wave_equation_operator.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Definition_wave_equation_operator.tex -------------------------------------------------------------------------------- /FrontBackmatter/Kindle-DirtyTitlepage.tex: -------------------------------------------------------------------------------- 1 | %******************************************************* 2 | % Little Dirty Titlepage 3 | %******************************************************* 4 | \thispagestyle{empty} 5 | %\pdfbookmark[1]{Titel}{title} 6 | %******************************************************* 7 | \begin{center} 8 | %\spacedlowsmallcaps{\myName} \\ \medskip 9 | \myName \\ \medskip 10 | \myTitle 11 | 12 | %\begingroup 13 | % \color{Maroon}\spacedallcaps{\myTitle} 14 | %\endgroup 15 | \end{center} 16 | -------------------------------------------------------------------------------- /FrontBackmatter/Kindle-Titlepage.tex: -------------------------------------------------------------------------------- 1 | %\clearpage 2 | \cleardoublepage 3 | %\begin{titlepage} 4 | \begin{center} 5 | \large 6 | \hfill 7 | \vfill 8 | \myTitle \\ 9 | \bigskip 10 | \myName 11 | \vfill 12 | \mySubtitle \\ 13 | \medskip 14 | \myTime\ -- version \myVersion 15 | \vfill 16 | \end{center} 17 | %\end{titlepage} 18 | -------------------------------------------------------------------------------- /FrontBackmatter/Titlepage.tex: -------------------------------------------------------------------------------- 1 | %******************************************************* 2 | % 3 | % slightly modified classicthesis/FrontBackmatter/Titlepage.tex 4 | % 5 | %******************************************************* 6 | %******************************************************* 7 | % Titlepage 8 | %******************************************************* 9 | \begin{titlepage} 10 | % if you want the titlepage to be centered, uncomment and fine-tune the line below (KOMA classes environment) 11 | % \begin{addmargin}[-1cm]{-3cm} 12 | \begin{center} 13 | \large 14 | 15 | \hfill 16 | 17 | \vfill 18 | 19 | \begingroup 20 | \cMaroon\spacedallcaps{\myTitle} \\ \bigskip 21 | \endgroup 22 | 23 | \spacedlowsmallcaps{\myName} 24 | 25 | \vfill 26 | 27 | %\includegraphics[width=6cm]{gfx/TFZsuperellipse_bw} \\ \medskip 28 | 29 | \mySubtitle \\ \medskip 30 | %\myDegree \\ 31 | %\myDepartment \\ 32 | %\myFaculty \\ 33 | %\myUni \\ \bigskip 34 | 35 | \myTime\ -- version \myVersion 36 | 37 | \vfill 38 | 39 | \end{center} 40 | % \end{addmargin} 41 | \end{titlepage} 42 | -------------------------------------------------------------------------------- /FrontBackmatter/preface.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/FrontBackmatter/preface.tex -------------------------------------------------------------------------------- /GAelectrodynamics.sty: -------------------------------------------------------------------------------- 1 | %\usepackage{siunitx} 2 | %\usepackage{esint} % \oiint 3 | 4 | %\newcommand{\timeaverage}[1]{\left[#1\right]} 5 | 6 | \newcommand{\nbref}[1]{% 7 | \itemRef{GAelectrodynamics}{#1}% 8 | \index{Mathematica}% 9 | } 10 | 11 | % with an alternate label for the link. 12 | % {nb}{text} 13 | % nb of the form: ps2b:countItersAndPlot.m 14 | \newcommand{\nbcite}[2]{% 15 | \itemCite{GAelectrodynamics}{#1}{#2}% 16 | } 17 | 18 | \usepackage{peeters_figures} 19 | 20 | % \pmathImageFigure{dir}{file}{caption}{label}{width}{nbpath} 21 | % nbpath like: ps2b:countItersAndPlot.m 22 | \newcommand{\pmathImageFigure}[6]{% 23 | \pimageFigure{#1}{#2}{\nbcite{#6}{#3}}{#4}{#5} 24 | } 25 | 26 | % \pmathImageTwoFigures{dir}{file1}{file2}{caption}{fig:fff}{scale=0.3}{nbfile} 27 | \newcommand{\pmathImageTwoFigures}[7]{% 28 | \pimageTwoFigures{#1}{#2}{#3}{\nbcite{#7}{#4}}{#5}{#6} 29 | } 30 | 31 | % \pmathImageThreeFiguresOneLine{dir}{file1}{file2}{file3}{caption}{fig:fff}{scale=0.3}{nbfile} 32 | \newcommand{\pmathImageThreeFiguresOneLine}[8]{% 33 | \pimageThreeFiguresOneLine{#1}{#2}{#3}{#4}{\nbcite{#8}{#5}}{#6}{#7} 34 | } 35 | 36 | % \pmathImageFourFiguresTwoLines{dir}{file1}{file2}{file3}{file4}{caption}{fig:fff}{scale=0.3}{nbfile} 37 | \newcommand{\pmathImageFourFiguresTwoLines}[9]{% 38 | \pimageFourFiguresTwoLines{#1}{#2}{#3}{#4}{#5}{\nbcite{#9}{#6}}{#7}{#8} 39 | } 40 | 41 | \newcommand{\matlabFunc}[1]{% 42 | \textbf{#1}% 43 | } 44 | 45 | % {func}{path} 46 | \newcommand{\matlabFuncPath}[2]{% 47 | \nbcite{#2}{\textbf{#1}}% 48 | } 49 | 50 | %\usepackage{macros_bm} 51 | %\usepackage{macros_mathematica} 52 | % 53 | %\newcommand{\hatcalP}[0]{% 54 | %\widehat{\calP}% 55 | %} 56 | -------------------------------------------------------------------------------- /METADATA: -------------------------------------------------------------------------------- 1 | sub GAelectrodynamicsMeta 2 | { 3 | my @GAelectrodynamics = 4 | ( 5 | ) ; # @GAelectrodynamics 6 | 7 | return @GAelectrodynamics ; 8 | } 9 | 10 | 1 ; 11 | -------------------------------------------------------------------------------- /R3PseudoscalarSquare.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{complex imaginary} 6 | \index{pseudoscalar} 7 | Using the reversion operation it is simple to show that the \R{3} pseudoscalar 8 | behaves like a complex imaginary with \( I^2 = -1 \) 9 | \begin{equation}\label{eqn:R3PseudoscalarSquare:3310} 10 | \begin{aligned} 11 | I^2 12 | &= I (-I^\dagger) \\ 13 | &= - (\Be_1 \Be_2 \Be_3)(\Be_3 \Be_2 \Be_1) \\ 14 | &= - \Be_1 \Be_2 \Be_2 \Be_1 \\ 15 | &= - \Be_1 \Be_1 \\ 16 | &= -1. 17 | \end{aligned} 18 | \end{equation} 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GAelectrodynamics 2 | A book on Geometric Algebra applications to electromagnetism 3 | 4 | To access, and build the this book from the latex run: 5 | 6 | cd 7 | 8 | git clone git@github.com:peeterjoot/latex-notes-compilations.git project 9 | 10 | cd ~/project/ 11 | 12 | ./bin/cloneGAe 13 | 14 | cd GAelectrodynamics 15 | 16 | Then add: 17 | 18 | PATH=$PATH:~/project/latex/bin 19 | 20 | to your .profile, and finally: 21 | 22 | make mmacells.sty all 23 | 24 | # Standalone pdf drivers 25 | 26 | boundary.tex 27 | 28 | ellipticalWaves.tex 29 | 30 | greens.tex 31 | 32 | junk.tex 33 | 34 | maxwells.tex 35 | -------------------------------------------------------------------------------- /Theorem_boundary_value_relations.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_boundary_value_relations.tex -------------------------------------------------------------------------------- /Theorem_circular_polarization_coeff.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_circular_polarization_coeff.tex -------------------------------------------------------------------------------- /Theorem_circular_polarization_coeff_pseudoscalar.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_circular_polarization_coeff_pseudoscalar.tex -------------------------------------------------------------------------------- /Theorem_circular_polarization_coeff_pseudoscalar_report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_circular_polarization_coeff_pseudoscalar_report.tex -------------------------------------------------------------------------------- /Theorem_circular_polarization_coeff_report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_circular_polarization_coeff_report.tex -------------------------------------------------------------------------------- /Theorem_complex_power.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_complex_power.tex -------------------------------------------------------------------------------- /Theorem_continuity_wave.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_continuity_wave.tex -------------------------------------------------------------------------------- /Theorem_curvilinear_gradient.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_curvilinear_gradient.tex -------------------------------------------------------------------------------- /Theorem_divergence.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_divergence.tex -------------------------------------------------------------------------------- /Theorem_enclosed_multivector_current.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_enclosed_multivector_current.tex -------------------------------------------------------------------------------- /Theorem_energy_momentum_tensor_expansion.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_energy_momentum_tensor_expansion.tex -------------------------------------------------------------------------------- /Theorem_energy_momentum_tensor_plane_wave.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_energy_momentum_tensor_plane_wave.tex -------------------------------------------------------------------------------- /Theorem_far_field_magnetic_vector_potential.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_far_field_magnetic_vector_potential.tex -------------------------------------------------------------------------------- /Theorem_far_field_magnetic_vector_potential_report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_far_field_magnetic_vector_potential_report.tex -------------------------------------------------------------------------------- /Theorem_fields_and_potential_wave_equations.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_fields_and_potential_wave_equations.tex -------------------------------------------------------------------------------- /Theorem_fields_and_potential_wave_equations_report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_fields_and_potential_wave_equations_report.tex -------------------------------------------------------------------------------- /Theorem_fundamental_theorem_of_gc.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_fundamental_theorem_of_gc.tex -------------------------------------------------------------------------------- /Theorem_gauge_invariance.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_gauge_invariance.tex -------------------------------------------------------------------------------- /Theorem_greens.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_greens.tex -------------------------------------------------------------------------------- /Theorem_greens_function_helmholtz.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_greens_function_helmholtz.tex -------------------------------------------------------------------------------- /Theorem_greens_function_helmholtz_first_order.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_greens_function_helmholtz_first_order.tex -------------------------------------------------------------------------------- /Theorem_greens_function_helmholtz_report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_greens_function_helmholtz_report.tex -------------------------------------------------------------------------------- /Theorem_greens_function_spacetime_grad.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_greens_function_spacetime_grad.tex -------------------------------------------------------------------------------- /Theorem_jefimenkos.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_jefimenkos.tex -------------------------------------------------------------------------------- /Theorem_jefimenkos_report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_jefimenkos_report.tex -------------------------------------------------------------------------------- /Theorem_line_integral_of_field.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_line_integral_of_field.tex -------------------------------------------------------------------------------- /Theorem_line_integral_scalar_function.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_line_integral_scalar_function.tex -------------------------------------------------------------------------------- /Theorem_lorentz_force_power.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_lorentz_force_power.tex -------------------------------------------------------------------------------- /Theorem_lorentz_force_power_report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_lorentz_force_power_report.tex -------------------------------------------------------------------------------- /Theorem_lorentz_gauge_transformation.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_lorentz_gauge_transformation.tex -------------------------------------------------------------------------------- /Theorem_maxwell_statics_solution.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_maxwell_statics_solution.tex -------------------------------------------------------------------------------- /Theorem_maxwells_equations_in_media.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_maxwells_equations_in_media.tex -------------------------------------------------------------------------------- /Theorem_multivector_line_integral.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_multivector_line_integral.tex -------------------------------------------------------------------------------- /Theorem_multivector_surface_integral.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_multivector_surface_integral.tex -------------------------------------------------------------------------------- /Theorem_multivector_volume_integral.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_multivector_volume_integral.tex -------------------------------------------------------------------------------- /Theorem_plane_wave_solutions.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_plane_wave_solutions.tex -------------------------------------------------------------------------------- /Theorem_poynting_differential.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_poynting_differential.tex -------------------------------------------------------------------------------- /Theorem_poynting_integral.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_poynting_integral.tex -------------------------------------------------------------------------------- /Theorem_reciprocal_frame_vectors_gradient.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_reciprocal_frame_vectors_gradient.tex -------------------------------------------------------------------------------- /Theorem_stokes_theorem_general.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_stokes_theorem_general.tex -------------------------------------------------------------------------------- /Theorem_surface_integral_of_scalar_stokes.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_surface_integral_of_scalar_stokes.tex -------------------------------------------------------------------------------- /Theorem_surface_integral_of_vector_stokes.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_surface_integral_of_vector_stokes.tex -------------------------------------------------------------------------------- /Theorem_transverse_and_propagation_solutions.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_transverse_and_propagation_solutions.tex -------------------------------------------------------------------------------- /Theorem_transverse_and_propagation_solutions_report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_transverse_and_propagation_solutions_report.tex -------------------------------------------------------------------------------- /Theorem_volume_integral_of_bivector_stokes_divergence.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_volume_integral_of_bivector_stokes_divergence.tex -------------------------------------------------------------------------------- /Theorem_volume_integral_of_vector_stokes.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/Theorem_volume_integral_of_vector_stokes.tex -------------------------------------------------------------------------------- /ampereExample.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/ampereExample.tex -------------------------------------------------------------------------------- /amperes.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/amperes.tex -------------------------------------------------------------------------------- /appendixchapters.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/appendixchapters.tex -------------------------------------------------------------------------------- /backcover.txt: -------------------------------------------------------------------------------- 1 | The multivector of geometric algebra extends vector algebra, providing a representation of points, directed line, plane, and volume segments. 2 | Maxwell's equation in its multivector form is a compact and simple theoretical starting point for electromagnetic analysis . 3 | This book details how geometric algebra may be applied to electromagnetic analysis and provides all of the prerequisite concepts and theory required to do so. 4 | This book is suitable for students with an advanced undergraduate electrical engineering or physics background and aims to make the subject more accessible than the available research material. 5 | -------------------------------------------------------------------------------- /backcoverphoto.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/backcoverphoto.jpg -------------------------------------------------------------------------------- /bio.txt: -------------------------------------------------------------------------------- 1 | Peeter Joot is a math and physics enthusiast with a love of geometric algebra. 2 | 3 | Peeter's education includes a B.A.Sc from UofT (1997 Engineering Science - computer engineering), 2019 UofT M.Eng (ECE electromagnetics), a lot of self-study, and non-degree study of most of the interesting 4th year UofT undergrad physics courses. 4 | 5 | Peeter's day job is software development. He has over 25 years of experience with low level systems programming, operating system and hardware abstraction and exploitation, concurrency, and large scale refactoring. Peeter works for LzLabs and now has fun with PL/I, COBOL, JCL, VSAM, CICS and other legacy subsystems sure to scare away most developers of his generation. 6 | -------------------------------------------------------------------------------- /bladeAndBladeReverse.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{reverse} 6 | \input{reverseDefined.tex} 7 | 8 | A useful relation for k-vectors that are composed entirely of products of orthogonal vectors exists. We call such k-vectors blades 9 | 10 | \index{blade} 11 | \index{grade} 12 | \index{\(\bigwedge^k\)} 13 | \makedefinition{Blade.}{def:multiplication:blade}{ 14 | A product of \( k \) orthogonal vectors is called a k-blade, or a blade of grade \( k \). 15 | A grade zero blade is a scalar. 16 | 17 | The notation \( F \in \bigwedge^k \) is used in the literature to indicate that \( F \) is a blade of grade \( k \). 18 | } 19 | 20 | Any k-blade is also a k-vector, but not all k-vectors are k-blades. For example in \R{4} the bivector 21 | \( 22 | \Be_{12} + \Be_{34} \) 23 | is not a 2-blade, since it cannot be factored into orthogonal products, whereas any \R{3} bivector, such as 24 | \( \Be_{12} + \Be_{23} + \Be_{31} \) is a blade (\cref{problem:normalFactorization:1}). 25 | This will be relevant when formulating rotations since bivectors that are blades can be used to simply describe rotations or Lorentz boosts 26 | \footnote{A rotation in spacetime.} whereas it is not easily possible to compute an exponential of a non-blade bivector argument. 27 | 28 | \maketheorem{Reverse of k-blade.}{thm:reverse:kBlade}{ 29 | The reverse of a k-blade \( A_k = \Ba_1 \Ba_2 \cdots \Ba_k \) is given by 30 | \begin{equation*} 31 | A_k^\dagger = (-1)^{k(k-1)/2} A_k. 32 | \end{equation*} 33 | } % theorem 34 | 35 | \begin{proof} 36 | We prove by successive interchange of factors. 37 | %\begin{equation}\label{eqn:reverse:81} 38 | %\begin{aligned} 39 | \begin{align*} 40 | A_k^\dagger 41 | &= \Ba_k \Ba_{k-1} \cdots \Ba_1 \\ 42 | &= (-1)^{k-1} \Ba_1 \Ba_k \Ba_{k-1} \cdots \Ba_2 \\ 43 | &= (-1)^{k-1} (-1)^{k-2} \Ba_1 \Ba_2 \Ba_k \Ba_{k-1} \cdots \Ba_3 \\ 44 | &\qquad \vdots \\ 45 | &= (-1)^{k-1} (-1)^{k-2} \cdots (-1)^1 \Ba_1 \Ba_2 \cdots \Ba_k \\ 46 | &= (-1)^{k(k-1)/2} \Ba_1 \Ba_2 \cdots \Ba_k \\ 47 | &= (-1)^{k(k-1)/2} A_k. 48 | &&\qedhere 49 | %\end{aligned} 50 | %\end{equation} 51 | \end{align*} 52 | \end{proof} 53 | 54 | A special, but important case, is the reverse of the \R{3} pseudoscalar, which is negated by reversion 55 | \boxedEquation{eqn:reverse:103}{ 56 | I^\dagger = -I. 57 | } 58 | 59 | -------------------------------------------------------------------------------- /boundary.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/boundary.tex -------------------------------------------------------------------------------- /bruce/comments.txt: -------------------------------------------------------------------------------- 1 | Some possible typos and a few comments – but first let me say I think what you’re doing is great! 2 | 3 | I’d like to see your book gradually expanded to include more topics. 4 | 5 | -------------------------------------- 6 | 7 | DONE: 8 | 9 | - Theorem 1.2, anticommutation of orthogonal vectors, has two parts: orthogonal vectors anticommute and the second part: if the product of two vectors is a bivector, the vectors are orthogonal. 10 | 11 | It seems to me that the second part hasn’t been proved and perhaps isn’t obvious – what do you think? 12 | 13 | - Right below formula 1.65 on page 42 we have (using n’ for n-hat): ...normal to the unit normal n’ i_ab n’ = e_123 14 | 15 | I suspect that should be n’, i_ab n’ = e_123 (there should be a comma after the first n’) 16 | 17 | - On page 33 in the second paragraph from the bottom we have .. 18 | 19 | is an (N – k)))))))) 20 | 21 | Which seems like a typo. 22 | 23 | - In Table 1.3 on page 40, cross product and wedge product comparison, in the “coordinate expansion” row I think the wedge product and cross product formulas are in the wrong columns. 24 | 25 | - On page 45 right after formula 1.72 we have provided u, v(, w) which should be u,v,w (and similarly for the following line) 26 | My intent here was that w only applied to the 3D pseudoscalar, but I guess that wasn't clear. I've remove the braces. 27 | 28 | - In formula 1.66 there are two instances of cos(delat-theta); I think the second one should be sine. 29 | 30 | - May I suggest that the proofs should have the end-of-proof symbol at the end? That way it’s easier for readers to know when they can stop thinking about the proof! 31 | 32 | - I noticed that the “quaternion” isn’t in the index – I’d like to suggest that would be useful for some readers. 33 | -------------------------------------------------------------------------------- /build_factor.mk4: -------------------------------------------------------------------------------- 1 | 2 | -- https://github.com/michal-h21/tex4ebook/issues/113#issuecomment-1681960392 3 | 4 | local domfilter = require "make4ht-domfilter" 5 | 6 | local process = domfilter { 7 | function(dom) 8 | for _, image in ipairs(dom:query_selector(".equation img")) do 9 | local src = image:get_attribute("src") 10 | if src then 11 | local m = io.popen("identify -ping -format '%w' " .. src, "r") 12 | local result = m:read("*all") 13 | m:close() 14 | print(result) 15 | -- change this to your liking 16 | -- local factor = 0.9 17 | -- local factor = 0.8 18 | -- local factor = 0.6 -- doesn't shrink x = ax + by + cz noticably. 19 | -- local factor = 0.5 20 | local factor = 0.4 21 | -- local factor = 0.3 -- too small (for \grad F = J in preface) 22 | local newwidth = (tonumber(result) or 0) * factor 23 | if newwidth > 0 then 24 | local style = image:get_attribute(style) or "" 25 | style = style .. string.format("width:%spx;" , newwidth) 26 | image:set_attribute("style", style) 27 | end 28 | end 29 | 30 | end 31 | 32 | return dom 33 | end 34 | } 35 | 36 | Make:match("html$", process) 37 | -------------------------------------------------------------------------------- /chapters.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/chapters.tex -------------------------------------------------------------------------------- /colinearVectors.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | It was pointed out that the vector multiplication operation was not assumed to be commutative (order matters). 6 | The only condition for which the product of two vectors is order independent, is when those vectors are colinear. 7 | 8 | \index{commutation} 9 | \maketheorem{Vector commutation.}{thm:multiplication:commutation}{ 10 | Given two vectors \( \Bx, \By \), if \( \By = \alpha \Bx \) for some scalar \( \alpha \), then \( \Bx \) and \( \By \) commute 11 | \begin{equation*} 12 | \Bx \By = \By \Bx. 13 | \end{equation*} 14 | } % theorem 15 | 16 | \begin{proof} 17 | %vu = auu. 18 | %uv = u(au) = auu 19 | %The proof is simple. 20 | %\label{eqn:colinearVectors:380} 21 | \begin{align*} 22 | \By \Bx &= \alpha \Bx \Bx \\ 23 | \Bx \By &= \Bx \alpha \Bx = \alpha \Bx \Bx. 24 | && \qedhere 25 | \end{align*} 26 | \end{proof} 27 | 28 | The contraction axiom ensures that the product of two colinear vectors is a scalar. 29 | In particular, the square of a unit vector, say \( \Bu \) is unity. 30 | This should be highlighted explicitly, because this property will be used again and again 31 | \boxedEquation{eqn:multiplication:320}{ 32 | \Bu^2 = 1. 33 | } 34 | 35 | For example, the squares of any orthonormal basis vectors are unity \( (\Be_1)^2 = (\Be_2)^2 = (\Be_3)^2 = 1 \). 36 | 37 | A corollary of 38 | \cref{eqn:multiplication:320} is 39 | \boxedEquation{eqn:multiplication:400}{ 40 | 1 = \Bu \Bu, 41 | } 42 | for any unit vector \( \Bu \). 43 | Such a factorization trick will be used repeatedly in this book. 44 | -------------------------------------------------------------------------------- /continuity.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/continuity.tex -------------------------------------------------------------------------------- /curvilinearDefinedCoordinates.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | %%%Any multivector can be expressed in terms of the curvilinear basis \( \setlr{ \Bx_{u_1}, \Bx_{u_2}, \cdots, \Bx_k} \), but computation of the curvilinear coordinates requires the reciprocal basis. 7 | %%% 8 | %%%For example, a vector \( \Bf \) constrained to the tangent space admits a representation 9 | %%% 10 | %%%\begin{equation}\label{eqn:curvilinearDefinedCoordinates:380} 11 | %%%\Bf = \sum_i a_i \Bx_{u_i}. 12 | %%%\end{equation} 13 | %%% 14 | %%%Dotting with \( \Bx^{u_j} \) gives 15 | %%% 16 | %%%\begin{equation}\label{eqn:curvilinearDefinedCoordinates:280} 17 | %%%\Bf \cdot \Bx^{u_j} 18 | %%%= \sum_i a_i \Bx_{u_i} \cdot \Bx^{u_j} 19 | %%%= \sum_i a_i {\delta^i}_j 20 | %%%= a_j, 21 | %%%\end{equation} 22 | %%% 23 | %%%so 24 | %%%\begin{equation}\label{eqn:curvilinearDefinedCoordinates:300} 25 | %%%\Bf = \sum_i \lr{ \Bf \cdot \Bx^{u_i} } \Bx_{u_i}. 26 | %%%\end{equation} 27 | %%% 28 | \subsubsection{Bivector coordinates.} 29 | Higher grade multivector objects may also be represented in curvilinear coordinates. Illustrating by example, we will calculate the coordinates of a 30 | bivector constrained to a three parameter manifold \( \Span \setlr{ \Bx_1, \Bx_2, \Bx_3 } \) which can be represented as 31 | \begin{equation}\label{eqn:curvilinearDefinedCoordinates:320} 32 | B 33 | = \inv{2} \sum_{i, j} B^{ij} \Bx_{i} \wedge \Bx_{j} 34 | = \sum_{i < j} B^{ij} \Bx_{i} \wedge \Bx_{j}. 35 | \end{equation} 36 | 37 | The coordinates \( B^{ij} \) can be determined by dotting \( B \) with \( \Bx^{j} \wedge \Bx^{i} \), where \( i \ne j \), yielding 38 | \begin{equation}\label{eqn:curvilinearDefinedCoordinates:340} 39 | \begin{aligned} 40 | B \cdot \lr{ \Bx^{j} \wedge \Bx^{i} } 41 | &= \inv{2} \sum_{r, s} B^{rs} \lr{ \Bx_{r} \wedge \Bx_{s} } \cdot \lr{ \Bx^{j} \wedge \Bx^{i} } \\ 42 | &= \inv{2} \sum_{r, s} B^{rs} \lr{ \lr{ \Bx_{r} \wedge \Bx_{s} } \cdot \Bx^{j} } \cdot \Bx^{i} \\ 43 | &= \inv{2} \sum_{r, s} B^{rs} \lr{ \Bx_{r} {\delta_s}^j - \Bx_{s} {\delta_r}^j } \cdot \Bx^{i} \\ 44 | &= \inv{2} \sum_{r, s} B^{rs} \lr{ {\delta_r}^i {\delta_s}^j - {\delta_s}^i {\delta_r}^j } \\ 45 | &= \inv{2} \lr{ B^{i j} - B^{j i} }. 46 | \end{aligned} 47 | \end{equation} 48 | 49 | We see that the coordinates of a bivector, even with respect to a non-orthonormal basis, are antisymmetric, so 50 | \cref{eqn:curvilinearDefinedCoordinates:340} is just \( B^{ij} \) as claimed. That is 51 | \begin{equation}\label{eqn:curvilinearDefinedCoordinates:401} 52 | B^{ij} = B \cdot \lr{ \Bx^{j} \wedge \Bx^{i} }. 53 | \end{equation} 54 | Just as the reciprocal frame was instrumental for computation of the coordinates of a vector with respect to an arbitrary (i.e. non-orthonormal frame), we use the reciprocal frame to calculate the coordinates of a bivector, and could do the same for higher grade k-vectors as well. 55 | %} 56 | -------------------------------------------------------------------------------- /curvilinearExamples.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | 7 | We've just blasted through a few abstract ideas: 8 | \begin{itemize} 9 | \item The curvilinear representation of the gradient. 10 | \item The gradient representation of the reciprocal frame. 11 | \item The vector derivative. 12 | \end{itemize} 13 | 14 | This completes the 15 | mathematical preliminaries required to formulate geometric calculus, the multivector generalization of line, surface, and volume integrals. 16 | Before diving into the calculus let's consider some 17 | example parameterizations to illustrate how some of the new ideas above fit together. 18 | 19 | \subsubsection{Example parameterization: Polar coordinates.} 20 | \input{2Dcylindrical.tex} 21 | 22 | \subsubsection{Example parameterization: Spherical coordinates.} 23 | \input{curvilinearspherical.tex} 24 | 25 | \subsubsection{Example parameterization: Toroidal coordinates.} 26 | \input{torusCenterOfMassParameterization.tex} 27 | 28 | %} 29 | -------------------------------------------------------------------------------- /curvilinearThree.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | We can extend the previous two parameter subspace ideas to higher dimensional (or one dimensional) subspaces associated with a parameterization 7 | \index{tangent space} 8 | \index{curvilinear bases} 9 | \index{oriented volume element} 10 | \index{volume element} 11 | \index{\(d^k \Bx\)} 12 | \index{\(\Bx_i\)} 13 | \makedefinition{Curvilinear bases and volume element}{dfn:curvilinearThree:280}{ 14 | Given a parameterization \( \Bx(u_1, u_2, \cdots, u_k) \) with \( k \) degrees of freedom, we define the curvilinear basis elements \( \Bx_i \) by the partials 15 | \begin{equation*} 16 | \Bx_{i} = \PD{u_i}{\Bx}. 17 | \end{equation*} 18 | The span of \( \setlr{ \Bx_{i} } \) at the point of evaluation is called the tangent space. 19 | A subspace associated with a parameterization of this sort is also called a manifold. 20 | The volume element for the subspace is 21 | \begin{equation*} 22 | d^k \Bx = du_1 du_2 \cdots du_k\, 23 | \Bx_{1} \wedge 24 | \Bx_{2} \wedge \cdots \wedge 25 | \Bx_{k}. 26 | \end{equation*} 27 | Such a volume element is a k-vector. The volume of the (hyper-) parallelepiped bounded by \( \setlr{ \Bx_{i} } \) is \( \sqrt{\Abs{(d^k \Bx)^2}} \). 28 | } % definition 29 | 30 | We will assume that the parameterization is non-generate. 31 | This means that the 32 | volume element \( d^k \Bx \) is non-zero in the region of interest. 33 | Note that a zero volume element implies a linear dependency in the curvilinear basis elements \( \Bx_i \). 34 | 35 | Given a parameterization \( \Bx = \Bx(u,v,\cdots, w) \), we may write 36 | \( \Bx_u, \Bx_v, \cdots, \Bx_w \) for the curvilinear basis elements, and 37 | \( \Bx^u, \Bx^v, \cdots, \Bx^w \) for the reciprocal frame elements. 38 | When doing so, sums over numeric indexes like \( \sum_i \Bx^i \Bx_i \) should be interpreted as a sum over all the parameter labels, i.e. \( \Bx^u \Bx_u + \Bx^v \Bx_v + \cdots \). 39 | %} 40 | -------------------------------------------------------------------------------- /curvilinearspherical.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/curvilinearspherical.tex -------------------------------------------------------------------------------- /cylinderField.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | 7 | \paragraph{Example. field of a cylindrical distribution.} 8 | 9 | Consider an electric multivector current distribution for static surface charge density \( \sigma \) and a current moving with constant (magnitude) current \( \Bv \) on a cylinder of radius \( R \) 10 | \begin{equation}\label{eqn:cylinderField:20} 11 | J = \inv{\epsilon_0} \sigma \delta( r - R ) \lr{ 1 - \frac{\Bv}{c} }. 12 | \end{equation} 13 | 14 | Using cylindrical coordinates for the field observation point \( \Bx \) and the volume integration point \( \Bx' \) have parameterization 15 | \begin{equation}\label{eqn:cylinderField:40} 16 | \begin{aligned} 17 | \Bx &= z \Be_3 + r \rhocap \\ 18 | \Bx' &= z' \Be_3 + r' \rhocap', 19 | \end{aligned} 20 | \end{equation} 21 | where \( \rhocap = \Be_1 e^{i \phi} \), and \( \rhocap' = \Be_1 e^{i \phi'} \), and \( i = \Be_{12} \). 22 | The field is 23 | \begin{equation}\label{eqn:cylinderField:60} 24 | F = \frac{\sigma}{4 \pi \epsilon_0} 25 | \int_{-\infty}^\infty dz' \int_0^\infty r' dr' \int d\phi' \frac{ 26 | \gpgrade{ \lr{ (z-z') \Be_3 + \Delta_r }\lr{ 1 - \Bv/c } }{1,2} 27 | }{ \lr{ (z -z')^2 + \Delta_r^2 }^{3/2} }, 28 | \end{equation} 29 | where \( \Delta_r = r \rhocap - r' \rhocap' \). 30 | The z-axis integrals are of the form 31 | \begin{equation}\label{eqn:cylinderField:80} 32 | \int_{-\infty}^\infty dz' \frac{ (1, z-z') }{ \lr{(z-z')^2 + a^2 }^{3/2}} 33 | = 34 | \lr{ \frac{2}{a^2} \sgn(z), 0 }, 35 | \end{equation} 36 | so the field is 37 | \begin{equation}\label{eqn:cylinderField:100} 38 | \begin{aligned} 39 | F 40 | &= 41 | \frac{\sigma R \sgn(z)}{2 \pi \epsilon_0} 42 | \int_0^{2 \pi} d\phi' \frac{ 43 | \gpgrade{ \lr{ r\rhocap - R \rhocap' } \lr{ 1 - \Bv/c } }{1,2} 44 | } 45 | { (r\rhocap - R \rhocap')^2 } \\ 46 | &= 47 | \frac{\sigma \sgn(z)}{2 \pi \epsilon_0} 48 | \int_0^{2 \pi} d\phi' \frac{ 49 | \gpgrade{ \lr{ \tilde{r}\rhocap - \rhocap' } \lr{ 1 - \Bv/c } }{1,2} 50 | } 51 | { (\tilde{r}\rhocap - \rhocap')^2 }, 52 | \end{aligned} 53 | \end{equation} 54 | where \( \tilde{r} = r/R \). 55 | Let's consider two cases \( \Bv = v \Be_3 \), and \( \Bv(\phi') = v \phicap' = v \Be_2 e^{i\phi'} \). This means there are three integrals of interest 56 | \begin{equation}\label{eqn:cylinderField:120} 57 | \int_0^{2 \pi} d\phi' \frac{(1, e^{i\phi'}, e^{2 i\phi'})}{1 + a^2 - 2 a \cos(\phi-\phi')}. 58 | \end{equation} 59 | %} 60 | -------------------------------------------------------------------------------- /derivativeOfDeltaFunction.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/derivativeOfDeltaFunction.tex -------------------------------------------------------------------------------- /dielectric.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/dielectric.tex -------------------------------------------------------------------------------- /discourse.sample.txt: -------------------------------------------------------------------------------- 1 | The power to add scalars, vectors, and products of vectors can be exploited to simplify much of electromagnetism. In particular, Maxwell's equations for isotropic media can be merged into a single multivector equation 2 | $$ 3 | \left( \nabla + \frac{1}{c} \frac{\partial}{\partial t}\right) 4 | \left( \mathbf{E} + I c \mathbf{B} \right) 5 | = \eta 6 | \left( c \rho - \mathbf{J} \right) 7 | , 8 | $$ 9 | where $ \nabla $ is the gradient, $ I = \mathbf{e}_1 \mathbf{e}_2 \mathbf{e}_3 $ is the ordered product of the three $\mathbb{R}^3$ basis vectors, $ c = 1/\sqrt{\mu\epsilon}$ and $ \eta = \sqrt{\mu/\epsilon} $ are the group velocity and impedance of the media, $ \mathbf{E}, \mathbf{B} $ are the electric and magnetic fields, and $ \rho $ and $ \mathbf{J} $ are the charge and current densities. This can be written as a single equation 10 | $$\left( \nabla + \frac{1}{c} \frac{\partial}{\partial t}\right) F = J, $$ 11 | where $ F = \mathbf{E} + I c \mathbf{B} $ is the combined (multivector) electromagnetic field, and $ J = \eta\left( c \rho - \mathbf{J} \right) $ is the multivector current. 12 | -------------------------------------------------------------------------------- /dontspellcheckem.txt: -------------------------------------------------------------------------------- 1 | GAelectrodynamics.tex 2 | appendixchapters.tex 3 | backmatter.tex 4 | boundary.tex 5 | chapters.tex 6 | classicthesis-config.tex 7 | currentBookCopyright.tex 8 | ellipticalWaves.tex 9 | greens.tex 10 | junk.tex 11 | maxwells.tex 12 | maxwellsEquations.tex 13 | -------------------------------------------------------------------------------- /ece2500report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/ece2500report.tex -------------------------------------------------------------------------------- /ecmp: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | #----------------------------------------------------------------------------- 4 | # POD Format Documentation. Read "perldoc perlpod" for an example. 5 | # When done, check syntax with "podchecker". 6 | 7 | =head1 NAME 8 | 9 | edef - 10 | 11 | =head1 SYNOPSIS 12 | 13 | edef [--help] [] 14 | 15 | =head1 DESCRIPTION 16 | 17 | It looks like somebody used the perl skeleton without filling in the POD 18 | documentation for their particular script. Shame on them!!! 19 | 20 | Options: 21 | 22 | =over 4 23 | 24 | =item --foo=bar 25 | 26 | Blah. 27 | 28 | =back 29 | 30 | =head1 SUPPORTED PLATFORMS 31 | 32 | Unix (Linux verified) 33 | 34 | =head1 SUPPORT 35 | 36 | Send email to peeter.joot@lzlabs.com 37 | 38 | =head1 AUTHORS 39 | 40 | Peeter Joot 41 | 42 | =cut 43 | 44 | #----------------------------------------------------------------------------- 45 | 46 | use strict ; 47 | use warnings ; 48 | use Getopt::Long ; 49 | use Pod::Usage ; 50 | use POSIX qw/strftime/ ; 51 | 52 | # Suppress sourcing of users' .bashrc files in invoked shells 53 | delete $ENV{'ENV'} ; 54 | delete $ENV{'BASH_ENV'} ; 55 | 56 | # Set STDOUT and STDERR to unbuffered 57 | select STDERR ; $| = 1 ; 58 | select STDOUT ; $| = 1 ; 59 | 60 | my $myName = '' ; 61 | my $n; 62 | 63 | ($myName = $0) =~ s@.*[/\\]@@ ; 64 | 65 | #Getopt::Long::Configure( 'pass_through' ) ; 66 | GetOptions ( 67 | 'name=s' => \$n, 68 | 'help' => sub { pod2usage(-verbose => 2) ; }, 69 | ) or pod2usage(-verbose => 0) ; 70 | 71 | # Validate/handle options, and everything else... 72 | 73 | my $y = strftime( "%Y", localtime ) ; 74 | my $s = `head -4 ../latex/template.tex | perl -p -e "s/CCYY/$y/;"`; 75 | my $o = ''; 76 | while (<>) 77 | { 78 | $s .= $_; 79 | $o .= $_; 80 | } 81 | 82 | die unless ( defined $n ); 83 | 84 | open my $fh, ">$n.tmp" or die; 85 | print $fh $s; 86 | close $fh; 87 | system( "cmp -s $n.tmp $n" ); 88 | my $rc = $? >> 8; 89 | if ( $rc eq 0 ) 90 | { 91 | print "\\input{$n}\n"; 92 | } 93 | else 94 | { 95 | print $o; 96 | } 97 | -------------------------------------------------------------------------------- /edef: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | #----------------------------------------------------------------------------- 4 | # POD Format Documentation. Read "perldoc perlpod" for an example. 5 | # When done, check syntax with "podchecker". 6 | 7 | =head1 NAME 8 | 9 | edef - 10 | 11 | =head1 SYNOPSIS 12 | 13 | edef [--help] [] 14 | 15 | =head1 DESCRIPTION 16 | 17 | It looks like somebody used the perl skeleton without filling in the POD 18 | documentation for their particular script. Shame on them!!! 19 | 20 | Options: 21 | 22 | =over 4 23 | 24 | =item --foo=bar 25 | 26 | Blah. 27 | 28 | =back 29 | 30 | =head1 SUPPORTED PLATFORMS 31 | 32 | Unix (Linux verified) 33 | 34 | =head1 SUPPORT 35 | 36 | Send email to peeter.joot@lzlabs.com 37 | 38 | =head1 AUTHORS 39 | 40 | Peeter Joot 41 | 42 | =cut 43 | 44 | #----------------------------------------------------------------------------- 45 | 46 | use strict ; 47 | use warnings ; 48 | use Getopt::Long ; 49 | use Pod::Usage ; 50 | use POSIX qw/strftime/ ; 51 | 52 | # Suppress sourcing of users' .bashrc files in invoked shells 53 | delete $ENV{'ENV'} ; 54 | delete $ENV{'BASH_ENV'} ; 55 | 56 | # Set STDOUT and STDERR to unbuffered 57 | select STDERR ; $| = 1 ; 58 | select STDOUT ; $| = 1 ; 59 | 60 | my $myName = '' ; 61 | my $override = 0; 62 | my $n; 63 | 64 | ($myName = $0) =~ s@.*[/\\]@@ ; 65 | 66 | #Getopt::Long::Configure( 'pass_through' ) ; 67 | GetOptions ( 68 | 'override!' => \$override, 69 | 'name=s' => \$n, 70 | 'help' => sub { pod2usage(-verbose => 2) ; }, 71 | ) or pod2usage(-verbose => 0) ; 72 | 73 | # Validate/handle options, and everything else... 74 | 75 | my $s = ''; 76 | while (<>) 77 | { 78 | $s .= $_; 79 | 80 | chomp; 81 | 82 | #\makedefinition{Reciprocal frame}{dfn:reciprocal:frame}{ 83 | if ( /{dfn:(.*)}{/ ) 84 | { 85 | unless ( defined $n ) 86 | { 87 | $n = $1; 88 | $n =~ s/:/_/g; 89 | } 90 | 91 | $n = "Definition_$n.tex"; 92 | 93 | unless ( $override ) 94 | { 95 | die if ( -e "$n" ); 96 | } 97 | } 98 | 99 | if ( /{thm:(.*)}{/ ) 100 | { 101 | unless ( defined $n ) 102 | { 103 | $n = $1; 104 | $n =~ s/:/_/g; 105 | } 106 | 107 | $n = "Theorem_$n.tex"; 108 | 109 | unless ( $override ) 110 | { 111 | die if ( -e "$n" ); 112 | } 113 | } 114 | } 115 | 116 | die unless ( defined $n ); 117 | 118 | my $y = strftime( "%Y", localtime ) ; 119 | my $cmd = qq(head -4 ../latex/template.tex | perl -p -e "s/CCYY/$y/;" > $n); 120 | #print "% $cmd\n"; 121 | print "\\input{$n}\n"; 122 | system( $cmd ); 123 | open my $fh, ">>$n" or die; 124 | print $fh $s; 125 | close $fh; 126 | -------------------------------------------------------------------------------- /ellipseCurvilinear.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/ellipseCurvilinear.tex -------------------------------------------------------------------------------- /ellipticalWaves.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/ellipticalWaves.tex -------------------------------------------------------------------------------- /enclosedCurrent.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | In conventional electrostatics we obtain a relation between the normal electric field component and the enclosed charge by integrating the electric field divergence. 7 | The geometric algebra generalization of this relates the product of the normal and the electromagnetic field strength related to the enclosed multivector current 8 | \input{Theorem_enclosed_multivector_current.tex} 9 | \begin{proof} 10 | To prove \cref{thm:enclosedCurrent:60} 11 | simply evaluate the volume integral of the gradient of the field using \cref{thm:volumeintegral:100} 12 | \begin{equation}\label{eqn:enclosedCurrent:20} 13 | \int_V dV\, \spacegrad F = \int_{\partial V} dA\, \ncap F, 14 | \end{equation} 15 | and note that 16 | \begin{equation}\label{eqn:enclosedCurrent:60} 17 | \int_V dV\, \spacegrad F = \int_V dV J. 18 | \end{equation} 19 | This is a multivector relationship, containing a substantial amount of information, which can be 20 | extracted by 21 | expanding \( \ncap F \) 22 | \begin{equation}\label{eqn:enclosedCurrent:40} 23 | \begin{aligned} 24 | \ncap F 25 | &= \ncap \lr{ \BE + I \eta \BH } \\ 26 | &= \ncap \cdot \BE + I (\ncap \cross \BE) + I \eta \lr{ \ncap \cdot \BH + I \ncap \cross \BH } \\ 27 | &= \ncap \cdot \BE - \eta ( \ncap \cross \BH ) + I (\ncap \cross \BE) + I \eta (\ncap \cdot \BH). 28 | \end{aligned} 29 | \end{equation} 30 | Inserting this into 31 | \cref{thm:enclosedCurrent:60}, and equating grades, we find 32 | \begin{equation}\label{eqn:enclosedCurrent:80} 33 | \begin{aligned} 34 | \int_{\partial V} dA \,\ncap \cdot \BE &= \int_V dV \frac{\rho}{\epsilon} \\ 35 | - \int_{\partial V} dA\, \eta ( \ncap \cross \BH ) &= - \int_V dV\, \eta \BJ \\ 36 | I \int_{\partial V} dA\, (\ncap \cross \BE) &= - I \int_V dV\, \BM \\ 37 | I \int_{\partial V} dA\, \eta (\ncap \cdot \BH) &= I \int_V dV\, c \rho_\txtm, 38 | \end{aligned} 39 | \end{equation} 40 | 41 | which completes the proof after cancelling common factors and some minor adjustments of the multiplicative constants. 42 | Of course \cref{eqn:enclosedCurrent:80} 43 | could have obtained directly from Maxwell's equations in their conventional form \cref{eqn:freespace:3399}. 44 | However, had we integrated the conventional Maxwell's equations, it would not have been obvious that the crazy mix of 45 | fields, sources, dot and cross products in \cref{eqn:enclosedCurrent:60} had a hidden structure as simple as 46 | \( \int_{\partial V} dA\, \ncap F = \int_V dV\, J \). 47 | \end{proof} 48 | %} 49 | -------------------------------------------------------------------------------- /formsVsGA.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/formsVsGA.tex -------------------------------------------------------------------------------- /fourier.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | \label{fourier} 7 | It will often be convenient to utilize time harmonic (frequency domain) representations. 8 | %of \cref{eqn:greensFunctionOverview:200}. 9 | This can be achieved by utilizing Fourier transform pairs or with a phasor representation. 10 | 11 | We may define Fourier transform pairs of multivector fields and sources in the conventional fashion 12 | 13 | \index{Fourier transform} 14 | \input{Definition_multivector_fourier.tex} 15 | 16 | In these transform pairs, the imaginary \( j \) need not be represented by any geometrical imaginary such as \( \Be_{12} \). 17 | In particular, we need not assume that the representation of \( j \) is the 18 | \R{3} pseudoscalar \( I \), despite the fact that \( I \) does commute with all \R{3} multivectors. 19 | We wish to have the freedom to 20 | assume that non-geometric real and imaginary operations can be performed without picking or leaving out any specific grade pseudoscalar components of the multivector fields or sources, so we won't impose any a-priori restrictions on the representations of \( j \). 21 | In particular, this provides the freedom to utilize phasor (fixed frequency) representations of our multivector functions. 22 | %Introduction of yet another imaginary quantity in a geometric algebra context where we have so many to pick it somewhat unfortunate, but it allows us to apply Fourier transform techniques without worry about the non-commutative effects that might have to be considered should we choose to use a geometric imaginary to represent the frequency dependency. 23 | We will use the engineering convention for our 24 | phasor representations, where assuming a complex exponential time dependence of the following form is assumed 25 | 26 | \index{time harmonic} 27 | \index{frequency domain} 28 | \input{Definition_multivector_phasor.tex} 29 | 30 | The complex valued multivector \( f(\Bx) \) is still generated from the real Euclidean basis for \R{3}, so 31 | there will be 32 | no reason to introduce complex inner products spaces into the mix. 33 | 34 | The reader must take care when reading any literature that utilizes Fourier transforms or phasor representation, since the conventions vary. 35 | In particular the physics representation of a phasor typically uses the opposite sign convention 36 | \( F(\Bx, t) = \Real\lr{ F(\Bx) e^{-i \omega t }} \), which toggles the sign of all the imaginaries in derived results. 37 | %} 38 | -------------------------------------------------------------------------------- /functionvectorspace.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %\makeproblem{Function space.}{problem:prerequisites:30}{ 6 | % Given real functions \( f(x) = e^x \) and \( g(x) = x^2 \), and scalars \( a,b \in \bbR \) determine whether the set 7 | % \( V = \setlr{ a f(x) + b g(x) } \) is a vector space, and if so, 8 | %determine the form of the zero and identity elements. 9 | %} % problem 10 | 11 | \makeproblem{Polynomial vector space.}{problem:prerequisites:35}{ 12 | Show that the set of N'th degree polynomials \( V = \setlr{ \sum_{k=0}^N a_k x^k \mid a_k \in \bbR } \) is a vector space. 13 | } % problem 14 | -------------------------------------------------------------------------------- /fundamentalMinkowski.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/fundamentalMinkowski.tex -------------------------------------------------------------------------------- /fundamentalTheorem.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | \index{fundamental theorem of geometric calculus} 7 | 8 | The fundamental theorem of geometric calculus is a generalization of many conventional scalar and vector integral theorems, and relates a hypervolume integral to its boundary. 9 | This is a powerful theorem, which we will use with Green's functions to solve Maxwell's equation, but also to derive the geometric algebra form of Stokes' theorem, from which most of the familiar integral calculus results follow. 10 | \input{Theorem_fundamental_theorem_of_gc.tex} 11 | The geometry of the hypersurface element \( d^{k-1} \Bx \) will be made more clear when we 12 | consider the specific cases of \( k = 1, 2, 3 \), representing generalized line, surface, and volume integrals respectively. 13 | Instead of terrorizing the reader with a general proof 14 | \cref{thm:fundamentalTheoremOfCalculus:1}, 15 | which requires some unpleasant index gymnastics, 16 | this book 17 | will separately state and prove the fundamental theorem of calculus 18 | for each of the \( k = 1, 2, 3 \) cases that are of interest for problems in \R{2} and \R{3}. 19 | For the interested reader, a sketch of the general proof 20 | of \cref{thm:fundamentalTheoremOfCalculus:1} 21 | is available in \cref{chap:gagcProof}. 22 | 23 | Before moving on to the line, surface, and volume integral cases, we will state and prove the 24 | general Stokes' theorem in its geometric algebra form. 25 | 26 | %} 27 | -------------------------------------------------------------------------------- /fundamentalTheoremOfCalculus.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/fundamentalTheoremOfCalculus.tex -------------------------------------------------------------------------------- /gacomparison.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | Here is a summary that compares various GA expressions with close equivalents in traditional vector (or complex) algebra. 7 | 8 | \begin{tablelabelbox}[tabularx={X||Y|Y}]{Comparison of traditional and geometric algebra identities.}{label=tab:gacompare:compare} 9 | & Geometric algebra & Traditional algebra 10 | \\ \hline 11 | Norm squared & \( \Bx^2 \) & \( \Bx \cdot \Bx \) 12 | \\ \hline 13 | complex imaginary & \( \Be_{12}, \Be_{123}, \cdots \) & i 14 | \\ \hline 15 | complex number & \( x + \Be_{12} y \) & \( x + i y \) 16 | \\ \hline 17 | %vector products & \begin{equation*} 18 | %\begin{aligned} 19 | %\Ba \Bb &= \Norm{\Ba} \Norm{\Bb} \exp\lr{ i_{ab} \Delta \theta } \\ 20 | %\Ba \cdot \Bb &= \Norm{\Ba} \Norm{\Bb} \cos\lr{ \Delta \theta } \\ 21 | %\Ba \wedge \Bb &= i_{ab} \Norm{\Ba} \Norm{\Bb} \sin\lr{ \Delta \theta } \\ 22 | %\end{aligned} 23 | %\end{equation*} 24 | %& \begin{equation*} 25 | %\begin{aligned} 26 | %\Ba \cdot \Bb &= \Norm{\Ba} \Norm{\Bb} \cos\lr{ \Delta \theta } \\ 27 | %\Ba \cross \Bb &= \ncap \Norm{\Ba} \Norm{\Bb} \sin\lr{ \Delta \theta } \\ 28 | %\end{aligned} 29 | %\end{equation*},\quad (\( i_{ab} \ncap = \Be_{123} \)). 30 | %\\ \hline 31 | %wedge/cross product antisymmetry 32 | %& \( \Ba \wedge \Bb = -\Bb \wedge \Ba \) 33 | %& \( \Ba \cross \Bb = -\Bb \cross \Ba \) 34 | %\\ \hline 35 | %wedge/cross filtering 36 | %& \( \Ba \wedge (\alpha \Ba + \Bb) = \Ba \wedge \Bb \) 37 | %& \( \Ba \cross (\alpha \Ba + \Bb) = \Ba \cross \Bb \) 38 | %\\ \hline 39 | %wedge/cross determinant expansion 40 | %& \( \Ba \wedge \Bb = \begin{vmatrix} 41 | %\Be_2 \Be_3 & \Be_3 \Be_1 & \Be_1 \Be_2 \\ 42 | %a_1 & a_2 & a_3 \\ 43 | %b_1 & b_2 & b_3 \\ 44 | %\end{vmatrix} \) 45 | %& \( \Ba \cross \Bb = \begin{vmatrix} 46 | %\Be_1 & \Be_2 & \Be_3 \\ 47 | %a_1 & a_2 & a_3 \\ 48 | %b_1 & b_2 & b_3 \\ 49 | %\end{vmatrix} \) 50 | %\\ \hline 51 | %Triple wedge (triple product) & 52 | %\( \Ba \wedge \Bb \wedge \Bc 53 | %= 54 | %\begin{vmatrix} 55 | %a_i & a_j & a_k \\ 56 | %b_i & b_j & b_k \\ 57 | %c_i & c_j & c_k \\ 58 | %\end{vmatrix} 59 | %I \) 60 | %& 61 | %\( \Ba \cdot (\Bb \cross \Bc) 62 | %= 63 | %\begin{vmatrix} 64 | %a_i & a_j & a_k \\ 65 | %b_i & b_j & b_k \\ 66 | %c_i & c_j & c_k \\ 67 | %\end{vmatrix} 68 | %\) 69 | %\\ \hline 70 | Vector orthogonal to two vectors \( \Ba, \Bb \) & \( I (\Ba \wedge \Bb) \) & \( \Ba \cross \Bb \) 71 | \\ \hline 72 | Plane orthogonal to a vector \( \Bn \) & \( (I \Bn) \wedge (\Bx - \Bx_0) = 0 \) & \( \Bn \cdot (\Bx - \Bx_0) = 0 \) 73 | \\ \hline 74 | Plane containing vectors \( \Ba, \Bb \) & \( \Ba \wedge \Bb \wedge (\Bx - \Bx_0) = 0 \) & \( (\Ba \cross \Bb) \cdot (\Bx - \Bx_0) = 0 \) 75 | \\ \hline 76 | \end{tablelabelbox} 77 | 78 | -------------------------------------------------------------------------------- /gaee-kindle.tex: -------------------------------------------------------------------------------- 1 | \PassOptionsToPackage{dvipsnames,svgnames}{xcolor} 2 | \documentclass[ twoside,openright,titlepage,numbers=noenddot,headinclude, 3 | footinclude=true,cleardoublepage=empty,abstractoff, 4 | BCOR=5mm, 5 | fontsize=11pt, 6 | floatperchapter, 7 | ngerman,american, 8 | ]{scrreprt} 9 | %paper=6in:9in, 10 | \input{kindle-config} 11 | \begin{document} 12 | \frenchspacing 13 | \raggedbottom 14 | \selectlanguage{american} 15 | \pagenumbering{roman} 16 | \pagestyle{plain} 17 | %\include{FrontBackmatter/Kindle-DirtyTitlepage} 18 | \include{FrontBackmatter/Kindle-Titlepage} 19 | %\include{FrontBackmatter/Titleback} 20 | \input{FrontBackmatter/copyright.tex} 21 | \input{FrontBackmatter/Version.tex} 22 | \chapter*{Dedication} 23 | \thispagestyle{empty} 24 | \input{FrontBackmatter/Dedication.tex} 25 | \pagestyle{scrheadings} 26 | \input{FrontBackmatter/preface.tex} 27 | \input{FrontBackmatter/ContentsAndFigures.tex} 28 | \pagenumbering{arabic} 29 | %\mychapter{Geometric Algebra.} 30 | % \section{Prerequisites.} 31 | % \input{prerequisites.tex} 32 | % \section{Plane rotations.} 33 | % \input{2dRotations.tex} 34 | %\input{chapters} 35 | %\input{chapter1.tex} 36 | %\input{chapter2.tex} 37 | %\input{chapter3.tex} 38 | %\input{backmatter} 39 | \end{document} 40 | -------------------------------------------------------------------------------- /gagcProof.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/gagcProof.tex -------------------------------------------------------------------------------- /gaugeTransformation.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/gaugeTransformation.tex -------------------------------------------------------------------------------- /gaugeTransformationProblems.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | \makeproblem{Potential wave equations.}{problem:gaugeTransformation:1}{ 7 | Prove \cref{thm:generalPotential:40}. 8 | } % problem 9 | \makeanswer{problem:gaugeTransformation:1}{ 10 | In terms of the potentials Maxwell's equation \( \stgrad F = J \) is 11 | \begin{equation}\label{eqn:gaugeTransformation:20} 12 | \stgrad \gpgrade{\conjstgrad A}{1,2} = J, 13 | \end{equation} 14 | or 15 | \begin{equation}\label{eqn:gaugeTransformation:40} 16 | \dAlembertian A = J + \stgrad \gpgrade{\conjstgrad A}{0,3}. 17 | \end{equation} 18 | This is almost a wave equation. 19 | Inserting \cref{eqn:gaugeTransformation:1111} into \cref{eqn:gaugeTransformation:40} and selecting each grade gives four almost-wave equations 20 | \begin{equation*} 21 | \begin{aligned} 22 | - 23 | \dAlembertian 24 | \phi &= \frac{\rho}{\epsilon} + \inv{c} \PD{t}{} \lr{ c \spacegrad \cdot \BA + \inv{c} \PD{t}{\phi} } \\ 25 | c 26 | \dAlembertian 27 | \BA &= -\eta \BJ + \spacegrad \lr{ c \spacegrad \cdot \BA + \inv{c} \PD{t}{\phi} } \\ 28 | \eta c I 29 | \dAlembertian 30 | \BF &= - I \BM + \spacegrad \cdot \lr{ I \eta\lr{ c \spacegrad \cdot \BF + \inv{c} \PD{t}{\phi_\txtm} } } \\ 31 | -I \eta 32 | \dAlembertian 33 | \phi_\txtm &= I c \rho_\txtm + \inv{c} \PD{t}{} I \eta\lr{ c \spacegrad \cdot \BF + \inv{c} \PD{t}{\phi_\txtm} } 34 | \end{aligned} 35 | \end{equation*} 36 | Using \( \eta = \mu c, \eta c \epsilon = 1 \), and 37 | \( \spacegrad \cdot (I \psi) = I \spacegrad \psi \) for scalar \(\psi\), a bit 38 | of rearrangement completes the proof. 39 | } % answer 40 | %} 41 | -------------------------------------------------------------------------------- /generalizedWedgeProblems.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Properties of the wedge of three vectors.}{problem:generalizedWedge:tripleWedgeProperties}{ 6 | %\makesubproblem{}{problem:generalizedWedge:tripleWedgeProperties:a} 7 | Show that the wedge product of three vectors is completely antisymmetric, and 8 | %\makesubproblem{}{problem:generalizedWedge:tripleWedgeProperties:b} 9 | show that the 10 | wedge product of three vectors is invariant with respect to cyclic permutation. 11 | } % problem 12 | \makeanswer{problem:generalizedWedge:tripleWedgeProperties}{ 13 | Writing the wedge of three vectors as a grade three selection 14 | \begin{equation}\label{eqn:generalizedWedgeProblems:20} 15 | \Ba \wedge \Bb \wedge \Bc 16 | = 17 | \gpgradethree{ \Ba \Bb \Bc }, 18 | \end{equation} 19 | and applying the vector product identity \( \Bx \By = -\By \Bx + 2 \Bx \cdot \By \), we have 20 | \begin{equation}\label{eqn:generalizedWedgeProblems:40} 21 | \begin{aligned} 22 | \Ba \wedge \Bb \wedge \Bc 23 | &= 24 | \gpgradethree{ \Ba \Bb \Bc } \\ 25 | &= 26 | \gpgradethree{ \lr{ -\Bb \Ba + 2 \Ba \cdot \Bb } \Bc } \\ 27 | &= 28 | -\gpgradethree{ \Bb \Ba \Bc } \\ 29 | &= 30 | - \Bb \wedge \Ba \wedge \Bc. 31 | \end{aligned} 32 | \end{equation} 33 | Similarly 34 | \begin{equation}\label{eqn:generalizedWedgeProblems:60} 35 | \begin{aligned} 36 | \Ba \wedge \Bb \wedge \Bc 37 | &= 38 | \gpgradethree{ \Ba \Bb \Bc } \\ 39 | &= 40 | \gpgradethree{ \Ba \lr{ -\Bc \Bb + 2 \Bb \cdot \Bc } } \\ 41 | &= 42 | -\gpgradethree{ \Ba \Bc \Bb } \\ 43 | &= 44 | - \Ba \wedge \Bc \wedge \Bb. 45 | \end{aligned} 46 | \end{equation} 47 | We see that any two adjactent wedge products in the wedge of three vectors may be interchanged with a corresponding sign change, a process that can be repeated until all combinations are formed. This includes 48 | \begin{equation}\label{eqn:generalizedWedgeProblems:80} 49 | \begin{aligned} 50 | \Ba \wedge \Bb \wedge \Bc 51 | &= -\Bb \wedge \Ba \wedge \Bc \\ 52 | &= + \Bb \wedge \Bc \wedge \Ba \\ 53 | &= - \Bc \wedge \Bb \wedge \Ba \\ 54 | &= \Bc \wedge \Ba \wedge \Bb \\ 55 | &= -\Ba \wedge \Bc \wedge \Bb. 56 | \end{aligned} 57 | \end{equation} 58 | %\makesubanswer{problem:generalizedWedge:tripleWedgeProperties:a} 59 | %\makesubanswer{problem:generalizedWedge:tripleWedgeProperties:b} 60 | } % problem 61 | -------------------------------------------------------------------------------- /geometricproduct.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/geometricproduct.tex -------------------------------------------------------------------------------- /gradeselection.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | The workhorse operator of geometric algebra is called grade selection, defined as 6 | \index{grade selection} 7 | \index{\(\gpgrade{M}{k}\)} 8 | \index{\(\gpgradezero{M}\)} 9 | \makedefinition{Grade selection operator}{dfn:gradeselection:gradeselection}{ 10 | Given a set of k-vectors \( M_k, k \in [0,N] \), and any multivector of their sum 11 | \begin{equation*} 12 | M = \sum_{i = 0}^N M_i, 13 | \end{equation*} 14 | the grade selection operator is defined as 15 | \begin{equation*}\label{eqn:multivector_nomenclature:40} 16 | \gpgrade{M}{k} = M_k. 17 | \end{equation*} 18 | Due to its importance, selection of the (scalar) zero grade is given the shorthand 19 | \begin{equation*} 20 | \gpgradezero{M} = \gpgrade{M}{0} = M_0. 21 | \end{equation*} 22 | } 23 | 24 | To illustrate grade selection by example, given a multivector \( M = 3 - \Be_3 + 2 \Be_1 \Be_2 + 7 \Be_1 \Be_2 \Be_4 \), then 25 | \begin{equation}\label{eqn:multivector_nomenclature:80} 26 | \begin{aligned} 27 | \gpgrade{M}{0} &= \gpgradezero{M} = 3 \\ 28 | \gpgrade{M}{1} &= - \Be_3 \\ 29 | \gpgrade{M}{2} &= 2 \Be_1 \Be_2 \\ 30 | \gpgrade{M}{3} &= 7 \Be_1 \Be_2 \Be_4. 31 | \end{aligned} 32 | \end{equation} 33 | 34 | Grade selection is the fundamental operation of geometric algebra. Grade selection will be used directly as a tool, and will 35 | also be used to define a number of other auxillary operators, 36 | including a 37 | generalized multivector dot product, and the wedge product which is related to the \R{3} cross product by a multivector constant, and shares some properties of the cross product in other dimensions. 38 | -------------------------------------------------------------------------------- /gradient.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/gradient.tex -------------------------------------------------------------------------------- /greens.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/greens.tex -------------------------------------------------------------------------------- /greensFunctionOverview.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/greensFunctionOverview.tex -------------------------------------------------------------------------------- /greensFunctionSpacetimeGradient.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/greensFunctionSpacetimeGradient.tex -------------------------------------------------------------------------------- /greensIntro.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/greensIntro.tex -------------------------------------------------------------------------------- /helmholtzDerviationMultivectorStatement.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{Helmholtz's theorem} 6 | In conventional electromagnetism Maxwell's equations are posed in terms of separate divergence and curl equations. It is therefore desirable to show that the divergence and curl of a function and it's normal characteristics on the boundary of an integration volume determine that function uniquely. This is known as the Helmholtz theorem 7 | \maketheorem{Helmholtz first theorem.}{thm:helmholtzDerviationMultivectorStatement:1}{ 8 | A vector \( \BM \) is uniquely determined by its 9 | divergence 10 | \begin{equation*} 11 | \spacegrad \cdot \BM = s, 12 | \end{equation*} 13 | and curl 14 | \begin{equation*} 15 | \spacegrad \cross \BM = \BC, 16 | \end{equation*} 17 | and its value 18 | over the boundary. 19 | } % theorem 20 | 21 | %It could be argued that Helmholtz's theorem is irrelavent when using the GA formalism, since we consolidate the separate divergence and curl equations into one gradient operator. 22 | %We include a proof here regardless, since it can be performed in a compact and interesting fashion using 23 | %%the fundamental theorem of geometric calculus 24 | %\cref{thm:fundamentalTheoremOfCalculus:1}. 25 | -------------------------------------------------------------------------------- /helmholtzGreens.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/helmholtzGreens.tex -------------------------------------------------------------------------------- /integration.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/integration.tex -------------------------------------------------------------------------------- /jefimenkosEquations.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/jefimenkosEquations.tex -------------------------------------------------------------------------------- /junk.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/junk.tex -------------------------------------------------------------------------------- /kb: -------------------------------------------------------------------------------- 1 | rm parameters.sty 2 | make kclean 3 | export PRINT_VERSION=1 4 | export KINDLE_VERSION=1 5 | #echo "P: $PRINT_VERSION" 6 | make parameters.sty 7 | for i in ../figures/GAelectrodynamics/*.* ../figures/GAelectrodynamics/bw/*.* ; do 8 | f=`basename $i` 9 | rm -f $f 10 | done 11 | #make # one time: need deps 12 | cp ../figures/GAelectrodynamics/*.* . 13 | cp ../figures/GAelectrodynamics/bw/*.* . 14 | #make kindle 15 | # should not be commit'ed 16 | #git checkout parameters.sty 17 | 18 | for i in ../figures/GAelectrodynamics/*.* ../figures/GAelectrodynamics/bw/*.* ; do 19 | f=`basename $i` 20 | rm -f $f 21 | done 22 | unset PRINT_VERSION 23 | unset KINDLE_VERSION 24 | 25 | rm projectionAndRejectionFig1.png 26 | rm ParallelogramFig1.png 27 | rm parallelogramAreaFig1.png 28 | rm rotationOfVFig1.png 29 | rm exponentialVectorProductFig1.png 30 | rm parrallelogramsFig1.png 31 | rm rotationOfe2Fig1.png 32 | rm reflectionFig1.png 33 | rm unitSumFig1.png 34 | rm rotationOfe1Fig1.png 35 | rm intersectionOfLinesFig1.png 36 | rm orientedAreasVarietyFig1.png 37 | rm RotationFig1.png 38 | rm radialVectorCylindricalFig1.png 39 | rm rotationOfXFig1.png 40 | rm dualityInR3Fig1.png 41 | -------------------------------------------------------------------------------- /kbuild.mk4: -------------------------------------------------------------------------------- 1 | # mkutils: File ../figures/GAelectrodynamics/bw/VectorsWithOppositeOrientationFig1.svg doesn't exist 2 | local mkutils = require "mkutils" 3 | local domfilter = require "make4ht-domfilter" 4 | 5 | local allowed_chars = { 6 | ["-"] = true, 7 | ["."] = true 8 | } 9 | local function fix_colons(id) 10 | -- match every non alphanum character 11 | return id:gsub("[%W]", function(s) 12 | -- some characters are allowed, we don't need to replace them 13 | if allowed_chars[s] then return s end 14 | -- in other cases, replace with underscore 15 | return "_" 16 | end) 17 | end 18 | 19 | local function id_colons(obj) 20 | -- replace : characters in links and ids with unserscores 21 | obj:traverse_elements(function(el) 22 | local name = string.lower(obj:get_element_name(el)) 23 | if name == "a" then 24 | local href = el:get_attribute("href") 25 | -- don't replace colons in external links 26 | if href and not href:match("[a-z]%://") then 27 | local base, id = href:match("(.*)%#(.*)") 28 | if base and id then 29 | id = fix_colons(id) 30 | el:set_attribute("href", base .. "#" .. id) 31 | end 32 | end 33 | end 34 | local id = el:get_attribute("id") 35 | if id then 36 | el:set_attribute("id", fix_colons(id)) 37 | end 38 | end) 39 | return obj 40 | end 41 | 42 | local function fix_img_names(dom) 43 | for _, img in ipairs(dom:query_selector("img")) do 44 | local src = img:get_attribute("src") 45 | if src then 46 | -- remove path specification 47 | src = src:match("([^/]+)$") 48 | img:set_attribute("src", src) 49 | end 50 | end 51 | return dom 52 | end 53 | 54 | local process = domfilter {id_colons,fix_img_names} 55 | 56 | 57 | local function image_copy(path, parameters) 58 | -- get image basename 59 | local basename = path:match("([^/]+)$") 60 | -- if outdir is empty, keep it empty, otherwise add / separator 61 | local outdir = parameters.outdir == "" and "" or parameters.outdir .. "/" 62 | -- handle trailing // 63 | outdir = outdir:gsub("//$","/") 64 | local output_file = outdir .. basename 65 | for pos, name in pairs(Make.lgfile.files) do 66 | if name == path then 67 | Make.lgfile.files[pos] = output_file 68 | end 69 | end 70 | mkutils.cp(path, output_file) 71 | end 72 | 73 | Make:match("png$", function(path, parameters) 74 | image_copy(path, parameters) 75 | -- prevent further processing of the image 76 | return false 77 | end) 78 | 79 | Make:match("jpg$", function(path, parameters) 80 | image_copy(path, parameters) 81 | -- prevent further processing of the image 82 | return false 83 | end) 84 | 85 | 86 | if mode=="draft" then 87 | Make:htlatex {} 88 | else 89 | Make:htlatex {} 90 | Make:xindy {modules={"duden-utf8"}} 91 | Make:biber {} 92 | Make:htlatex {} 93 | Make:htlatex {} 94 | end 95 | 96 | 97 | 98 | Make:match("html$", process) 99 | -------------------------------------------------------------------------------- /kenv: -------------------------------------------------------------------------------- 1 | export PATH="/Applications/Kindle Previewer 3.app/Contents/lib/fc/bin":$PATH 2 | -------------------------------------------------------------------------------- /kindle.notes.txt: -------------------------------------------------------------------------------- 1 | https://tex.stackexchange.com/questions/147360/how-to-make-a-kindle-file-from-latex 2 | 3 | You can try tex4ebook. It can output epub, epub3 and mobi formats. It is based on tex4ht and you must have kindlegen app installed in order to generate mobi format for kindle. 4 | 5 | dependencies: 6 | 7 | 1) 8 | /Applications/Kindle Previewer 3.app/Contents/lib/fc/bin/kindlegen 9 | 10 | from: 11 | 12 | https://www.amazon.com/Kindle-Previewer/b?node=21381691011 13 | 14 | 2) 15 | https://github.com/jgm/pandoc/releases/tag/3.1.6.1 16 | 17 | 3) 18 | 19 | 20 | # Usage 21 | 22 | 23 | Run on the command line: 24 | 25 | tex4ebook [options] filename 26 | 27 | You don't have to modify your source files unless you want to use commands 28 | defined by `tex4ebook` in the document, or when your document uses a 29 | package which causes a compilation error. 30 | 31 | 32 | If you want to use `tex4ebook` commands, add this line to your document 33 | preamble: 34 | 35 | \usepackage{tex4ebook} 36 | 37 | 38 | 4) errors: 39 | 40 | a) 41 | ! Package hyperref Error: Wrong driver option `pdftex', 42 | (hyperref) because pdfTeX in PDF mode is not detected. 43 | 44 | See the hyperref package documentation for explanation. 45 | Type H for immediate help. 46 | ... 47 | 48 | l.4060 \ProcessKeyvalOptions{Hyp} 49 | 50 | b) 51 | ! Undefined control sequence. 52 | ...l \let \global \let \global \let \ontitlepage 53 | :list \let \prOteCt \relax... 54 | 55 | 56 | c) 57 | l.80 \begin{document} 58 | 59 | The control sequence at the end of the top line 60 | of your error message was never \def'ed. If you have 61 | misspelled it (e.g., `\hobx'), type `I' and the correct 62 | spelling (e.g., `I\hbox'). Otherwise just continue, 63 | and I'll forget about whatever was undefined. 64 | 65 | d) 66 | ! LaTeX Error: No \let \reserved@d =[\def \def titlepage{titlepage}\edef on inp 67 | ut line 9{ on input line 9}\global \let \global \let \global \let \global \let 68 | \global \let :list \let \prOteCt \relax \let \prOteCt \relax \Protect \gl :nopa 69 | rtrue \bgroup \c :def {}\let . 70 | 71 | 72 | 73 | 74 | 3) an older attempt to generate online version: 75 | 76 | mk4ht htlatex GAelectrodynamics.tex 'xhtml,charset=utf-8,pmathml' ' -cunihtf -utf8 -cvalidate' 77 | -------------------------------------------------------------------------------- /landauEasy.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeoproblem{Lorentz power and force relationship.}{problem:freespace:LorentzPower}{\S 17 \citep{landau1980classical}}{ 6 | Using the relativistic definitions of momentum and energy 7 | \begin{equation*} 8 | \begin{aligned} 9 | \Bp(\Bx, t) &= \frac{m \Bv}{\sqrt{1-\Bv^2/c^2}} \\ 10 | \calE(\Bx, t) &= \frac{m c^2}{\sqrt{1-\Bv^2/c^2}}, 11 | \end{aligned} 12 | \end{equation*} 13 | show that \( d\calE/dt = \Bv \cdot d\Bp/dt \), and use this to derive 14 | \cref{eqn:freespace:220} from \cref{eqn:freespace:200}. 15 | } % problem 16 | -------------------------------------------------------------------------------- /laymans_description_greens_functions.txt: -------------------------------------------------------------------------------- 1 | Short answer: I figured out a really cool way to solve the equations of electromagnetism (called Maxwell's equations) that relate the electric and magnetic fields to the electrical charges and currents that generate them. 2 | 3 | Long answer: There are many equations in physics of the form: change-of something = something-else. The idea is that if you know the something-else you can theoretically find out what the something is. Here change-of is a special beastie, and it is pretty complicated for electricity and magnetism. You actually have 8 different equations, each with a different sort of change-of operations, each acting on different directional components of the electric and magnetic fields, with change-with-respect-to-time and change-with-respect-to-different-directions relationships between all those electric and magnetic field components. It is so tricky to solve these equations that you can go through most of the courses in undergraduate engineering or physics, without learning how to do so. Instead you learn techniques that you can use to solve special cases of the equations with symmetries or other features that make the solution more tractible. There's a form of vector algebra ( see: https://www.youtube.com/watch?v=A05n32Bl0aY ) that I've been learning about for a number of years. It happens that this algebra allows you to write Maxwell's equations as a single equation, which can theoretically be solved directly. I hadn't seen how such a solution would be done, except indirectly solving for other quantities (called potentials) first. I figured out the way to do that direct solution today, and have incorporated the technique into the book I am writing for my master's project, "Geometric Algebra for Engineers". 4 | 5 | Longer answer: This will require some study on your part, but if you are interested, just ask and I'll send you a link to a draft of the book. The technique in question is the derivation and the application of a multivector Green's function that allows you to solve all of Maxwell's equations in one shot, without first using potentials, using a addition procedure called a convolution integral. 6 | 7 | The book has lots of pretty diagrams and the equation typesetting is very artistic in my opinion. Sadly, I don't think it will ever be a best seller. 8 | -------------------------------------------------------------------------------- /lineAndPlane.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/lineAndPlane.tex -------------------------------------------------------------------------------- /lineintegral.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/lineintegral.tex -------------------------------------------------------------------------------- /lineintegraldef.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/lineintegraldef.tex -------------------------------------------------------------------------------- /make.revision: -------------------------------------------------------------------------------- 1 | export BOOKMAJVER := 0 2 | export BOOKSUBVER := 3 3 | export REVISIONNUMBER := 6.2 4 | -------------------------------------------------------------------------------- /maxwells.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/maxwells.tex -------------------------------------------------------------------------------- /maxwellsEquations.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \section{Maxwell's equations for antenna theory.} 6 | 7 | \makedigression{ 8 | \input{../frequencydomain/frequencydomainMaxwellsExtraction.tex} 9 | } 10 | 11 | -------------------------------------------------------------------------------- /mkhtml: -------------------------------------------------------------------------------- 1 | mk4ht htlatex GAelectrodynamics.tex 'xhtml,charset=utf-8,pmathml' ' -cunihtf -utf8 -cvalidate' 2 | -------------------------------------------------------------------------------- /mvpotentials.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/mvpotentials.tex -------------------------------------------------------------------------------- /normalVectors.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{anticommutation} 6 | \maketheorem{Anticommutation of orthogonal vectors}{thm:multiplication:anticommutationNormal}{ 7 | Let \(\Bu\), and \(\Bv\) be two orthogonal vectors, the product of which \( \Bu \Bv \) is a bivector. 8 | Changing the order of these products toggles the sign of the bivector. 9 | \begin{equation*} 10 | \Bu \Bv = -\Bv \Bu. 11 | \end{equation*} 12 | This sign change on interchange is called anticommutation. 13 | } % theorem 14 | 15 | \begin{proof} 16 | %To prove \cref{thm:multiplication:anticommutationNormal} 17 | Let \( \Bu, \Bv \) be a pair of orthogonal vectors, such as those of 18 | \cref{fig:unitSum:unitSumFig1}. The squared length of the sum \( \Bu + \Bv \) can be expressed in using 19 | the contraction axiom, or by explicit expansion (taking care to maintain the order of products) 20 | \begin{align*} 21 | \lr{ \Bu + \Bv }^2 &= \lr{ \Bu + \Bv }\lr{ \Bu + \Bv } = \Bu^2 + \Bu \Bv + \Bv \Bu + \Bv^2 \\ 22 | \lr{ \Bu + \Bv }^2 &= \Norm{ \Bu + \Bv }^2 = \Bu^2 + \Bv^2. 23 | \end{align*} 24 | Comparing the two expansions and rearranging completes the proof% 25 | \footnote{We will see later (\cref{thm:products:2080}) that the converse of this theorem is also true: If the product of two vectors is a bivector, those vectors are orthogonal.}. 26 | % of the first part of this theorem. 27 | \end{proof} 28 | % 29 | \pmathImageFigure{../figures/GAelectrodynamics/\subfigdir/}{unitSumFig1}{Sum of orthogonal vectors.}{fig:unitSum:unitSumFig1}{0.3}{orientedAreas.nb} 30 | 31 | Some examples of anticommuting pairs include, 32 | \( \Be_2 \Be_1 = -\Be_1 \Be_2 \), 33 | \( \Be_3 \Be_2 = -\Be_2 \Be_3 \), and 34 | \( \Be_1 \Be_3 = -\Be_3 \Be_1 \). This theorem can also be applied to any pairs of orthogonal vectors in a arbitrary k-vector, for example 35 | \begin{equation}\label{eqn:normalVectors:300} 36 | \begin{aligned} 37 | \Be_3 \Be_2 \Be_1 38 | &= (\Be_3 \Be_2) \Be_1 \\ 39 | &= -(\Be_2 \Be_3) \Be_1 \\ 40 | &= -\Be_2 (\Be_3 \Be_1) \\ 41 | &= +\Be_2 (\Be_1 \Be_3) \\ 42 | &= +(\Be_2 \Be_1) \Be_3 \\ 43 | &= -\Be_1 \Be_2 \Be_3, 44 | \end{aligned} 45 | \end{equation} 46 | showing that reversal of all the factors in a trivector such as \( \Be_1 \Be_2 \Be_3 \) toggles the sign. 47 | 48 | -------------------------------------------------------------------------------- /nospellcheck.txt: -------------------------------------------------------------------------------- 1 | GAelectrodynamics.tex 2 | appendixchapters.tex 3 | chapter1.tex 4 | chapter2.tex 5 | chapter3.tex 6 | chapters.tex 7 | classicthesis-config.tex 8 | currentBookCopyright.tex 9 | backmatter.tex 10 | mathematica.tex 11 | 12 | # standalone: 13 | maxwells.tex 14 | junk.tex 15 | ece2500report.tex 16 | greens.tex 17 | quaternion2maxwellWithGA.tex 18 | 19 | # orphaned. Move to .junk/ ? 20 | boundary.tex 21 | ellipticalWaves.tex 22 | 23 | # standalone 24 | fundamentalMinkowski.tex 25 | reply.tex 26 | 27 | # part of the report: 28 | reportPreamble.tex 29 | -------------------------------------------------------------------------------- /paulivectorspace.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{Pauli matrices.}{problem:prerequisites:20}{ 6 | The Pauli matrices are defined as 7 | 8 | \begin{equation}\label{eqn:prerequisites:160} 9 | \sigma_1 = \PauliX,\quad 10 | \sigma_2 = \PauliY,\quad 11 | \sigma_3 = \PauliZ. 12 | \end{equation} 13 | 14 | Given any scalars \( a, b, c \in \bbR \), show that the set \( V = \setlr{ a \sigma_1 + b \sigma_2 + c \sigma_3 } \) is a vector space with respect to matrix addition. Determine the form of the zero and identity elements. 15 | Given a vector \( \Bx = x_1 \sigma_1 + x_2 \sigma_2 + x_3 \sigma_3 \), show that the coordinates \( x_i \) can be extracted by evaluating the matrix trace of the matrix product \( \sigma_i \Bx \). 16 | % FIXME: make this a problem at at location where it makes sense: 17 | %\makesubproblem{}{problem:prerequisites:20:b} 18 | % 19 | %Show that \( \sigma_k^2 = I \), where \( I \) is the 2x2 identity matrix, and that \( \sigma_k \sigma_j = -\sigma_k \sigma_j \) for all \( k \ne j \). 20 | % 21 | %\makesubproblem{}{problem:prerequisites:20:c} 22 | % 23 | %Using the results of \partref{problem:prerequisites:20:b}, show that 24 | %\( \lr{ a \sigma_x + b \sigma_y + c \sigma_z }^2 = (a^2 + b^2 + c^2) I \), where \( I \) is the 2x2 identity matrix. 25 | %%This shows that the Pauli matrices are an example \R{3} basis for which the contraction axiom is built right into the representation. 26 | } % problem 27 | \makeanswer{problem:prerequisites:20}{ 28 | % see also: problem.1.3.nb 29 | The reader can check that with zero element \( 0 = \begin{bmatrix}0 & 0 \\ 0 & 0 \end{bmatrix} \), and a scalar multiplicative identity \( 1 \), all the vector space properties are satisified. 30 | 31 | For the coordinates observe that \( \Bx = 32 | \begin{bmatrix} 33 | c & a - i b \\ 34 | a + i b & -c 35 | \end{bmatrix} \), and 36 | \begin{equation}\label{eqn:paulivectorspace:180} 37 | \begin{aligned} 38 | \traceB{\sigma_1 \Bx} &= 39 | % \traceB{ \PauliX 40 | %\begin{bmatrix} 41 | % c & a - i b \\ 42 | % a + i b & -c 43 | %\end{bmatrix} 44 | %} 45 | %= 46 | \trace{\begin{bmatrix} 47 | a + i b & -c \\ 48 | c & a - i b 49 | \end{bmatrix} 50 | } 51 | = 52 | 2 a \\ 53 | \traceB{\sigma_2 \Bx} &= 54 | % \traceB{ \PauliY 55 | %\begin{bmatrix} 56 | % c & a - i b \\ 57 | % a + i b & -c 58 | %\end{bmatrix} 59 | %} 60 | %= 61 | \trace{\begin{bmatrix} 62 | -i a + b & i c \\ 63 | i c & i a + b 64 | \end{bmatrix} 65 | } 66 | = 67 | 2 b \\ 68 | \traceB{\sigma_3 \Bx} &= 69 | % \traceB{ \PauliZ 70 | %\begin{bmatrix} 71 | % c & a - i b \\ 72 | % a + i b & -c 73 | %\end{bmatrix} 74 | %} 75 | %= 76 | \trace{\begin{bmatrix} 77 | c & a - i b \\ 78 | a + i b & c 79 | \end{bmatrix} 80 | } 81 | = 82 | 2 c, 83 | \end{aligned} 84 | \end{equation} 85 | so \( a = \traceB{\sigma_1 \Bx}/2 \), \( b = \traceB{\sigma_2 \Bx}/2 \), \( c = \traceB{\sigma_3 \Bx}/2 \). 86 | } 87 | -------------------------------------------------------------------------------- /planewavesMultivector.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/planewavesMultivector.tex -------------------------------------------------------------------------------- /polarizationRewrite.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/polarizationRewrite.tex -------------------------------------------------------------------------------- /prereq_vectorspace_Rn.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | \index{\R{N}} 7 | \makeproblem{\R{N}}{problem:prerequisites:RN}{ 8 | Define \R{N} as the set of tuples \( \setlr{ (x_1, x_2, \cdots) \mid x_i \in \bbR } \). 9 | Show that \R{N} is a vector space when the 10 | addition operation is defined as 11 | \( \Bx + \By \equiv (x_1 + y_1, x_2 + y_2, \cdots) \) 12 | , and 13 | scalar multiplication 14 | is defined as 15 | \( a \Bx \equiv (a x_1 , a x_2 , \cdots ) \) for any 16 | \( \Bx = (x_1, x_2, \cdots) \in \bbR^N \), 17 | \( \By = (y_1, y_2, \cdots) \in \bbR^N \), and 18 | \( a \in \bbR \). 19 | } % problem 20 | 21 | %} 22 | -------------------------------------------------------------------------------- /quaternion2maxwellWithGA.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/quaternion2maxwellWithGA.tex -------------------------------------------------------------------------------- /r4nonzerobivectorwedgewithself.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \makeproblem{\R{4} wedge of a non-blade with itself.}{problem:gradeselection:r4nonzerobivectorwedgewithself}{ 6 | While the wedge product of a blade with itself is always zero, this is not generally true of the wedge products of arbitrary k-vectors in higher dimensional spaces. 7 | To demonstrate this, show that the wedge of the bivector 8 | \( B = \Be_1 \Be_2 + \Be_3 \Be_4 \) with itself is non-zero. 9 | Why is this bivector not a blade? 10 | %, show that \( B \wedge B \ne 0 \). 11 | } % problem 12 | \makeanswer{problem:gradeselection:r4nonzerobivectorwedgewithself}{ 13 | \begin{equation}\label{eqn:r4nonzerobivectorwedgewithself:20} 14 | \lr{ \Be_{12} + \Be_{34} } \wedge \lr{ \Be_{12} + \Be_{34} } 15 | = 16 | \Be_{1234} + \Be_{3412} 17 | = 18 | 2 \Be_{1234}. 19 | \end{equation} 20 | A blade is the wedge product of two vectors, or the geometric product of two orthogonal vectors. 21 | The grade-2 multivector \( \Be_{12} + \Be_{34} \) is not a blade, since there is no common factor between \( \Be_{12} \) and \( \Be_{34} \). It is not possible to factor this multivector into two orthogonal products. 22 | } % answer 23 | -------------------------------------------------------------------------------- /reciprocal.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/reciprocal.tex -------------------------------------------------------------------------------- /reciprocal_R3.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | 7 | In this section we generalize \cref{eqn:reciprocal_R2:180} to \R{3} vectors, which will illustrate the general case by example. 8 | 9 | Given 10 | a subspace spanned by a three vector basis \( \setlr{ \Bx_1, \Bx_2, \Bx_3 } \) the reciprocal frame vectors can be written as dot products 11 | \begin{equation}\label{eqn:reciprocal_R3:320} 12 | \begin{aligned} 13 | \Bx^1 &= \lr{ \Bx_2 \wedge \Bx_3 } \cdot \lr{ \Bx^3 \wedge \Bx^2 \wedge \Bx^1 } \\ 14 | \Bx^2 &= \lr{ \Bx_3 \wedge \Bx_1 } \cdot \lr{ \Bx^1 \wedge \Bx^3 \wedge \Bx^2 } \\ 15 | \Bx^3 &= \lr{ \Bx_1 \wedge \Bx_2 } \cdot \lr{ \Bx^2 \wedge \Bx^1 \wedge \Bx^3 }. 16 | \end{aligned} 17 | \end{equation} 18 | 19 | Each of those trivector terms equals \( - \Bx^1 \wedge \Bx^2 \wedge \Bx^3 \) and can be related to the (known) pseudoscalar \( \Bx_1 \wedge \Bx_2 \wedge \Bx_3 \) by observing that 20 | \begin{equation}\label{eqn:reciprocal_R3:340} 21 | \begin{aligned} 22 | \lr{ \Bx^1 \wedge \Bx^2 \wedge \Bx^3 } \cdot \lr{ \Bx_3 \wedge \Bx_2 \wedge \Bx_1 } 23 | &= \Bx^1 \cdot \lr{ \Bx^2 \cdot \lr{ \Bx^3 \cdot \lr{ \Bx_3 \wedge \Bx_2 \wedge \Bx_1 } }} \\ 24 | &= \Bx^1 \cdot \lr{ \Bx^2 \cdot \lr{ \Bx_2 \wedge \Bx_1 } } \\ 25 | &= \Bx^1 \cdot \Bx_1 \\ 26 | &= 1, 27 | \end{aligned} 28 | \end{equation} 29 | which means that 30 | \begin{equation}\label{eqn:reciprocal_R3:360} 31 | \begin{aligned} 32 | -\Bx^1 \wedge \Bx^2 \wedge \Bx^3 33 | &= -\inv{ \Bx_3 \wedge \Bx_2 \wedge \Bx_1 } \\ 34 | &= \inv{ \Bx_1 \wedge \Bx_2 \wedge \Bx_3 }, 35 | \end{aligned} 36 | \end{equation} 37 | and 38 | \boxedEquation{eqn:reciprocal:380}{ 39 | \begin{aligned} 40 | \Bx^1 &= \lr{ \Bx_2 \wedge \Bx_3 } \cdot \inv{ \Bx_1 \wedge \Bx_2 \wedge \Bx_3 } \\ 41 | \Bx^2 &= \lr{ \Bx_3 \wedge \Bx_1 } \cdot \inv{ \Bx_1 \wedge \Bx_2 \wedge \Bx_3 } \\ 42 | \Bx^3 &= \lr{ \Bx_1 \wedge \Bx_2 } \cdot \inv{ \Bx_1 \wedge \Bx_2 \wedge \Bx_3 } 43 | \end{aligned} 44 | } 45 | 46 | Geometrically, dotting with this trivector is a duality transformation within the subspace spanned by the three vectors \( \Bx_1, \Bx_2, \Bx_3 \), also scaling the result so that the \( \Bx_i \cdot \Bx^j = {\delta_i}^j \) condition is satisfied. The scaling factor is the volume of the parallelepiped spanned by \( \Bx_1, \Bx_2, \Bx_3 \). 47 | %} 48 | -------------------------------------------------------------------------------- /reciprocal_orthogonal_problem.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2023 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | \makeproblem{Orthogonal reciprocals.}{problem:reciprocal_orthogonal_problem:1}{ 7 | Given an orthogonal basis \( \setlr{ \Bx_i } \), show that 8 | \begin{equation*} 9 | \Bx^i = \inv{\Bx_i}. 10 | \end{equation*} 11 | } % problem 12 | \makeanswer{problem:reciprocal_orthogonal_problem:1}{ 13 | \begin{proof} 14 | Since each reciprocal vector must each satisfy \( \Bx^i \cdot \Bx_i = 1 \), let \( \Bx^i = \alpha \Bx_i \), then 15 | \begin{equation}\label{eqn:reciprocal:401} 16 | \begin{aligned} 17 | 1 18 | &= \Bx^i \cdot \Bx_i \\ 19 | &= \lr{ \alpha \Bx_i } \cdot \Bx_i \\ 20 | &= \alpha \lr{ \Bx_i \cdot \Bx_i }, 21 | \end{aligned} 22 | \end{equation} 23 | or 24 | \begin{equation}\label{eqn:reciprocal:402} 25 | \Bx^i = \inv{ \Bx_i \cdot \Bx_i } \Bx_i = \inv{\Bx_i}. 26 | \end{equation} 27 | \end{proof} 28 | } % answer 29 | %} 30 | -------------------------------------------------------------------------------- /redacted.sty: -------------------------------------------------------------------------------- 1 | \setboolean{redacted}{false} % uncensored version. 2 | -------------------------------------------------------------------------------- /reply.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/reply.tex -------------------------------------------------------------------------------- /reverseDefined.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/reverseDefined.tex -------------------------------------------------------------------------------- /reviewers.txt: -------------------------------------------------------------------------------- 1 | Major reviewers: 2 | Steven De Keninck (author of ganja.js) 3 | Dr. Wolfgang Lindner 4 | 5 | Minor reviewers: 6 | Alan Macdonald 7 | [various small comments, some incorporated, others todo] 8 | Categorized the general state as rough. Dr Lindner stopped chapter III for the same reason. 9 | 10 | Quirino Sugon Jr. 11 | 12 | This is a great book. I would like to use it for my undergraduate mathematical physics courses. It is very understandable with many worked out examples, not hiding in the phrase “it is easy to show that”. Let me know when the book is finished, so that i can officially recommend it to our department and my students. 13 | Sincerely yours, 14 | Quirino 15 | PS, I only saw one typo in p. 108, inside the boxed definition for Green’s function. There is 62 in the denominator which should not be there. 16 | 17 | Miroslav Josipović 18 | 19 | Objected to use of scalar imaginary j, instead of e_{12}, e_{123}, or other bivector or trivector "geometric imaginary". 20 | 21 | Bruce Gould 22 | 23 | Have a copy, but no feedback: 24 | 25 | Allan Cortzen 26 | Ginanjar Utama 27 | Alfonso Juarez 28 | Jesus Galan 29 | David Quintero @davidsuculum (twitter) 30 | Alex P (researchgate) 31 | James Smith (linkedin) 32 | Gerard O'Leary (facebook) 33 | -------------------------------------------------------------------------------- /scalarSelectionPermutation.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{scalar selection} 6 | \index{dot product} 7 | As scalar selection is at the heart of the 8 | generalized dot product, it is worth knowing 9 | some of the ways that such a selection operation can be manipulated. 10 | 11 | \maketheorem 12 | {Permutation within scalar selection.} 13 | %{Permutation of multivector products in scalar selection.} 14 | {theorem:scalarPermutation:1}{ 15 | The factors within a scalar grade selection of a pair of multivector products may be permuted or may be cyclically permuted 16 | \begin{equation*} 17 | \begin{aligned} 18 | \gpgradezero{A B} &= \gpgradezero{B A} \\ 19 | \gpgradezero{A B \cdots Y Z} &= \gpgradezero{Z A B \cdots Y}. 20 | \end{aligned} 21 | \end{equation*} 22 | } % problem 23 | \begin{proof} 24 | It is sufficient to prove just the two multivector permutation case. 25 | One simple, but inelegant method, is to first expand the pair of multivectors in coordinates. 26 | Let 27 | \begin{equation}\label{eqn:scalarSelectionPermutation:40} 28 | \begin{aligned} 29 | A &= a_0 + \sum_i a_i \Be_i + \sum_{i < j} a_{ij} \Be_{ij} + \cdots \\ 30 | B &= b_0 + \sum_i b_i \Be_i + \sum_{i < j} b_{ij} \Be_{ij} + \cdots 31 | \end{aligned} 32 | \end{equation} 33 | 34 | Only the products of equal unit k-vectors \( \Be_{ij}, \Be_{ijk}, \cdots \) can contribute scalar components to the sum, so the scalar selection of the products must have the form 35 | \begin{equation}\label{eqn:scalarSelectionPermutation:60} 36 | \gpgradezero{ A B } 37 | = 38 | a_0 b_0 + \sum_i a_i b_i \Be_i^2 + \sum_{i < j} a_{ij} b_{ij} \Be_{ij}^2 + \cdots 39 | \end{equation} 40 | 41 | This sum is also clearly equal to \( \gpgradezero{ B A } \). 42 | \end{proof} 43 | -------------------------------------------------------------------------------- /sphericaldot.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/sphericaldot.tex -------------------------------------------------------------------------------- /statics_infinitePlane.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | A variation on the above example puts a uniform charge density \( \rho(\Bx) = \sigma \delta(z) \) in a plane, along with an associated current density \( \BJ(\Bx) = v \Be_1 e^{i\theta} \rho(\Bx) \), where \( i = \Be_{12} \). Letting \( \Bv = v \Be_1 e^{i\theta} \), the multivector current is 7 | \begin{equation}\label{eqn:statics_infinitePlane:240} 8 | J(\Bx) = \sigma \eta \lr{ c - \Bv } \delta(z), 9 | \end{equation} 10 | so the field off the plane is 11 | \begin{equation}\label{eqn:statics_infinitePlane:260} 12 | F(\Bx) = \frac{\sigma}{4 \pi \epsilon } \iiint \frac{dz' dA'}{ \Norm{ \Bx - \Bx' }^3 } \gpgrade{ (\Bx - \Bx') (1 - \Bv/c) }{1,2} \delta(z'). 13 | \end{equation} 14 | 15 | If \( \Bx_\parallel = (\Bx \wedge \Be_3) \Be_3 \), and \( \Bx'_\parallel = (\Bx' \wedge \Be_3) \Be_3 \), are the components of the vectors \( \Bx, \Bx' \) in the x-y plane, then integration over \( z' \) and a change of variables \( \Bx'_\parallel - \Bx_\parallel = r' \Be_1 e^{i \theta'} \) yields 16 | \begin{equation}\label{eqn:statics_infinitePlane:280} 17 | F(\Bx) = \frac{\sigma}{4 \pi \epsilon } \iint \frac{r' dr' d\theta'}{ ( z^2 + {r'}^2 )^{3/2} } \gpgrade{ \lr{ z \Be_3 - r' \Be_1 e^{i\theta'} } (1 - \Bv/c) }{1,2}. 18 | \end{equation} 19 | 20 | The \( e^{i\theta'} \) integrands are killed, so for \( z \ne 0 \), the field is 21 | \begin{equation}\label{eqn:statics_infinitePlane:300} 22 | F(\Bx) = \frac{\sigma z}{4 \pi \epsilon \Abs{z} } \gpgrade{ \Be_3 (1 - \Bv/c) }{1,2}. 23 | \end{equation} 24 | 25 | Since \( \Bv \in \Span \setlr{ \Be_1, \Be_2 } \) the product \( \Be_3 \Bv \) is a bivector and the grade selection can be dropped, leaving 26 | \begin{equation}\label{eqn:statics_infinitePlane:320} 27 | F(\Bx) = \frac{\sigma \sgn(z)}{4 \pi \epsilon } \Be_3 \lr{ 1 - \frac{\Bv}{c}}. 28 | \end{equation} 29 | 30 | This field toggles sign when crossing the plane, but is constant otherwise. The electric and magnetic field components are once again related by \cref{eqn:statics_infiniteLineCharge:220}. 31 | 32 | \makeproblem{Planar magnetic density and currents.}{problem:statics:241}{ 33 | Given magnetic charge density \( \rho_m = \sigma_m \delta(z) \), and current density \( \BM = \Bv \rho_m, \Bv = v \Be_1 e^{i\theta}, i = \Be_{12}\), show that the field is given by 34 | \begin{equation*} 35 | F(\Bx) = \frac{\sigma_m c \sgn(z)}{4 \pi } i \lr{ 1 - \frac{\Bv}{c} }. 36 | \end{equation*} 37 | } % problem 38 | 39 | %} 40 | -------------------------------------------------------------------------------- /stokesTheoremTheStatement.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2013 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | An important consequence of the fundamental theorem of geometric calculus is the 6 | geometric algebra generalization of Stokes' theorem. 7 | The Stokes' theorem that we know from conventional vector calculus relates 8 | \R{3} surface integrals to the line integral around a bounding surface. 9 | The geometric algebra form of Stokes' theorem is equivalent to Stokes' theorem from the theory of differential forms, which relates 10 | hypervolume integrals of blades\footnote{Blades are isomorphic to the k-forms found in the theory of differential forms.} to the integrals over their hypersurface boundaries, a much more general result. 11 | 12 | \input{Theorem_stokes_theorem_general.tex} 13 | 14 | We will see that most of the well known scalar and vector integral theorems can easily be derived as direct consequences of \cref{thm:stokesTheoremGeometricAlgebra:1740}, itself a special case of \cref{thm:fundamentalTheoremOfCalculus:1}. 15 | 16 | \begin{proof} 17 | We can prove Stokes' theorem 18 | from \cref{thm:fundamentalTheoremOfCalculus:1} 19 | by setting \( F = 1 \), and requiring that \( G \) 20 | is an s-blade, with grade \( s < k \). 21 | The proof follows by selecting the \( k-(s+1) \) grade, the lowest grade of \( d^k \Bx (\boldpartial \wedge G) \), from both sides of \cref{thm:fundamentalTheoremOfCalculus:1}. 22 | 23 | For the grade selection of the hypervolume integral we have 24 | \begin{equation}\label{eqn:stokesTheoremTheStatement:100} 25 | \gpgrade{ \int_V d^k \Bx \boldpartial G }{k-(s+1)} 26 | = 27 | \gpgrade{ 28 | \int_V d^k \Bx (\boldpartial \cdot G ) 29 | + 30 | \int_V d^k \Bx (\boldpartial \wedge G ) 31 | }{k-(s-1)}, 32 | \end{equation} 33 | however, the lowest grade of \( d^k \Bx (\boldpartial \cdot G ) \) is \( k -(s-1) = k - s + 1 > k - (s+1) \), so the divergence integral is zero. As \( d^{k-1} \Bx \) is a \( k - 1 \) blade 34 | \begin{equation}\label{eqn:stokesTheoremTheStatement:110} 35 | \begin{aligned} 36 | \int_V d^k \Bx \cdot (\boldpartial \wedge G ) 37 | &= \int_{\partial V} \gpgrade{d^{k-1} \Bx G}{k-(s+1)} \\ 38 | &= \int_{\partial V} d^{k-1} \Bx \cdot G. 39 | \end{aligned} 40 | \end{equation} 41 | \end{proof} 42 | -------------------------------------------------------------------------------- /surfaceintegral.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/surfaceintegral.tex -------------------------------------------------------------------------------- /surfaceintegraldef.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/surfaceintegraldef.tex -------------------------------------------------------------------------------- /symmetricAndAntiSymmetricVectorSums.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \index{symmetric sum} 6 | \index{antisymmetric sum} 7 | \maketheorem{Symmetric and antisymmetric vector products.}{thm:symmetricAndAntiSymmetricVectorSums:symmetricAndAnti}{ 8 | \begin{enumerate} 9 | \item The dot product of vectors \( \Bx, \By \) can be written as 10 | \begin{equation*} 11 | \Bx \cdot \By = \inv{2}\lr{ \Bx \By + \By \Bx }. 12 | \end{equation*} 13 | 14 | This sum, including all permutations of the products of \( \Bx \) and \( \By \) is called a completely symmetric sum. 15 | A useful variation of this relationship is 16 | \begin{equation*} 17 | \By \Bx = 2 (\Bx \cdot \By) - \Bx \By. 18 | \end{equation*} 19 | 20 | \item The wedge product of vectors \( \Bx, \By \) can be written as 21 | \begin{equation*} 22 | \Bx \wedge \By = \inv{2}\lr{ \Bx \By - \By \Bx }. 23 | \end{equation*} 24 | 25 | This sum, including all permutations of the products \( \Bx \) and \( \By \), with a sign change for any interchange, is called a completely antisymmetric sum. 26 | \end{enumerate} 27 | } % theorem 28 | \begin{proof} 29 | These identities highlight the symmetric and antisymmetric nature of the respective dot and wedge products in a coordinate free form, and will be useful in the manipulation of various identities. 30 | The proof follows by direct computation after first noting that the respect vector products are 31 | 32 | \begin{subequations} 33 | \label{eqn:symmetricAndAntiSymmetricVectorSums:660} 34 | \begin{equation}\label{eqn:symmetricAndAntiSymmetricVectorSums:640} 35 | \Bx \By = \Bx \cdot \By + \Bx \wedge \By 36 | \end{equation} 37 | \begin{equation}\label{eqn:symmetricAndAntiSymmetricVectorSums:680} 38 | \begin{aligned} 39 | \By \Bx 40 | &= \By \cdot \Bx + \By \wedge \Bx \\ 41 | &= \Bx \cdot \By - \Bx \wedge \By. 42 | \end{aligned} 43 | \end{equation} 44 | \end{subequations} 45 | 46 | In \cref{eqn:symmetricAndAntiSymmetricVectorSums:680} the interchange utilized the respective symmetric and antisymmetric nature of the dot and wedge products. 47 | 48 | Adding and subtracting \cref{eqn:symmetricAndAntiSymmetricVectorSums:660} proves the result. 49 | \end{proof} 50 | 51 | %Some authors will use \cref{eqn:SimpleProducts2:620} as the definitions of the dot and wedge products instead of defining them in terms of grade selection. 52 | %Grade selection is preferred here since it allows for a generalization of the wedge product to multiple vectors in higher degree spaces in a particularily simple way, and also allows for the generalization of the dot and wedge products with higher order geometric structures to be discussed. 53 | -------------------------------------------------------------------------------- /table5.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/table5.tex -------------------------------------------------------------------------------- /teaser.txt: -------------------------------------------------------------------------------- 1 | Were you ever told that you can't multiply vectors? Did the crazy combinations of signs and derivatives in Maxwell's equations scream "there must be some underlying structure!" Did you ever wonder how to express a general solution of Maxwell's equations? Here's a book that attempts to provide a systematic answer to some of these questions. 2 | -------------------------------------------------------------------------------- /toriodalProblem.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2023 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | \makeproblem{Curvilinear basis for toroidal parameterization.}{problem:toriodalProblem:1}{ 7 | Prove \cref{eqn:torusCenterOfMassParameterization:3}. 8 | } % problem 9 | 10 | \makeanswer{problem:toriodalProblem:1}{ 11 | We'll only compute \( \Bx_\theta \) here explicitly, as the other two vectors can be computed by inspection. 12 | 13 | We start with a plain old chain rule expansion, with the cavaet that we must b e careful not to commute \( j \) with anything but the \( e^{\pm j \theta/2} \) terms. 14 | \begin{equation}\label{eqn:toriodal:21} 15 | \begin{aligned} 16 | \Bx_\theta &= \PD{\theta}{\Bx} \\ 17 | &= 18 | -\frac{j}{2} 19 | e^{-j\theta/2} \left( \rho \Be_1 e^{ i \phi } + R \Be_3 \right) e^{j \theta/2} 20 | + 21 | e^{-j\theta/2} \left( \rho \Be_1 e^{ i \phi } + R \Be_3 \right) e^{j \theta/2} 22 | \frac{j}{2} 23 | \end{aligned} 24 | \end{equation} 25 | Note that the bivector \( j \) commutes with \( \Be_1 \), and then proceed to compute the \( \rho \) dependent part of \( \Bx_\theta \) 26 | \begin{equation}\label{eqn:toriodal:41} 27 | \begin{aligned} 28 | & \frac{\rho}{2} e^{-j \theta/2} \Be_1 \lr{ -j e^{i \phi} + e^{i \phi} j } e^{ j\theta/2 } \\ 29 | &=\frac{\rho}{2} e^{-j \theta/2} \Be_1 \lr{ - \Be_{32} \lr{ \cos\phi + \Be_{13} \sin\phi} + \lr{ \cos\phi + \Be_{13} \sin\phi} \Be_{32} } e^{ j\theta/2 } \\ 30 | &=\frac{\rho}{2} e^{-j \theta/2} \Be_1 \lr{ - \Be_{3213} \sin\phi + \Be_{1332} \sin\phi } e^{ j\theta/2 } \\ 31 | &=\frac{\rho}{2} e^{-j \theta/2} \Be_1 \lr{ - \Be_{21} \sin\phi + \Be_{12} \sin\phi } e^{ j\theta/2 } \\ 32 | &= \rho e^{-j \theta/2} \Be_{112} \sin\phi e^{ j\theta/2 } \\ 33 | &= \rho e^{-j \theta/2} \Be_{2} \sin\phi e^{ j\theta/2 }. 34 | %&= \rho \sin\phi \Be_2 e^{j \theta/2} e^{ j\theta/2 } \\ 35 | %&= \rho \sin\phi \Be_2 e^{j \theta}. 36 | \end{aligned} 37 | \end{equation} 38 | Similarly, the \( R \) dependent contribution is 39 | \begin{equation}\label{eqn:toriodal:61} 40 | \begin{aligned} 41 | & \frac{R}{2} e^{-j \theta/2} \lr{ -j \Be_3 + \Be_3 j } e^{ j\theta/2 } \\ 42 | & \frac{R}{2} e^{-j \theta/2} \lr{ -\Be_{323} + \Be_{332} } e^{ j\theta/2 } \\ 43 | & \frac{R}{2} e^{-j \theta/2} \lr{ \Be_{2} + \Be_{2} } e^{ j\theta/2 } \\ 44 | & R e^{-j \theta/2} \Be_{2} e^{ j\theta/2 }. 45 | \end{aligned} 46 | \end{equation} 47 | Putting the pieces together, we have 48 | \begin{equation}\label{eqn:toriodal:81} 49 | \Bx_\theta = e^{-j \theta/2} \lr{ R + \rho \sin\phi } \Be_{2} e^{ j\theta/2 }, 50 | \end{equation} 51 | as claimed. 52 | } % answer 53 | %} 54 | -------------------------------------------------------------------------------- /torusCenterOfMassParameterization.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/torusCenterOfMassParameterization.tex -------------------------------------------------------------------------------- /vectorDerivative.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2018 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | %{ 6 | 7 | Given curvilinear coordinates defined on a subspace \cref{dfn:curvilinearThree:280}, we don't have enough parameters to define the gradient. For calculus on the k-dimensional subspace, we define the vector derivative 8 | 9 | \index{vector derivative} 10 | \index{\(\boldpartial\)} 11 | \input{Definition_vector_derivative.tex} 12 | 13 | When the dimension of the subspace (number of parameters) equals the dimension of the underlying vector space, the vector derivative equals the gradient. Otherwise we can write 14 | \begin{equation}\label{eqn:vectorDerivative:101} 15 | \spacegrad = \boldpartial + \spacegrad_\perp, 16 | \end{equation} 17 | and can think of the vector derivative as the projection of the gradient onto the tangent space at the point of evaluation. 18 | 19 | Please see \citep{aMacdonaldVAGC} for an excellent introduction of the reciprocal frame, the gradient, and the vector derivative, and for 20 | details about the connectivity of the manifold ignored here. 21 | 22 | %} 23 | -------------------------------------------------------------------------------- /version_bash.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2019 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | Should you wish to actively contribute typo fixes (or even more significant changes) to this book, you can do so by contacting me, or by forking your own copy of the associated git repositories and building the book pdf from source, and submitting a subsequent merge request. 7 | 8 | \begin{lstlisting}[language=bash] 9 | #!/bin/bash 10 | 11 | git clone git@github.com:peeterjoot/latex-notes-compilations.git peeterjoot 12 | cd peeterjoot 13 | 14 | submods="figures/GAelectrodynamics figures/gabook mathematica GAelectrodynamics gapauli latex frequencydomain" 15 | for i in $submods ; do 16 | git submodule update --init $i 17 | (cd $i && git checkout master) 18 | done 19 | 20 | export PATH=`pwd`/latex/bin:$PATH 21 | 22 | cd GAelectrodynamics 23 | make scrpage2.sty parameters.sty mmacells.sty all 24 | \end{lstlisting} 25 | 26 | I reserve the right to impose dictatorial control over any editing and content decisions, and may not accept merge requests as-is, or at all. That said, I will probably not refuse reasonable suggestions or merge requests. 27 | -------------------------------------------------------------------------------- /volumeintegral.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/volumeintegral.tex -------------------------------------------------------------------------------- /volumeintegraldef.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/volumeintegraldef.tex -------------------------------------------------------------------------------- /volumeselection.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/volumeselection.tex -------------------------------------------------------------------------------- /wedgeDistributionIdentity.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \maketheorem{Distribution of inner products}{thm:stokesTheoremGeometricAlgebra:1420}{ 6 | Given two blades \(A_s, B_r\) with grades subject to \(s > r > 0\), and a vector \(\Bb\), the inner product distributes according to 7 | \begin{equation*} 8 | A_s \cdot \lr{ \Bb \wedge B_r } = \lr{ A_s \cdot \Bb } \cdot B_r. 9 | \end{equation*} 10 | } 11 | -------------------------------------------------------------------------------- /wedgeDistributionIdentityProblemsWedgeDistributionIdentityProof.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | \begin{proof} 6 | The proof is straightforward, relying primarily on grade selection, but also mechanical. 7 | Start by expanding the wedge and dot products within a grade selection operator 8 | \begin{equation}\label{eqn:wedgeDistributionIdentityProblemsWedgeDistributionIdentityProof:1460} 9 | \begin{aligned} 10 | A_s \cdot \lr{ \Bb \wedge B_r } 11 | &= \gpgrade{A_s (\Bb \wedge B_r)}{s - (r + 1)} \\ 12 | &= \inv{2} \gpgrade{A_s \lr{\Bb B_r + (-1)^{r} B_r \Bb} }{s - (r + 1)}. 13 | \end{aligned} 14 | \end{equation} 15 | 16 | Solving for \(B_r \Bb\) in 17 | \begin{equation}\label{eqn:wedgeDistributionIdentityProblemsWedgeDistributionIdentityProof:1480} 18 | 2 \Bb \cdot B_r = \Bb B_r - (-1)^{r} B_r \Bb, 19 | \end{equation} 20 | we have 21 | \begin{equation}\label{eqn:wedgeDistributionIdentityProblemsWedgeDistributionIdentityProof:1500} 22 | \begin{aligned} 23 | A_s \cdot \lr{ \Bb \wedge B_r } 24 | &= \inv{2} \gpgrade{ A_s \Bb B_r + A_s \lr{ \Bb B_r - 2 \Bb \cdot B_r } }{s - (r + 1)} \\ 25 | &= \gpgrade{ A_s \Bb B_r }{s - (r + 1)} 26 | - 27 | \cancel{\gpgrade{ A_s \lr{ \Bb \cdot B_r } }{s - (r + 1)}}. 28 | \end{aligned} 29 | \end{equation} 30 | 31 | The last term above is zero since we are selecting the \(s - r - 1\) grade element of a multivector with grades \(s - r + 1\) and \(s + r - 1\), which has no terms for \(r > 0\). 32 | Now we can expand the \(A_s \Bb\) multivector product, for 33 | \begin{equation}\label{eqn:wedgeDistributionIdentityProblemsWedgeDistributionIdentityProof:1520} 34 | A_s \cdot \lr{ \Bb \wedge B_r } 35 | = 36 | \gpgrade{ \lr{ A_s \cdot \Bb + A_s \wedge \Bb} B_r }{s - (r + 1)}. 37 | \end{equation} 38 | 39 | The latter multivector (with the wedge product factor) above has grades \(s + 1 - r\) and \(s + 1 + r\), so this selection operator finds nothing. 40 | This leaves 41 | \begin{equation}\label{eqn:wedgeDistributionIdentityProblemsWedgeDistributionIdentityProof:1540} 42 | A_s \cdot \lr{ \Bb \wedge B_r } 43 | = 44 | \gpgrade{ 45 | \lr{ A_s \cdot \Bb } \cdot B_r 46 | + \lr{ A_s \cdot \Bb } \wedge B_r 47 | }{s - (r + 1)}. 48 | \end{equation} 49 | 50 | The first dot products term has grade \(s - 1 - r\) and is selected, whereas the wedge term has grade \(s - 1 + r \ne s - r - 1\) (for \(r > 0\)). 51 | \end{proof} 52 | %Next consider an expansion that we cannot do above, but require 53 | -------------------------------------------------------------------------------- /working/cyclicpermutationtwo.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | \makeproblem{Two vector cyclic permutation}{problem:gradeselection:cyclicpermutationtwo}{ 7 | Show that 8 | \begin{dmath}\label{eqn:gradeselection:580} 9 | \gpgradezero{ \Bx \By } 10 | = 11 | \gpgradezero{ \By \Bx }. 12 | \end{dmath} 13 | } % problem 14 | 15 | \makeanswer{problem:gradeselection:cyclicpermutationtwo}{ 16 | 17 | Expanding the vector grade zero selection in coordinates gives 18 | \begin{dmath}\label{eqn:gradeselectionProblems:680} 19 | \gpgradezero{ \Bx \By } 20 | = 21 | \sum_{ij} \gpgradezero{ x_i y_j \Be_i \Be_j } 22 | = 23 | \sum_{i = j} \gpgradezero{ x_i y_i \Be_i \Be_i } 24 | = 25 | \sum_{i = j} \gpgradezero{ (y_i \Be_i)(x_i \Be_i) } 26 | = 27 | \sum_{i,j} \gpgradezero{ (y_i \Be_i)(x_i \Be_i) } 28 | = 29 | \gpgradezero{ \By \Bx }. 30 | \end{dmath} 31 | } % answer 32 | -------------------------------------------------------------------------------- /working/old_kvector_and_blade.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | A fair amount of nomenclature and notation is unfortunately required before systematically examining the implications of the multivector space axioms that define geometric algebra. 7 | 8 | Multivectors which can be factored into normal vector products, such as 9 | \begin{dmath}\label{eqn:multiplication:220} 10 | \Be_1 \Be_2 + 3 \Be_1 \Be_3 11 | = 12 | \Be_1 (\Be_2 + 3 \Be_3), 13 | \end{dmath} 14 | 15 | are blades. 16 | In contrast, the following grade 2 multivectors 17 | 18 | \begin{dmath}\label{eqn:multiplication:240} 19 | \Be_1 \Be_2 + \Be_3 \Be_4, 20 | \end{dmath} 21 | 22 | and 23 | \begin{dmath}\label{eqn:multiplication:260} 24 | \Be_1 \Be_2 + \Be_2 \Be_3 + \Be_3 \Be_1, 25 | \end{dmath} 26 | 27 | which cannot be factored into two vector products, are not blades. 28 | 29 | \index{k-vector} 30 | \makedefinition{k-vector.}{dfn:multivector:kvector}{ 31 | A sum of k-blades is called a k-vector. 32 | } % definition 33 | 34 | Multivectors are therefore sums of k-vectors with different grades. 35 | 36 | All the k-blade examples in 37 | \cref{eqn:multivector:180} 38 | are also k-vectors. 39 | K-vectors with grades 2 and 3 are so pervasive that they are given special names. 40 | 41 | \index{bivector} 42 | \makedefinition{Bivector.}{dfn:multivector:bivector}{ 43 | A bivector, or 2-vector, is a k-vector with grade 2. 44 | } % definition 45 | 46 | Any 2-blade, such as the product \( \Be_1 \Be_2 \) is a bivector. 47 | Any sum of 2-blades, such as \( \Be_2 \Be_3 + 3 \Be_4 \Be_1 \), is also a bivector. 48 | %Each of \( \Be_1 \Be_2, \Be_2 \Be_1, \Be_1 \Be_2 + \Be_2 \Be_3 \), and \( \Be_1 \Be_2 + \Be_3 \Be_4 \) are bivectors. 49 | %All but the last of these represents an oriented plane segment. 50 | 51 | \index{trivector} 52 | \makedefinition{Trivector.}{dfn:multivector:trivector}{ 53 | A trivector, or 3-vector, is a k-vector with grade 3. 54 | } % definition 55 | 56 | %Quantities with higher grades than 3 are not generally given explicit names. 57 | The multivector \( \Be_3 \Be_1 \Be_2 \) is a trivector, as is \( \Be_1 \Be_2 \Be_3 + 3 \Be_5 \Be_4 \Be_1 \). 58 | The latter is not a blade. 59 | %Each of \( \Be_1 \Be_2 \Be_3, \Be_1 \Be_3 \Be_2, \Be_1 \Be_4 \Be_2 \) are trivectors. 60 | % , and represent oriented volumes. 61 | 62 | 63 | -------------------------------------------------------------------------------- /working/orientation.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2017 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | FIXME: find a home for this. Also have a number of figures in junk.pdf that should be brought in. 6 | 7 | Perhaps after triple wedge products, and certainly after areas of wedge products. 8 | 9 | Given this, it is reasonable to associate an orientation with 2-blades (like \( \ucap \vcap \) or \( \Be_{12} \)). 10 | We will also see that an area can also be associated with a 2-blade. 11 | 12 | Eventually this will justify a geometrical characterization of k-vector blades along the following lines 13 | 14 | \begin{itemize} 15 | \item A scalar (0-vector) represents an oriented (signed) point. 16 | \item A vector (1-vector, also always a 1-blade) represents an oriented line segment. 17 | \item A bivector, if it is also a 2-blade, represents an oriented area segment. You could think of such a bivector as a representation of an area elements that has, say, an upper or lower side, just as a vector can be thought of as having a head and a tail. 18 | \item A trivector, if also a 3-blade, represents an oriented volume segment. We can associate an inwards or outward normal with the orientation of this volume element, or associate the orientation with a rotational sense as depicted in 19 | \cref{fig:orientedVolume:orientedVolumeFig1}. 20 | \imageFigure{../figures/GAelectrodynamics/orientedVolumeFig1}{Oriented Volume}{fig:orientedVolume:orientedVolumeFig1}{0.3} 21 | \item A k-blade represents an oriented k-dimensional hypervolume element. 22 | \end{itemize} 23 | 24 | As with multivectors in general, it isn't clear whether there is a good geometric characterization for a k-vector that isn't also a blade. 25 | 26 | 27 | -------------------------------------------------------------------------------- /working/r4nonzerobivectorwedgewithselfAnswer.tex: -------------------------------------------------------------------------------- 1 | % 2 | % Copyright © 2016 Peeter Joot. All Rights Reserved. 3 | % Licenced as described in the file LICENSE under the root directory of this GIT repository. 4 | % 5 | 6 | \makeanswer{problem:gradeselection:r4nonzerobivectorwedgewithself}{ 7 | \begin{dmath}\label{eqn:r4nonzerobivectorwedgewithself:20} 8 | B \wedge B 9 | = 10 | \gpgrade{ B B }{4} 11 | = 12 | \gpgrade{ 13 | \lr{ \Be_1 \Be_2 + \Be_3 \Be_4 } 14 | \lr{ \Be_1 \Be_2 + \Be_3 \Be_4 } 15 | }{4} 16 | = 17 | \Be_3 \Be_4 \Be_1 \Be_2 18 | + 19 | \Be_1 \Be_2 \Be_3 \Be_4 20 | = 21 | 2 \Be_1 \Be_2 \Be_3 \Be_4 22 | \ne 0. 23 | \end{dmath} 24 | } % answer 25 | -------------------------------------------------------------------------------- /working/scalarPermutation.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peeterjoot/GAelectrodynamics/6164439cbff2d3d6e48f93d4cfb2bfd2b59c82e1/working/scalarPermutation.tex --------------------------------------------------------------------------------