Lewati ke konten utama

Latihan 19.9 Latihan Sage

1.

Gunakan R = Posets.RandomPoset(30,0.05) untuk menyusun poset acak. Gunakan R.plot() untuk memperoleh gambaran tentang objek yang telah Anda bangun.
  1. Ilustrasikan penggunaan metode poset berikut: .is_lequal(), .is_less_than(), .is_gequal(), dan .is_greater_than() untuk menentukan apakah dua unsur tertentu (pilihan Anda sendiri) berelasi atau tidak dapat dibandingkan.
  2. Gunakan .minimal_elements() dan .maximal_elements() untuk mencari unsur minimal dan maksimal dari poset Anda.
  3. Gunakan LatticePoset(R) untuk memeriksa apakah poset R merupakan latis dengan mencoba mengonversinya menjadi latis.
  4. Carilah suatu perluasan linear dari poset Anda. Pastikan bahwa setiap pasangan unsur yang dapat dibandingkan dalam poset juga dapat dibandingkan dengan cara yang sama dalam perluasan linear tersebut.

2.

Susunlah poset pada pembagi-pembagi positif dari \(72=2^3\cdot 3^2\) dengan keterbagian sebagai relasinya, lalu konversikan poset tersebut menjadi latis.
  1. Tentukan unsur satu dan unsur nol dengan menggunakan .top() dan .bottom().
  2. Tentukan semua pasangan unsur latis yang saling berkomplemen tanpa menggunakan metode .complement(), melainkan hanya dengan metode .meet() dan .join(). Nilai tambahan jika Anda dapat menampilkan setiap pasangan tepat satu kali.
  3. Tentukan apakah latis tersebut distributif dengan hanya menggunakan metode .meet() dan .join(), bukan metode .is_distributive().

3.

Susunlah beberapa latis berlian tertentu dengan Posets.DiamondPoset(n) sambil mengubah nilai n. Setelah Anda merasa memiliki bukti empiris yang cukup, berikan jawaban beserta alasannya untuk pertanyaan-pertanyaan berikut bagi nilai umum dari \(n\text{,}\) berdasarkan pengamatan dari eksperimen Anda dengan Sage.
  1. Unsur mana yang memiliki komplemen dan mana yang tidak, serta mengapa?
  2. Bacalah dokumentasi metode .antichains() untuk mempelajari apa itu antirantai. Berapa banyak antirantai yang ada?
  3. Apakah latis tersebut distributif?

4.

Gunakan Posets.BooleanLattice(4) untuk menyusun suatu contoh aljabar Boolean prototipikal dengan \(16\) unsur (i.e., semua himpunan bagian dari suatu himpunan berunsur \(4\)).
Kemudian gunakan Posets.IntegerCompositions(5) untuk menyusun poset dengan \(16\) unsur berupa komposisi dari bilangan bulat \(5\text{.}\) Di atas telah kita lihat bahwa latis komposisi bilangan bulat bersifat distributif dan berkomplemen, sehingga merupakan aljabar Boolean. Berdasarkan Teorema 19.2.9, kita dapat menyimpulkan bahwa kedua aljabar Boolean ini isomorfik.
Gunakan metode .plot() untuk melihat kesamaannya secara visual. Kemudian gunakan metode .hasse_diagram() pada setiap poset untuk memperoleh graf berarah (yang juga dapat Anda plot, meskipun penyematannya pada bidang mungkin tidak terlalu informatif). Gunakan metode graf .is_isomorphic() untuk melihat bahwa kedua diagram Hasse tersebut benar-benar “sama.”

5.

(Lanjut) Untuk pertanyaan sebelumnya, susunlah suatu isomorfisma eksplisit antara kedua aljabar Boolean. Isomorfisma ini berupa fungsi bijektif (yang disusun dengan perintah def) yang mengonversi komposisi menjadi himpunan (atau, jika Anda memilih demikian, himpunan menjadi komposisi) dan mempertahankan operasi temu serta gabung. Anda dapat menguji dan mengilustrasikan fungsi tersebut melalui interaksinya dengan unsur-unsur tertentu yang dievaluasi dalam operasi temu dan gabung, sebagaimana dijelaskan dalam definisi isomorfisma aljabar Boolean.