ایجاد هممورفیسم گروهی در GAP
هممورفیسم گروهی نقشه برداری از یک گروه به گروه دیگر است که ضرب و معکوس را رعایت می کند. آنها به عنوان یک کلاس ویژه از نگاشت ها پیاده سازی می شوند، بنابراین به ویژه تمام عملیات برای نگاشت ها، مانند Image( 32.4-6 )، PreImage( 32.5-6 )، PreImagesRepresentative( 32.5-4 )، KernelOfMultiplicativeGeneralMapping( 32.9-5 )، Source( 32.3-8 )، Range( 32.3-7 )، IsInjective( 32.3-4 ) و IsSurjective( 32.3-5 ) (به فصل 32 ، به ویژه بخش 32.9 مراجعه کنید ) برای آنها قابل اعمال است.
از هممورفیسم ها می توان برای انتقال محاسبات به گروه های هم شکل در نمایش دیگری استفاده کرد که الگوریتم های بهتری برای آن موجود است. بخش 40.5 روشی را توضیح می دهد که چگونه می توان این را به طور خودکار اعمال کرد.
هممورفیسم ها همچنین برای نمایش خودمورفیسم های گروهی استفاده می شوند و بخش 40.6 امکانات GAP را برای کار با گروه های خودمورفیسم توضیح می دهد .
بخش 40.9 توضیح میدهد که چگونه میتوان GAP را برای جستجوی همه هممورفیسمها بین دو گروه که دارای مشخصات خاصی هستند، ساخت.
40.1 ایجاد هممورفیسم های گروهی
مهمترین راه ایجاد هممورفیسمهای گروهی، دادن تصاویر برای مجموعهای از مولدهای گروه و گسترش آن به گروهی است که توسط ویژگی هممورفیسم توسط آنها ایجاد میشود.
راه دوم برای ایجاد هممورفیسم ها، دادن توابعی است که تصویر و پیش تصویر را محاسبه می کنند. (یک مورد مشابه هممورفیسم هایی هستند که توسط صرف القا می شوند. سازنده های ویژه برای چنین نگاشت ها در بخش 40.6 توضیح داده شده اند ).
طبقه سوم اپیمورفیسمهای یک گروه به گروه عامل آن است. چنین هممورفیسم هایی را می توان توسط NaturalHomomorphismByNormalSubgroup( 39.18-1 ) ساخت.
طبقه چهارم هممورفیسم ها در یک گروه جایگشت است که توسط یک عمل در یک مجموعه القا می شود. چنین هممورفیسمهایی در زمینه اقدامات گروهی توضیح داده شدهاند، به فصل 41 و به طور خاص مراجعه کنید ActionHomomorphism( 41.7-1 ).
40.1-1 GroupHomomorphismByImages
| ‣ GroupHomomorphismByImages( G , H [[, gens ], imgs ] ) | ( عملکرد ) |
GroupHomomorphismByImagesهمریخت گروه با منبع گرداند G و محدوده H است که توسط نقشه برداری لیست تعریف تیره ژنراتور از G به صفحه قبل IMG مشغول تصاویر در H .
اگر حذف شود، آرگومانهای gens و imgs به ترتیب مقدار GeneratorsOfGroup( 39.2-4 ) G و H را پیشفرض میکنند . اگر H داده نشود، نقشه برداری به طور خودکار به عنوان سوژه در نظر گرفته می شود.
اگر ژن G را تولید نکند یا اگر نگاشت مولدها به یک هممورفیسم گسترش نیابد (یعنی اگر نگاشت مولدها فقط یک نگاشت چند ارزشی را توصیف می کند) failبازگردانده می شود.
این آزمایش می تواند بسیار گران باشد. اگر کسی مطمئن باشد که نگاشت مولدها به یک هممورفیسم گسترش می یابد، می توان با فراخوانی GroupHomomorphismByImagesNC( 40.1-2 ) از بررسی ها اجتناب کرد . (همچنین امکان ساخت نگاشتهای بالقوه چند ارزشی با GroupGeneralMappingByImages( 40.1-3 ) و آزمایش با IsMapping( 32.3-3 ) وجود دارد که آیا آنها واقعاً هممورفیسم هستند یا خیر.)
40.1-2 GroupHomomorphismByImagesNC
| ‣ GroupHomomorphismByImagesNC( G , H [[, gens ], imgs ] ) | ( عمل ) |
GroupHomomorphismByImagesNCایجاد یک همریخت عنوان GroupHomomorphismByImages( 40.1-1 ) می کند، با این حال آن را تست کنید که آیا تیره تولید G و نقشه برداری از تیره به IMG مشغول واقع تعریف همریخت گروه. از آنجایی که این تست ها می توانند گران باشند، می توانند به طور قابل توجهی سریعتر از GroupHomomorphismByImages( 40.1-1 ) باشند. در صورت عدم وجود شرایط، نتایج غیر قابل پیش بینی هستند.
اگر حذف شود، آرگومانهای gens و imgs به ترتیب مقدار GeneratorsOfGroup( 39.2-4 ) G و H را پیشفرض میکنند .
(برای ایجاد یک نگاشت احتمالاً چند ارزشی از G تا H که ضرب و معکوس را رعایت می کند، می توان از GroupGeneralMappingByImages( 40.1-3 ) استفاده کرد.)
gap> gens:=[(1,2,3,4),(1,2)]; [ (1,2,3,4), (1,2) ] gap> g:=Group(gens); Group([ (1,2,3,4), (1,2) ]) gap> h:=Group((1,2,3),(1,2)); Group([ (1,2,3), (1,2) ]) gap> hom:=GroupHomomorphismByImages(g,h,gens,[(1,2),(1,3)]); [ (1,2,3,4), (1,2) ] -> [ (1,2), (1,3) ] gap> Image(hom,(1,4)); (2,3) gap> map:=GroupHomomorphismByImages(g,h,gens,[(1,2,3),(1,2)]); fail