| TRICENSUS(1) | The Regina Handbook | TRICENSUS(1) |
نام (NAME)
tricensus - ایجاد یک سرشماری از مثلثبندیها
خلاصه دستور (SYNOPSIS)
tricensus [ -t, --tetrahedra=tetrahedra ] [ -2, --dim2 | -4, --dim4 ] [ -b, --boundary | -i, --internal | -B, --bdryfaces=triangles ] [ -o, --orientable | -n, --nonorientable ] [ -f, --finite | -d, --ideal ] [ -m, --minimal | -M, --minprime | -N, --minprimep2 | -h, --minhyp ] [ --allowinvalid ] [ -s, --sigs | -S, --canonical | -e, --encodings | -c, --subcontainers ] [ -p, --genpairs | -P, --usepairs ] [ --threads=num_threads ] output-file
tricensus { -v, --version | -?, --help }
توضیحات (DESCRIPTION)
یک سرشماری از تمام مثلثبندیهای منیفلدهای ۲، ۳ یا ۴ بُعدی که مجموعهای از شرایط را برآورده میکنند، ایجاد میکند.
این شرایط با استفاده از آرگومانهای مختلف خط فرمان مشخص میشوند. تنها شرطی که باید ارائه دهید، تعداد سادکهای با بالاترین بُعد است (برای مثال، تعداد چهاروجهیها برای منیفلدهای ۳بعدی)، اما گزینههای بسیار دیگری نیز در دسترس هستند.
رفتار پیشفرض، شمارش مثلثبندیهای منیفلدهای ۳بعدی است. اگر میخواهید به جای آن مثلثبندیهای منیفلدهای ۲بعدی یا ۴بعدی را شمارش کنید، باید به ترتیب --dim2 یا --dim4 را ارسال کنید.
هر مثلثبندی دقیقاً یک بار تا حد یکریختی ترکیبیاتی در خروجی قرار میگیرد. مثلثبندیهای نامعتبر (برای منیفلدهای ۳بعدی، این به معنای مثلثبندیهایی با یالهای منطبق بر خود به صورت معکوس، یا رأسهایی است که پیوند آنها مرز دارد ولی قرص نیستند) اصلاً در خروجی آورده نخواهند شد.
با پیشرفت سرشماری، وضعیت پیشرفت (بهآرامی) در خروجی استاندارد نوشته میشود. پس از تکمیل سرشماری، سرشماری کامل در فایل خروجی دادهشده ذخیره خواهد شد.
میتوانید از گزینههای --genpairs و --usepairs برای تقسیم یک سرشماری به بخشهای کوچکتر استفاده کنید.
یک سرشماری حتی با تعداد کمی از سادکهای با بالاترین بُعد میتواند زمان بسیار طولانی برای اجرا ببرد و مقادیر عظیمی از حافظه را مصرف کند. توصیه میشود برای شروع، سرشماریهای بسیار کوچک (مانند ۳ یا ۴ سادک) را امتحان کنید و به تدریج مقادیر را افزایش دهید تا محدودیتهای دستگاه خود را بسنجید.
برای اجراهای سرشماری بسیار بزرگ، اکیداً توصیه میشود که از گزینهٔ --sigs یا --encodings استفاده کنید، که حجم فایل خروجی را کوچک نگه داشته و مصرف حافظه را به میزان قابل توجهی کاهش میدهد.
گزینهها (OPTIONS)
- -t, --tetrahedra=tetrahedra
- تعداد سادکهای با بالاترین بُعد مورد استفاده برای ساخت مثلثبندیها را مشخص میکند. برای منیفلدهای ۲بعدی، ۳بعدی و ۴بعدی، این گزینه به ترتیب تعداد مثلثها، چهاروجهیها یا پنجخانهها را مشخص میکند.
- -2, --dim2
- ایجاد
سرشماری از
مثلثبندیهای
منیفلدهای
۲بعدی، به
جای
مثلثبندیهای
منیفلدهای
۳بعدی.
این گزینه با چندین گزینهٔ دیگر ناسازگار است؛ برای سایر گزینهها، صرفاً محدودیت مربوطه را به دو بُعد منتقل میکند. برای جزئیات در مورد نحوهٔ تعامل آن با --dim2 به توضیحات هر گزینه به صورت جداگانه مراجعه کنید.
- -4, --dim4
- ایجاد
سرشماری از
مثلثبندیهای
منیفلدهای
۴بعدی، به
جای
مثلثبندیهای
منیفلدهای
۳بعدی.
این گزینه با چندین گزینهٔ دیگر ناسازگار است؛ برای سایر گزینهها، صرفاً محدودیت مربوطه را به چهار بُعد منتقل میکند. برای جزئیات در مورد نحوهٔ تعامل آن با --dim4 به توضیحات هر گزینه به صورت جداگانه مراجعه کنید.
- -b, --boundary
- تنها تولید
مثلثبندیهایی
که حداقل یک
مثلث مرزی
دارند.
برای منیفلدهای ۲بعدی یا ۴بعدی، این گزینه به ترتیب وجود حداقل یک یال مرزی یا چهاروجهی مرزی را تضمین میکند.
- -i, --internal
- تنها تولید
مثلثبندیهایی
که تمام
مثلثهای
آنها
داخلی
هستند (یعنی
بدون هیچ
مثلث مرزی).
برای منیفلدهای ۲بعدی یا ۴بعدی، این گزینه تضمین میکند که به ترتیب تمام یالها یا چهاروجهیها داخلی باشند.
- -B, --bdryfaces=triangles
- تنها تولید
مثلثبندیهایی
با تعداد
دقیق
مثلثهای
مرزی
مشخصشده.
برای منیفلدهای ۲بعدی یا ۴بعدی، این گزینه به ترتیب تعداد یالهای مرزی یا چهاروجهیهای مرزی را مشخص میکند.
- -o, --orientable
- تنها تولید مثلثبندیهای جهتپذیر.
- -n, --nonorientable
- تنها تولید مثلثبندیهای جهتناپذیر.
- -f, --finite
- تنها تولید
مثلثبندیهای
متناهی
(مثلثبندیهایی
بدون
رأسهای
ایدهآل).
این گزینه را نمیتوان همراه با --dim2 استفاده کرد.
- -d, --ideal
- تنها تولید
مثلثبندیهایی
با حداقل یک
رأس
ایدهآل.
همچنین
ممکن است
رأسهای
داخلی (که
پیوند
آنها کره
است) نیز
وجود داشته
باشند یا
نداشته
باشند.
این گزینه را نمیتوان همراه با --dim2 استفاده کرد.
- -m, --minimal
- شامل نکردن
مثلثبندیهایی
که مشخصاً
غیرکمینه
هستند.
این گزینه از مجموعهای از آزمونهای سریع استفاده میکند که سعی در حذف مثلثبندیهای غیرکمینه دارند، اما همیشه قطعی نیستند. اگر Regina نتواند بهسرعت غیرکمینه بودن یک مثلثبندی را تشخیص دهد، صرفنظر از این موضوع، مثلثبندی را در سرشماری قرار میدهد.
این گزینه را نمیتوان همراه با --dim4 استفاده کرد.
- -M, --minprime
- شامل نکردن
مثلثبندیهایی
که مشخصاً
غیرکمینه،
غیراول و/یا
تقلیلپذیر
با قرص
هستند.
این کار میتواند بهطور چشمگیری سرعت سرشماری را افزایش داده و تعداد نهایی مثلثبندیهای تولیدشده را به میزان زیادی کاهش دهد.
همانند موارد بالا، این گزینه از مجموعهای از آزمونهای سریع استفاده میکند که همیشه قطعی نیستند. اگر Regina نتواند بهسرعت غیرکمینه، غیراول یا تقلیلپذیر با قرص بودن یک مثلثبندی را تشخیص دهد، صرفنظر از این موضوع، مثلثبندی را در سرشماری قرار میدهد.
این گزینه را نمیتوان همراه با --dim2 یا --dim4 استفاده کرد.
- -N, --minprimep2
- شامل نکردن
مثلثبندیهایی
که مشخصاً
غیرکمینه،
غیراول،
تقلیلپذیر
با P2 و/یا
تقلیلپذیر
با قرص
هستند.
این کار میتواند بهطور چشمگیری سرعت سرشماری را افزایش داده و تعداد نهایی مثلثبندیهای تولیدشده را به میزان زیادی کاهش دهد، حتی بیشتر از --minprime.
همانند موارد بالا، این گزینه از مجموعهای از آزمونهای سریع استفاده میکند که همیشه قطعی نیستند. اگر Regina نتواند بهسرعت غیرکمینه، غیراول، تقلیلپذیر با P2 یا تقلیلپذیر با قرص بودن یک مثلثبندی را تشخیص دهد، صرفنظر از این موضوع، آن را در سرشماری قرار میدهد.
این گزینه را نمیتوان همراه با --dim2 یا --dim4 استفاده کرد.
- -h, --minhyp
- شامل نکردن
مثلثبندیهایی
که مشخصاً
مثلثبندیهای
ایدهآل
کمینه از
منیفلدهای
۳بعدی
هذلولوی با
حجم متناهی
و کاسپدار
نیستند.
این کار میتواند بهطور چشمگیری سرعت سرشماری را افزایش داده و تعداد نهایی مثلثبندیهای تولیدشده را به میزان زیادی کاهش دهد.
همانند موارد بالا، این گزینه از مجموعهای از آزمونهای سریع استفاده میکند که همیشه قطعی نیستند. اگر Regina نتواند بهسرعت تشخیص دهد که آیا یک مثلثبندی، مثلثبندی ایدهآل کمینه از یک منیفلد ۳بعدی هذلولوی با حجم متناهی و کاسپدار است یا خیر، صرفنظر از این موضوع، آن را در سرشماری قرار میدهد.
این گزینه تنها برای استفاده با مثلثبندیهای ایدهآل طراحی شده است (بنابراین، برای مثال، ترکیب آن با --finite یا --boundary پیام خطا ایجاد خواهد کرد). همچنین این گزینه را نمیتوان همراه با --dim2 یا --dim4 استفاده کرد..TP --allowinvalid در حالت عادی، tricensus پیش از قرار دادن هر مثلثبندیِ ساختهشده در خروجی نهایی، معتبر بودن آن را میسنجد. اما اگر --allowinvalid را ارسال کنید، این آزمونهای اعتبار انجام نخواهند شد.
در نتیجه، خروجی ممکن است شامل برخی مثلثبندیهای نامعتبر باشد. با این حال، شامل تمام مثلثبندیهای نامعتبر در اندازه مشخصشده نخواهد بود، چرا که برخی از ساختارهای نامعتبر در سطوح ابتداییترِ درخت جستجو توسط الگوریتم سرشماری هرس میشوند (برخلاف تشخیص داده شدن با آزمون اعتبار پس از ساخته شدن کاملِ هر مثلثبندی). برای مثال، یالهایی که بهصورت معکوس با خودشان منطبق میشوند به همین شیوه زودتر شناسایی و هرس میگردند، و بنابراین حتی با گزینه --allowinvalid نیز هرگز در خروجی سرشماری ظاهر نخواهند شد.
تنها تضمینی که از این گزینه دریافت میکنید این است که سرشماری شامل تمام مثلثبندیهای نامعتبر خواهد بود که میتوانستند به عنوان یک زیرکمپلکس از یک مثلثبندی معتبر ظاهر شوند. برای مثال، اگر یک مثلثبندی سهبُعدی تنها به این دلیل نامعتبر باشد که دارای رأسهایی با پیوندهای کرویِ چندبار سوراخشده است، در خروجی گنجانده خواهد شد.
این گزینه را نمیتوان همراه با گزینههای finite/ideal یا گزینههای کمینگی (minimality) استفاده کرد.
- -s, --sigs
- به جای
نوشتن یک
فایل داده
کامل Regina، فقط
فهرستی از
امضاهای
یکریختی (isomorphism
signatures) را خروجی
میدهد.
فایل خروجی یک فایل متنی ساده (plain text) خواهد بود. هر خط یک رشته کوتاه از حروف، ارقام و/یا علائم نگارشی خواهد بود که یک مثلثبندی را تا حد یکریختی ترکیبیاتی بهطور یکتا کُدگذاری میکند. شما میتوانید این فایل متنی را از داخل Regina با انتخاب File->Import->Isomorphism Signature List از منو وارد (import) کنید.
این گزینه برای سرشماریهای بزرگ به شدت توصیه میشود. نخست، فایل خروجی به مراتب کوچکتر خواهد بود. مهمتر از آن، ردپای حافظه (memory footprint) ابزار tricensus نیز بسیار کمتر خواهد بود: مثلثبندیها میتوانند بلافاصله در فایل خروجی نوشته شده و فراموش شوند، به جای اینکه برای ساخت یک فایل داده نهایی Regina در حافظه نگهداری شوند.
- -S, --canonical
- گونهای از
--sigs که
فهرستی از
امضاهای
یکریختی را
به همراه
یکریختیهای
متناظر
خروجی
میدهد.
فایل خروجی یک فایل متنی ساده خواهد بود. هر خط شامل دو رشته کوتاه است که با یک فاصله از هم جدا شدهاند. رشته اول همان امضای یکریختی خروجی داده شده توسط --sigs است. رشته دوم یک یکریختی F را کُدگذاری میکند با این ویژگی که اگر یک مثلثبندی را از روی امضای یکریختی بازسازی کرده و یکریختی F را بر آن اعمال کنیم، مثلثبندی حاصل دارای یک جفتسازی وجوه (facet pairing) کانونی خواهد بود.
در اینجا کانونی همان معنایی را دارد که در زیر تحت گزینه --usepairs شرح داده شده است: یک جفتسازی وجوه در صورتی به فرم کانونی است که نماینده کمینه از کلاس یکریختی خود باشد.
خود یکریختیها با استفاده از کُدگذاریهای فشرده (tight encodings) کُدگذاری خواهند شد، که (همانند امضاهای یکریختی) رشتههای کوتاهی از حروف، ارقام و/یا علائم نگارشی هستند. در حال حاضر برای رمزگشایی آنها باید از C++ یا Python استفاده کنید؛ برای مثال، در بُعد 3 تابع Isomorphism<3>::tightDecoding() را فراخوانی خواهید کرد.
اگر به این یکریختیها نیاز ندارید، بهتر است به جای آن از گزینه سادهتر (و کمی سریعتر) --sigs استفاده کنید.
- -e, --encodings
- به جای
نوشتن یک
فایل داده
کامل Regina، فقط
فهرستی از
کُدگذاریهای
فشرده (tight encodings)
را در خروجی
مینویسد.
فایل خروجی یک فایل متنی ساده خواهد بود. هر خط یک رشته کوتاه از حروف، ارقام و/یا علائم نگارشی خواهد بود که یک مثلثبندی برچسبدار را بهطور یکتا به صورت یک tight encoding کُدگذاری میکند.
کُدگذاریهای فشرده از جهات زیر با امضاهای یکریختی (که توسط --sigs خروجی داده میشوند) تفاوت دارند:
- •
- دلیل اصلی استفاده از کُدگذاریهای فشرده این است که برچسبگذاری سیمپلکسها و رأسهای آنها را حفظ میکنند (برخلاف امضاهای یکریختی که مثلثبندی را تنها تا حد یکریختی ترکیبیاتی کُدگذاری مینمایند).
- •
- بهطور کلی، کُدگذاریهای فشرده نویسههای کمی بیشتری به کار میبرند و محاسبه آنها اندکی سریعتر از امضاهای یکریختی است.
- •
- کار با کُدگذاریهای فشرده دشوارتر است. آنها از تنوع گستردهتری از نمادهای نگارشی استفاده میکنند (که آنها را برای نامگذاری فایلها نامناسب و برای استفاده بهصورت رشتههای هاردکدشده در کد مبدأ ناخوشایند میسازد). علاوه بر این، در حال حاضر برای بازسازی مثلثبندیها از روی آنها باید از C++ یا Python استفاده کنید؛ برای مثال، در بُعد 3 تابع Triangulation<3>::tightDecoding() را فراخوانی خواهید کرد.
اگر مطمئن نیستید که از امضاهای یکریختی استفاده کنید یا کُدگذاریهای فشرده، توصیه میشود امضاهای یکریختی (--sigs) را انتخاب کنید.
این گزینه مانند --sigs در سرشماریهای بزرگ عملکرد بسیار بهتری نسبت به ذخیره یک فایل داده کامل Regina دارد: فایل خروجی بسیار کوچکتر خواهد بود و ردپای حافظه tricensus نیز بسیار کمتر میشود. برای جزئیات بیشتر به گزینه --sigs مراجعه کنید.
شما همچنین میتوانید --encodings را همراه با --genpairs استفاده کنید؛ در این حالت، جفتسازیهای وجوه به جای بازنماییهای متنیِ خوانا برای انسان، با استفاده از کُدگذاریهای فشرده نوشته خواهند شد. کُدگذاریهای فشرده جفتسازیهای وجوه را نمیتوان به عنوان ورودی همراه با --usepairs به کار برد، و در این مورد نیز برای بازسازی جفتسازیهای وجوه از روی آنها باید از C++ یا Python استفاده کنید.
- -c, --subcontainers
- برای هر
جفتسازی
وجوه، یک
ظرف (container) جدید
ایجاد
میشود و
مثلثبندیهای
حاصل درون
این ظرفها
قرار
میگیرند.
این ظرفها
حتی اگر
جفتسازی
وجوه منجر
به هیچ
مثلثبندی
نشود نیز
ایجاد
خواهند شد.
برای اطلاعات بیشتر درباره جفتسازی وجوه، --genpairs را در زیر ببینید.
این گزینه را نمیتوان همراه با --sigs، --canonical یا --encodings استفاده کرد.
- -p, --genpairs
- فقط
جفتسازیهای
وجوه (facet pairings) را
تولید
میکند، نه
مثلثبندیها
را. یک
جفتسازی
وجوه مشخص
میکند که
کدام وجوهِ
سیمپلکسهای
با
بالاترین
بُعد به
کدام وجوه
دیگر
چسبانده
شدهاند،
اما
دورانها
و/یا
بازتابهای
دقیقی را که
برای هر
چسباندن
استفاده
شده ذخیره
نمیکند.
برای
چندگونگیهای
۳-بُعدی (3-manifolds)،
جفتسازی
وجوه
نشاندهنده
جفتسازی
وجوه
چهاروجهی
است، برای
چندگونگیهای
۲-بُعدی
نشاندهنده
جفتسازی
اضلاع مثلث
است، و برای
چندگونگیهای
۴-بُعدی
نشاندهنده
جفتسازی
وجوه pentachoron است.
بیرونیترین لایه از کد سرشماری شامل جفت کردن وجوه سیمپلکسهای مجزا با بالاترین بُعد، بدون تعیین جایگشتهای چسباندن مربوطه است. برای هر جفتسازی وجوه تولیدشده، Regina مجموعههای متعددی از جایگشتهای چسباندن را امتحان کرده و مثلثبندیهای مربوطه را تولید میکند.
تولید جفتسازی وجوه بخش بسیار کوچکی از کل زمان اجرای سرشماری را مصرف میکند و عملاً سرشماری را به چندین بخش تقسیم مینماید. این گزینه به شما امکان میدهد تا بهسرعت فهرستی کامل از جفتسازیهای ممکن برای وجوه ایجاد کنید، بهطوری که بتوانید زیرمجموعههایی از این فهرست را به رایانههای مختلف بسپارید تا همزمان روی آنها کار کنند.
فهرست تمامی جفتسازیهای وجوه در فایل خروجی مشخصشده با قالب متن ساده نوشته خواهد شد (اگرچه میتوانید فایل خروجی را در خط فرمان مشخص نکنید، که در این صورت جفتسازیهای وجوه در خروجی استاندارد نوشته خواهند شد). بهطور پیشفرض، قالب خروجی یک قالب عددیِ جداشده با فاصله خواهد بود که برای استفاده همراه با --usepairs (زیر را ببینید) مناسب است. با این حال، اگر --encodings را ارسال کنید، قالب خروجی از کُدگذاریهای فشرده استفاده خواهد کرد (که کوتاهترند، فاصلهای ندارند و خواندن آنها برای انسانها بسیار سختتر است). برای جزئیات بیشتر درباره کُدگذاریهای فشرده، --encodings را ببینید.
اگر زیرسرشماریهای خود را بهصورت دستی هماهنگ میکنید، میتوانید از گزینه --usepairs برای تولید مثلثبندیها از زیرمجموعهای از این جفتسازیهای وجوه استفاده نمایید. در این صورت، جفتسازیهای وجوه باید با استفاده از قالب عددی پیشفرض جداشده با فاصله (نه کُدگذاریهای فشرده) ارائه شوند.
گزینههای مربوط به جهتپذیری (orientability)، متناهی بودن (finiteness) یا کمینگی (minimality) را نمیتوان همراه با --genpairs استفاده کرد؛ در عوض باید آنها را بعداً به همراه --usepairs به کار ببرید.
این گزینه گزارشی از میزان پیشرفت ارائه نمیدهد، هرچند که معمولاً آنقدر سریع اجرا میشود که این موضوع اهمیتی ندارد. شما همواره میتوانید با شمارش خطوط فایل خروجی، وضعیت پیشرفت را دنبال کنید..TP -P, --usepairs تنها از زیرمجموعه دادهشده از جفتسازیهای وجه (facet pairings) برای ساخت مثلثبندیها استفاده میکند.
هر جفتسازی وجه پردازششده باید به شکل متعارف (canonical form) باشد، یعنی باید نماینده کمینه از رده یکریختی خود باشد. تضمین میشود تمام جفتسازیهای وجه تولیدشده با استفاده از --genpairs این شرط را برآورده میکنند.
جفتسازیهای وجه باید در ورودی استاندارد، هر کدام در یک خط ارائه شوند. آنها باید با استفاده از قالب عددی جداشده با فاصله که توسط گزینه --genpairs تولید شده است، ارائه گردند.
این گزینه عملاً به شما اجازه میدهد تا زیرمجموعهای از یک سرشماری بزرگتر را اجرا کنید. برای جزئیات بیشتر درباره چگونگی تقسیم سرشماری به زیرمجموعههایی که بتوانند به طور همزمان روی ماشینهای مختلف اجرا شوند، به --genpairs مراجعه کنید.
گزینههای مربوط به تعداد سادکهای با بالاترین بُعد (یعنی --tetrahedra) یا وجوه مرزی (یعنی --boundary یا --bdryfaces) را نمیتوان همراه با --usepairs استفاده کرد. در عوض، زمانی که سرشماری اصلی را به بخشهای مختلف تقسیم میکنید، باید این گزینهها را زودتر به همراه --genpairs ارسال نمایید.
- --threads=num_threads
- سرشماری را
بهصورت
موازی با
استفاده از
تعداد
ریسههای (threads)
مشخصشده
اجرا
میکند. این
موازیسازی
معمولاً
بسیار مؤثر
است
(بهویژه
برای
سرشماریهای
بزرگتر)،
از این جهت
که ضریب
افزایش
سرعت
معمولاً
نزدیک به
حداکثر
نظری num_threads
است.
شیوه عملکرد فعلی موازیسازی به شرح زیر است. برای هر جفتسازی وجه بهصورت مجزا، درخت جستجوی متناظر به زیردرختهای کوچکتر متعددی (یعنی زیرجستجوها) شکسته میشود، که هر یک از آنها میتواند به طور مستقل توسط ریسههای مختلف پردازش شود.
این موضوع دو پیامد دارد:
- •
- گزینه --threads نمیتواند همراه با --genpairs استفاده شود، زیرا جفتسازیهای وجه همچنان به صورت ترتیبی (سریال) شمارهگذاری میشوند.
- •
- خروجیای که هر جفتسازی وجه را در کنسول مینویسد به طرز فریبندهای سریع به نظر خواهد رسید. این به این دلیل است که هر جفتسازی وجه به محض ساخته شدن توسط ریسه اصلی نوشته میشود و زیرجستجوهای پرشمار آن در صفی قرار میگیرند تا ریسههای دیگر آنها را پردازش کنند در حالی که ریسه اصلی به سراغ جفتسازی وجه بعدی میرود. پس از نمایش تمام جفتسازیها در خروجی، ممکن است همچنان با انتظار طولانی مواجه شوید در حالی که ریسهها در کنار یکدیگر برای به پایان رساندن صفِ زیرجستجوهای انباشتهشده تلاش میکنند.
- -v, --version
- نمایش نسخه مورد استفاده Regina و خروج فوری.
- -?, --help
- نمایش اطلاعات مختصر درباره نحوه استفاده و خروج فوری.
مثالها (EXAMPLES)
دستور زیر سرشماری تمام مثلثبندیهای ۳-منیفلد بسته و جهتناپذیر با ۳ چهاروجهی را تشکیل داده و نتایج را در فایل results.rga قرار میدهد. برای اطمینان از بسته بودن مثلثبندیها، از گزینههای -i (بدون مثلثهای مرزی) و -f (بدون رأسهای ایدهآل) استفاده میکنیم.
example$ tricensus -t 3 -nif results.rga Starting census generation... 0:1 0:0 1:0 1:1 | 0:2 0:3 2:0 2:1 | 1:2 1:3 2:3 2:2 0:1 0:0 1:0 2:0 | 0:2 1:2 1:1 2:1 | 0:3 1:3 2:3 2:2 0:1 0:0 1:0 2:0 | 0:2 2:1 2:2 2:3 | 0:3 1:1 1:2 1:3 1:0 1:1 2:0 2:1 | 0:0 0:1 2:2 2:3 | 0:2 0:3 1:2 1:3 Finished. Total triangulations: 5 example$
دستور زیر سرشماری مثلثبندیهای ۳-منیفلد بسته و جهتپذیر با ۴ چهاروجهی را تشکیل میدهد، جایی که ساخت سرشماری برای مثلثبندیهای کمینه اول بهینهسازی شده است. اگرچه تمام مثلثبندیهای کمینه اول گنجانده خواهند شد، اما ممکن است برخی مثلثبندیهای غیراول یا غیرکمینه نیز در این سرشماری وجود داشته باشند.
example$ tricensus -t 4 -oifM results.rga Starting census generation... 0:1 0:0 1:0 1:1 | 0:2 0:3 2:0 2:1 | 1:2 1:3 3:0 3:1 | 2:2 ... 0:1 0:0 1:0 1:1 | 0:2 0:3 2:0 3:0 | 1:2 2:2 2:1 3:1 | 1:3 ... ... 1:0 1:1 2:0 3:0 | 0:0 0:1 2:1 3:1 | 0:2 1:2 3:2 3:3 | 0:3 ... Finished. Total triangulations: 17 example$
دستور زیر تمام جفتسازیهای وجه را برای سرشماری مثلثبندیهای ۳-منیفلد با ۵ چهاروجهی که در آن همه مثلثبندیها دقیقاً دارای دو مثلث مرزی هستند، تولید میکند. جفتسازیهای وجه در pairings.txt نوشته خواهند شد، که پس از آن میتوان آنها را تقسیم کرده و برای پردازش در زمانی دیگر توزیع کرد.
example$ tricensus --genpairs -t 5 -B 2 pairings.txt Total face pairings: 118 example$
جفتسازیهای وجه تولیدشده در مثال قبلی را میتوان به شرح زیر به یک سرشماری کامل از تمام مثلثبندیهای ۳-منیفلد با پنج چهاروجهی، دقیقاً دو مثلث مرزی و بدون هیچ رأس ایدهآلی تبدیل و بسط داد. تعداد چهاروجهیها و مثلثهای مرزی پیشتر در دستور قبلی مشخص شده بودند و نمیتوانند در اینجا ارائه شوند. جفتسازیهای وجه از pairings.txt خوانده شده و سرشماری نهایی در results.rga نوشته خواهد شد.
example$ tricensus --usepairs -f results.rga < pairings.txt Trying face pairings... 0:1 0:0 1:0 1:1 | 0:2 0:3 2:0 2:1 | 1:2 1:3 3:0 3:1 | 2:2 ... 0:1 0:0 1:0 1:1 | 0:2 0:3 2:0 2:1 | 1:2 1:3 3:0 3:1 | 2:2 ... ... ... (running through all 118 face pairings) ... 1:0 2:0 3:0 4:0 | 0:0 2:1 3:1 4:1 | 0:1 1:1 3:2 4:2 | 0:2 ... Total triangulations: 5817 example$
اگر یک بستهٔ برنامهٔ کشیدنی و رهاکردنی (drag-and-drop app bundle) را دریافت کردهاید، این ابزار درون آن قرار دارد. اگر Regina را به پوشهٔ اصلی Applications منتقل کردهاید، میتوانید آن را به صورت زیر اجرا کنید: /Applications/Regina.app/Contents/MacOS/tricensus.
کاربران ویندوز (WINDOWS USERS)
ابزارهای خط فرمان در زیر دایرکتوری Program Files نصب میشوند؛ در برخی سیستمها این دایرکتوری Program Files (x86) نامیده میشود. میتوانید این ابزار را با اجرای مسیر زیر اجرا کنید: c:\Program Files\Regina\Regina 7.4.1\bin\tricensus.exe.
همچنین ببینید (SEE ALSO)
censuslookup, sigcensus, regina-gui.
نویسندگان (AUTHORS)
این ابزار توسط Benjamin Burton <bab@maths.uq.edu.au> نوشته شده است. افراد بسیاری در توسعهٔ Regina مشارکت داشتهاند؛ برای مشاهدهٔ فهرست کامل دستاندرکاران، راهنمای کاربران را ببینید.
| 25 August 2025 |