cleaning up, documenting stuff
This commit is contained in:
parent
558bedf9b1
commit
8074694ff8
10 changed files with 1593 additions and 114186 deletions
1
fractal_dimension/bai_finch_rust/.gitignore
vendored
1
fractal_dimension/bai_finch_rust/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
|||
/target
|
||||
352
fractal_dimension/bai_finch_rust/Cargo.lock
generated
352
fractal_dimension/bai_finch_rust/Cargo.lock
generated
|
|
@ -1,352 +0,0 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "approx"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
|
||||
|
||||
[[package]]
|
||||
name = "bai_finch"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"nalgebra",
|
||||
"num",
|
||||
"num-complex 0.3.1",
|
||||
"rayon",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-channel"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-deque"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-epoch"
|
||||
version = "0.9.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
"lazy_static",
|
||||
"memoffset",
|
||||
"scopeguard",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-utils"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"lazy_static",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.1.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6"
|
||||
|
||||
[[package]]
|
||||
name = "matrixmultiply"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a8a15b776d9dfaecd44b03c5828c2199cddff5247215858aac14624f8d6b741"
|
||||
dependencies = [
|
||||
"rawpointer",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nalgebra"
|
||||
version = "0.27.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120"
|
||||
dependencies = [
|
||||
"approx",
|
||||
"matrixmultiply",
|
||||
"nalgebra-macros",
|
||||
"num-complex 0.4.0",
|
||||
"num-rational 0.4.0",
|
||||
"num-traits",
|
||||
"simba",
|
||||
"typenum",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nalgebra-macros"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f"
|
||||
dependencies = [
|
||||
"num-bigint",
|
||||
"num-complex 0.3.1",
|
||||
"num-integer",
|
||||
"num-iter",
|
||||
"num-rational 0.3.2",
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-bigint"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7d0a3d5e207573f948a9e5376662aa743a2ea13f7c50a554d7af443a73fbfeba"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"num-integer",
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-complex"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-complex"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-integer"
|
||||
version = "0.1.44"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-iter"
|
||||
version = "0.1.42"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"num-integer",
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-rational"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"num-bigint",
|
||||
"num-integer",
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-rational"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"num-integer",
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_cpus"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "paste"
|
||||
version = "1.0.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rawpointer"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
|
||||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
version = "1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"crossbeam-deque",
|
||||
"either",
|
||||
"rayon-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rayon-core"
|
||||
version = "1.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e"
|
||||
dependencies = [
|
||||
"crossbeam-channel",
|
||||
"crossbeam-deque",
|
||||
"crossbeam-utils",
|
||||
"lazy_static",
|
||||
"num_cpus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "scopeguard"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
||||
|
||||
[[package]]
|
||||
name = "simba"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c"
|
||||
dependencies = [
|
||||
"approx",
|
||||
"num-complex 0.4.0",
|
||||
"num-traits",
|
||||
"paste",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.73"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typenum"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
[package]
|
||||
name = "bai_finch"
|
||||
version = "0.1.0"
|
||||
authors = ["William Ball <wball1@swarthmore.edu>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
num = "0.3.1"
|
||||
nalgebra = "0.27.1"
|
||||
num-complex = "0.3.1"
|
||||
rayon = "1.5.1"
|
||||
|
||||
[profile.release]
|
||||
debug = true
|
||||
|
|
@ -1,271 +0,0 @@
|
|||
#![allow(dead_code)]
|
||||
|
||||
use num_complex::Complex64;
|
||||
|
||||
type F = f64;
|
||||
type Matrix2x2 = nalgebra::SMatrix<Complex64, 2, 2>;
|
||||
type MatrixBig = nalgebra::DMatrix<Complex64>;
|
||||
type MatrixBigr = nalgebra::DMatrix<f64>;
|
||||
|
||||
const G: Matrix2x2 = Matrix2x2::new(
|
||||
Complex64::new(2.0 / 12.0, -2.0 / 12.0),
|
||||
Complex64::new(-1.0 / 12.0, -5.0 / 12.0),
|
||||
Complex64::new(4.0 / 12.0, -4.0 / 12.0),
|
||||
Complex64::new(-2.0 / 12.0, -10.0 / 12.0),
|
||||
);
|
||||
|
||||
const R: Matrix2x2 = Matrix2x2::new(
|
||||
Complex64::new(-6.0 / 12.0, 8.0 / 12.0),
|
||||
Complex64::new(0.0, 11.0 / 12.0),
|
||||
Complex64::new(0.0, 4.0 / 12.0),
|
||||
Complex64::new(-6.0 / 12.0, -8.0 / 12.0),
|
||||
);
|
||||
|
||||
const NC: usize = 5;
|
||||
const K0: i32 = 100;
|
||||
const LC: usize = 3;
|
||||
const NC2: usize = NC * NC;
|
||||
const UPPER_BOUND: i32 = 10_000;
|
||||
|
||||
fn fancy_l(q: f64) -> MatrixBigr {
|
||||
let mut fancy_l = MatrixBigr::zeros(NC2, NC2);
|
||||
for m in 0..NC {
|
||||
for n in 0..NC {
|
||||
for r in 0..NC {
|
||||
for s in 0..NC {
|
||||
if m <= n {
|
||||
let mut sum_m = Complex64::new(0.0, 0.0);
|
||||
for k in 1..K0 {
|
||||
sum_m += normal_m(k, q, n as i32, s as i32)
|
||||
* normal_m(k as i32, q, m as i32, r as i32).conj();
|
||||
}
|
||||
let sum_f = (0..=LC)
|
||||
.map(|l: usize| -> Complex64 {
|
||||
zeta(l as f64 + 2.0 * q, K0)
|
||||
* (0..=l)
|
||||
.map(|lp| {
|
||||
normal_f(q, m as i32, r as i32, (l - lp) as i32)
|
||||
* normal_f(q, n as i32, s as i32, lp as i32).conj()
|
||||
})
|
||||
.sum::<Complex64>()
|
||||
})
|
||||
.sum::<Complex64>();
|
||||
fancy_l[(m * NC + n, r * NC + s)] = 2.0 * (sum_m.re + sum_f.re);
|
||||
} else {
|
||||
fancy_l[(m * NC + n, r * NC + s)] = fancy_l[(n * NC + m, s * NC + r)];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fancy_l
|
||||
// MatrixBigr::from_diagonal_element(NC2, NC2, 2.0) * (fancy_m(q) + fancy_f(q)).map(|z| z.re)
|
||||
}
|
||||
|
||||
fn integral_choose(n: i32, k: i32) -> f64 {
|
||||
match k.cmp(&0) {
|
||||
std::cmp::Ordering::Less => 0.0,
|
||||
std::cmp::Ordering::Equal => 1.0,
|
||||
std::cmp::Ordering::Greater => (0..k).map(|i| (n - i) as f64 / (k - i) as f64).product(),
|
||||
}
|
||||
}
|
||||
|
||||
fn non_integral_choose(q: f64, k: i32) -> f64 {
|
||||
match k.cmp(&0) {
|
||||
std::cmp::Ordering::Less => 0.0,
|
||||
std::cmp::Ordering::Equal => 1.0,
|
||||
std::cmp::Ordering::Greater => (0..k).map(|i| (q - i as f64) / (k - i) as f64).product(),
|
||||
}
|
||||
}
|
||||
|
||||
fn normal_f(q: f64, n: i32, s: i32, l: i32) -> Complex64 {
|
||||
let r11 = R[(0, 0)];
|
||||
let r12 = R[(0, 1)];
|
||||
let r21 = R[(1, 0)];
|
||||
let r22 = R[(1, 1)];
|
||||
|
||||
let g11 = G[(0, 0)];
|
||||
let g12 = G[(0, 1)];
|
||||
let g21 = G[(1, 0)];
|
||||
let g22 = G[(1, 1)];
|
||||
(0..=s)
|
||||
.into_iter()
|
||||
.map(|j: i32| -> Complex64 {
|
||||
non_integral_choose(-n as f64 - q, j)
|
||||
* integral_choose(n, s - j)
|
||||
* (0..=j)
|
||||
.map(|l1: i32| -> Complex64 {
|
||||
(0..=(s - j))
|
||||
.map(|l3: i32| -> Complex64 {
|
||||
(0..=(n - s + j))
|
||||
.map(|l4: i32| -> Complex64 {
|
||||
integral_choose(j, l1)
|
||||
* non_integral_choose(
|
||||
-n as f64 - q - j as f64,
|
||||
l - l1 - l3 - l4,
|
||||
)
|
||||
* integral_choose(s - j, l3)
|
||||
* integral_choose(n - s + j, l4)
|
||||
* r21.powi(l1)
|
||||
* r22.powi(l - l1 - l3 - l4)
|
||||
* r11.powi(l3)
|
||||
* r12.powi(l4)
|
||||
* g21.powi(j - l1)
|
||||
* g22.powf(
|
||||
-n as f64 - q - j as f64 - l as f64
|
||||
+ l1 as f64
|
||||
+ l3 as f64
|
||||
+ l4 as f64,
|
||||
)
|
||||
* g11.powi(s - j - l3)
|
||||
* g12.powi(n - s + j - l4)
|
||||
})
|
||||
.sum()
|
||||
})
|
||||
.sum()
|
||||
})
|
||||
.sum::<Complex64>()
|
||||
})
|
||||
.sum()
|
||||
}
|
||||
|
||||
fn zeta(s: f64, k0: i32) -> f64 {
|
||||
(k0..=UPPER_BOUND)
|
||||
.into_iter()
|
||||
.map(|j| (j as f64).powf(-s))
|
||||
.sum::<f64>()
|
||||
- (UPPER_BOUND as f64).powf(1.0 - s) / (1.0 - s)
|
||||
}
|
||||
|
||||
fn fancy_f(q: f64) -> MatrixBig {
|
||||
let mut fancy_f = MatrixBig::zeros(NC2, NC2);
|
||||
for m in 0..NC {
|
||||
for n in 0..NC {
|
||||
for r in 0..NC {
|
||||
for s in 0..NC {
|
||||
if m <= n {
|
||||
fancy_f[(m * NC + n, r * NC + s)] = (0..=LC)
|
||||
.map(|l: usize| -> Complex64 {
|
||||
zeta(l as f64 + 2.0 * q, K0)
|
||||
* (0..=l)
|
||||
.map(|lp| {
|
||||
normal_f(q, m as i32, r as i32, (l - lp) as i32)
|
||||
* normal_f(q, n as i32, s as i32, lp as i32).conj()
|
||||
})
|
||||
.sum::<Complex64>()
|
||||
})
|
||||
.sum::<Complex64>();
|
||||
} else {
|
||||
fancy_f[(m * NC + n, r * NC + s)] =
|
||||
fancy_f[(n * NC + m, s * NC + r)].conj();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fancy_f
|
||||
}
|
||||
|
||||
fn normal_m(k: i32, q: f64, n: i32, s: i32) -> Complex64 {
|
||||
let ak = R + Matrix2x2::from_diagonal_element(Complex64::new(k as f64, 0.0)) * G;
|
||||
let a11 = ak[(0, 0)];
|
||||
let a12 = ak[(0, 1)];
|
||||
let a21 = ak[(1, 0)];
|
||||
let a22 = ak[(1, 1)];
|
||||
|
||||
(0..=s)
|
||||
.into_iter()
|
||||
.map(|j| {
|
||||
non_integral_choose(-n as f64 - q, j)
|
||||
* integral_choose(n, s - j)
|
||||
* a21.powi(j)
|
||||
* a22.powf(-n as f64 - q - j as f64)
|
||||
* a11.powi(s - j)
|
||||
* a12.powi(n - s + j)
|
||||
})
|
||||
.sum()
|
||||
}
|
||||
|
||||
fn fancy_m(q: f64) -> MatrixBig {
|
||||
let mut fancy_m = MatrixBig::zeros(NC2, NC2);
|
||||
for m in 0..NC {
|
||||
for n in 0..NC {
|
||||
for r in 0..NC {
|
||||
for s in 0..NC {
|
||||
if m <= n {
|
||||
let mut sum = Complex64::new(0.0, 0.0);
|
||||
for k in 1..K0 {
|
||||
sum += normal_m(k, q, n as i32, s as i32)
|
||||
* normal_m(k as i32, q, m as i32, r as i32).conj();
|
||||
}
|
||||
fancy_m[(m * NC + n, r * NC + s)] = sum;
|
||||
} else {
|
||||
fancy_m[(m * NC + n, r * NC + s)] =
|
||||
fancy_m[(n * NC + m, s * NC + r)].conj();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fancy_m
|
||||
}
|
||||
|
||||
fn secant_method(f: fn(F) -> F, target: F, x0: F, x1: F, accuracy: F, iterations: usize) -> F {
|
||||
let mut x0 = x0;
|
||||
let mut x1 = x1;
|
||||
let mut y0 = f(x0);
|
||||
let mut y1 = f(x1);
|
||||
let mut count = 0;
|
||||
|
||||
println!("f({}) =\t{}", x1, y1);
|
||||
while (y1 - target).abs() >= accuracy && count < iterations {
|
||||
let new_x = x0 - (y0 - target) * (x1 - x0) / (y1 - y0);
|
||||
x0 = x1;
|
||||
x1 = new_x;
|
||||
y0 = y1;
|
||||
y1 = f(x1);
|
||||
println!("f({}) =\t{}", x1, y1);
|
||||
count += 1;
|
||||
}
|
||||
x0
|
||||
}
|
||||
|
||||
fn power_method(
|
||||
vec: nalgebra::DVector<f64>,
|
||||
mat: nalgebra::DMatrix<f64>,
|
||||
iterations: usize,
|
||||
tolerance: f64,
|
||||
) -> f64 {
|
||||
let mut previous_entry = vec[0];
|
||||
let mut previous_val = 0f64;
|
||||
let mut current = mat.clone() * vec;
|
||||
let mut current_val = current[0] / previous_entry;
|
||||
let mut count = 0;
|
||||
while count < iterations && (current_val - previous_val).abs() > tolerance {
|
||||
previous_val = current_val;
|
||||
previous_entry = current[0];
|
||||
current = mat.clone() * current;
|
||||
current_val = current[0] / previous_entry;
|
||||
count += 1;
|
||||
}
|
||||
|
||||
println!("found eigenvalue {} in {} iterations", current_val, count);
|
||||
current_val
|
||||
}
|
||||
|
||||
fn test(x: f64) -> f64 {
|
||||
x.cos() - x
|
||||
}
|
||||
|
||||
fn lambda(q: f64) -> f64 {
|
||||
let lq = fancy_l(q);
|
||||
let mut phi0 = nalgebra::DVector::zeros(NC2);
|
||||
phi0[0] = 1.0;
|
||||
power_method(phi0, lq, 50, std::f64::EPSILON)
|
||||
}
|
||||
|
||||
fn main() {
|
||||
// secant_method(lambda, 1.0, 1.3, 1.31, f64::EPSILON, 100);
|
||||
// secant_method(test, 0.0, 0.0, 1.0, f64::EPSILON, 100);
|
||||
println!("{}", normal_m(5, 1.3, 3, 3));
|
||||
}
|
||||
|
|
@ -10,14 +10,35 @@
|
|||
NotebookFileLineBreakTest
|
||||
NotebookFileLineBreakTest
|
||||
NotebookDataPosition[ 158, 7]
|
||||
NotebookDataLength[ 356704, 8682]
|
||||
NotebookOptionsPosition[ 352872, 8631]
|
||||
NotebookOutlinePosition[ 353362, 8649]
|
||||
CellTagsIndexPosition[ 353319, 8646]
|
||||
NotebookDataLength[ 359067, 8756]
|
||||
NotebookOptionsPosition[ 353340, 8675]
|
||||
NotebookOutlinePosition[ 353830, 8693]
|
||||
CellTagsIndexPosition[ 353787, 8690]
|
||||
WindowFrame->Normal*)
|
||||
|
||||
(* Beginning of Notebook Content *)
|
||||
Notebook[{
|
||||
|
||||
Cell[CellGroupData[{
|
||||
Cell["Handy functions", "Section",
|
||||
CellChangeTimes->{{3.8646830510411797`*^9,
|
||||
3.864683053091597*^9}},ExpressionUUID->"d9d62207-947e-4a55-994c-\
|
||||
be968ba39c8b"],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell["Quadratic forms and linear relations", "Subsection",
|
||||
CellChangeTimes->{{3.8646832235938597`*^9,
|
||||
3.864683227491637*^9}},ExpressionUUID->"ffcc14d7-54b2-406a-8618-\
|
||||
9531332769aa"],
|
||||
|
||||
Cell["\<\
|
||||
Gets a list of indices of the pivots of a matrix in reduced echelon form.\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.8646834675398283`*^9, 3.864683486796194*^9},
|
||||
3.864683635933962*^9},ExpressionUUID->"ac72a206-5663-4fb8-9a75-\
|
||||
6d188f4c76e1"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"pivots", "[", "A_", "]"}], ":=",
|
||||
|
|
@ -29,6 +50,30 @@ Cell[BoxData[
|
|||
3.831194930347896*^9, 3.831194932848599*^9}},
|
||||
CellLabel->"In[1]:=",ExpressionUUID->"e1bc883b-2413-4a7d-abe0-4a19eb3f78fd"],
|
||||
|
||||
Cell[TextData[{
|
||||
"Constructs the matrix we\[CloseCurlyQuote]ve been calling ",
|
||||
Cell[BoxData[
|
||||
FormBox[
|
||||
TemplateBox[<|"boxes" -> FormBox[
|
||||
StyleBox["P", "TI"], TraditionalForm], "errors" -> {}, "input" -> "P",
|
||||
"state" -> "Boxes"|>,
|
||||
"TeXAssistantTemplate"], TraditionalForm]],ExpressionUUID->
|
||||
"b6d67594-7399-484f-ab24-507fe2e7cb7d"],
|
||||
" of any dimension. The most useful one by far is the ",
|
||||
Cell[BoxData[
|
||||
FormBox[
|
||||
TemplateBox[<|"boxes" -> FormBox[
|
||||
RowBox[{"4", "\[Cross]", "4"}], TraditionalForm], "errors" -> {},
|
||||
"input" -> "4\\times 4", "state" -> "Boxes"|>,
|
||||
"TeXAssistantTemplate"], TraditionalForm]],ExpressionUUID->
|
||||
"a290e079-0f52-414c-9475-c308d5277d84"],
|
||||
" one."
|
||||
}], "Text",
|
||||
CellChangeTimes->{{3.864683498626568*^9, 3.864683509251071*^9}, {
|
||||
3.864683595451868*^9, 3.864683668047246*^9}, {3.864731506766433*^9,
|
||||
3.86473166070006*^9}},ExpressionUUID->"87b40a25-ff96-4305-b802-\
|
||||
220d3c3714ee"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"pMatrix", "[", "n_", "]"}], ":=",
|
||||
|
|
@ -56,7 +101,15 @@ Cell[BoxData[
|
|||
CellChangeTimes->{{3.831107414093502*^9, 3.83110748040809*^9}, {
|
||||
3.831107557920609*^9, 3.8311075805621977`*^9}, {3.8311076270925627`*^9,
|
||||
3.831107722019619*^9}, {3.83468833600141*^9, 3.8346883410498962`*^9}},
|
||||
CellLabel->"In[2]:=",ExpressionUUID->"025b5df5-f2a6-4cee-a294-e76ee16e74d4"],
|
||||
CellLabel->"In[9]:=",ExpressionUUID->"025b5df5-f2a6-4cee-a294-e76ee16e74d4"],
|
||||
|
||||
Cell["\<\
|
||||
Computes the gram matrix given a matrix whose columns are circles in a tuple \
|
||||
in abbc coordinates.\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.86468368363731*^9,
|
||||
3.8646837180951366`*^9}},ExpressionUUID->"03438c1b-508d-4333-9054-\
|
||||
9967574ef3d3"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
|
|
@ -71,6 +124,15 @@ Cell[BoxData[
|
|||
3.831110193792735*^9}},
|
||||
CellLabel->"In[3]:=",ExpressionUUID->"54cc4a6c-be37-4091-ac21-3dfd11eb53ea"],
|
||||
|
||||
Cell["\<\
|
||||
Computes the linear relations matrix given the gram matrix. This matrix maps \
|
||||
vectors of just four curvatures into the full tuple.\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.864683730604188*^9, 3.864683747937598*^9}, {
|
||||
3.8646837997502403`*^9,
|
||||
3.8646838957084618`*^9}},ExpressionUUID->"b44fae9e-11fd-4fea-9594-\
|
||||
87a6c311bec8"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"linearRelationsMatrix", "[", "G_", "]"}], ":=",
|
||||
|
|
@ -82,7 +144,14 @@ Cell[BoxData[
|
|||
RowBox[{"MatrixRank", "[", "G", "]"}]}], "]"}], "]"}], "//",
|
||||
"Transpose"}]}]], "Input",
|
||||
CellChangeTimes->{{3.831109396818718*^9, 3.831109426888632*^9}},
|
||||
CellLabel->"In[4]:=",ExpressionUUID->"d3298122-6e10-4115-8e61-a949acba4e08"],
|
||||
CellLabel->"In[3]:=",ExpressionUUID->"d3298122-6e10-4115-8e61-a949acba4e08"],
|
||||
|
||||
Cell["\<\
|
||||
Converts the linear relations matrix into more human-readable equations.\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.8646839148506317`*^9,
|
||||
3.86468394900528*^9}},ExpressionUUID->"551afa7d-856b-46fe-8670-\
|
||||
51fd64eff7cc"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
|
|
@ -118,7 +187,12 @@ Cell[BoxData[
|
|||
3.831194680087949*^9, 3.831194680680228*^9}, {3.831194956352386*^9,
|
||||
3.831195002875142*^9}, {3.831205178380069*^9, 3.831205187846324*^9},
|
||||
3.834688343633176*^9},
|
||||
CellLabel->"In[5]:=",ExpressionUUID->"4e2a5664-aeb5-4dfb-88fb-7e7839ba2141"],
|
||||
CellLabel->"In[11]:=",ExpressionUUID->"4e2a5664-aeb5-4dfb-88fb-7e7839ba2141"],
|
||||
|
||||
Cell["Same but from a tuple.", "Text",
|
||||
CellChangeTimes->{{3.86468395374198*^9,
|
||||
3.864683987995091*^9}},ExpressionUUID->"7914b40a-8924-4161-b52d-\
|
||||
1ca82c95c0c4"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
|
|
@ -130,6 +204,15 @@ Cell[BoxData[
|
|||
3.831206070230084*^9},
|
||||
CellLabel->"In[6]:=",ExpressionUUID->"c9a1b25a-8cb3-40d1-ac83-1d2405398934"],
|
||||
|
||||
Cell["\<\
|
||||
A left inverse for the linear relations matrix (i.e. sends a full tuple to \
|
||||
just the four \[OpenCurlyDoubleQuote]special\[CloseCurlyDoubleQuote] linearly \
|
||||
independent curvatures).\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.864684056842209*^9,
|
||||
3.864684121412198*^9}},ExpressionUUID->"777e5618-fae9-4bb5-b529-\
|
||||
4f4902364898"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"inverseLinearRelations", "[", "G_", "]"}], ":=",
|
||||
|
|
@ -163,7 +246,24 @@ Cell[BoxData[
|
|||
"]"}]}], ")"}]}], "]"}]}]}]], "Input",
|
||||
CellChangeTimes->{{3.831194278291965*^9, 3.831194298458626*^9},
|
||||
3.831195204231324*^9},
|
||||
CellLabel->"In[7]:=",ExpressionUUID->"30b57c08-a123-4e7d-9b0a-b512fcfecee8"],
|
||||
CellLabel->"In[13]:=",ExpressionUUID->"30b57c08-a123-4e7d-9b0a-b512fcfecee8"],
|
||||
|
||||
Cell[TextData[{
|
||||
"Various functions to construct a quadratic form associated with a packing \
|
||||
from the root tuple, ",
|
||||
Cell[BoxData[
|
||||
FormBox[
|
||||
TemplateBox[<|"boxes" -> FormBox[
|
||||
StyleBox["G", "TI"], TraditionalForm], "errors" -> {}, "input" -> "G",
|
||||
"state" -> "Boxes"|>,
|
||||
"TeXAssistantTemplate"], TraditionalForm]],ExpressionUUID->
|
||||
"b2c98825-e401-425d-b550-e32292e83fe4"],
|
||||
", etc."
|
||||
}], "Text",
|
||||
CellChangeTimes->{{3.864684144417095*^9, 3.864684183254436*^9}, {
|
||||
3.8647314865256433`*^9,
|
||||
3.86473148733366*^9}},ExpressionUUID->"c96de117-3c03-4391-9112-\
|
||||
59dc2aa87e38"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
|
|
@ -243,7 +343,22 @@ Cell[BoxData[
|
|||
RowBox[{"G", ",", "L"}], "]"}], ",", "L"}], "]"}]}], "]"}]}]], "Input",\
|
||||
|
||||
CellChangeTimes->{{3.8312049925958433`*^9, 3.8312050200596113`*^9}},
|
||||
CellLabel->"In[11]:=",ExpressionUUID->"810323e6-91cb-44f2-ad55-323fbec422eb"],
|
||||
CellLabel->"In[11]:=",ExpressionUUID->"810323e6-91cb-44f2-ad55-323fbec422eb"]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell["Graph utilities", "Subsection",
|
||||
CellChangeTimes->{{3.86468325145858*^9,
|
||||
3.864683253669279*^9}},ExpressionUUID->"30f99b83-ea38-48b2-b913-\
|
||||
e9a970532db2"],
|
||||
|
||||
Cell["\<\
|
||||
Given G, returns a planar Mathematica graph representing the tangencies\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.864684194015627*^9,
|
||||
3.864684215161499*^9}},ExpressionUUID->"4192620c-85de-4442-8b77-\
|
||||
a4f0439b11b4"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
|
|
@ -266,6 +381,24 @@ Cell[BoxData[
|
|||
3.831584545556731*^9, 3.831584563248426*^9}},
|
||||
CellLabel->"In[12]:=",ExpressionUUID->"948959db-c926-4458-9e45-ef7f3fb99ba5"],
|
||||
|
||||
Cell[TextData[{
|
||||
"A series of functions stolen from StackOverflow that find the faces of a \
|
||||
planar graph (which are unique in our case, since the graph is always the \
|
||||
vertex graph of a polyhedron). Usefully, the indices are guaranteed to line \
|
||||
up with ",
|
||||
Cell[BoxData[
|
||||
FormBox[
|
||||
TemplateBox[<|"boxes" -> FormBox[
|
||||
StyleBox["G", "TI"], TraditionalForm], "errors" -> {}, "input" -> "G",
|
||||
"state" -> "Boxes"|>,
|
||||
"TeXAssistantTemplate"], TraditionalForm]],ExpressionUUID->
|
||||
"6d8e0958-42ce-4301-a0a0-b98a052dbdf6"]
|
||||
}], "Text",
|
||||
CellChangeTimes->{{3.8646842229863787`*^9, 3.864684357501741*^9}, {
|
||||
3.864731477969768*^9,
|
||||
3.864731478614419*^9}},ExpressionUUID->"652feb5a-94e0-4b51-96b7-\
|
||||
66625315f8ef"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
|
|
@ -312,7 +445,7 @@ Cell[BoxData[{
|
|||
"\[IndentingNewLine]",
|
||||
RowBox[{"FindFace", "[",
|
||||
RowBox[{"g", ",", "emb"}], "]"}]}]}], "]"}]}], ";"}],
|
||||
"\[IndentingNewLine]"}], "\n",
|
||||
"\n"}], "\[IndentingNewLine]",
|
||||
RowBox[{
|
||||
RowBox[{"FindFace", "[",
|
||||
RowBox[{
|
||||
|
|
@ -403,7 +536,26 @@ Cell[BoxData[{
|
|||
CellChangeTimes->{{3.8312108953940573`*^9, 3.831210895411563*^9},
|
||||
3.8312119634327393`*^9, 3.831542420732052*^9, {3.834688353349917*^9,
|
||||
3.8346883534550037`*^9}},
|
||||
CellLabel->"In[14]:=",ExpressionUUID->"5cb4f612-3c02-42ac-ad57-4fb2daf3366b"],
|
||||
CellLabel->"In[14]:=",ExpressionUUID->"5cb4f612-3c02-42ac-ad57-4fb2daf3366b"]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell["Algebraic and Geometric Generators", "Subsection",
|
||||
CellChangeTimes->{{3.864683268299602*^9, 3.864683270300555*^9}, {
|
||||
3.8646833152616262`*^9,
|
||||
3.8646833208091173`*^9}},ExpressionUUID->"a54eae0a-eac8-4408-bb48-\
|
||||
69eb10a7147f"],
|
||||
|
||||
Cell["\<\
|
||||
These three functions find the generators of the algebraic Apollonian group \
|
||||
of a polyhedral packing. These yield different matrices from the process \
|
||||
discussed in our first paper, but they still work.\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.864684365608055*^9, 3.864684397908317*^9}, {
|
||||
3.8646844317958393`*^9,
|
||||
3.864684510105069*^9}},ExpressionUUID->"6773c37a-4ed3-4315-9304-\
|
||||
64d7ebb905b7"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
|
|
@ -845,6 +997,16 @@ Cell[BoxData[
|
|||
3.833982029038528*^9},
|
||||
CellLabel->"In[18]:=",ExpressionUUID->"bd52b017-bd99-4bdf-9126-b7c62804c9f2"],
|
||||
|
||||
Cell["\<\
|
||||
abbctoxyr is a very convenient function for converting between abbc \
|
||||
coordinates and xyr (x,y coordinates of center and radius) coordinates. Its \
|
||||
inverse is also useful, but isn\[CloseCurlyQuote]t ever needed in this \
|
||||
notebook.\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.864684524686651*^9,
|
||||
3.864684568011244*^9}},ExpressionUUID->"371e76d7-c3be-4ee9-ab19-\
|
||||
eeefafc86d34"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"abbctoxyr", "[",
|
||||
|
|
@ -858,141 +1020,51 @@ Cell[BoxData[
|
|||
CellChangeTimes->{{3.8363114259734707`*^9, 3.836311449666407*^9}},
|
||||
CellLabel->"In[19]:=",ExpressionUUID->"5ef8c91b-dd7a-440d-b44e-513ae9efffca"],
|
||||
|
||||
Cell["\<\
|
||||
Finds the generators of the geometric Apollonian group associated with a \
|
||||
particular root tuple.\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.8646845834308863`*^9, 3.8646846026325207`*^9},
|
||||
3.864684705643474*^9},ExpressionUUID->"09cd9547-a570-4ff5-bee6-\
|
||||
11977bff1c99"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"findGeometricGenerators", "[",
|
||||
RowBox[{"W_", ",", "faces_"}], "]"}], ":=",
|
||||
RowBox[{"Block", "[",
|
||||
RowBox[{
|
||||
RowBox[{"{",
|
||||
RowBox[{"circs", ",", "pointsOfIntersection", ",", "duals"}], "}"}], ",",
|
||||
"\[IndentingNewLine]",
|
||||
RowBox[{
|
||||
RowBox[{"circs", "=",
|
||||
RowBox[{"abbctoxyr", "/@", "W"}]}], ";", "\[IndentingNewLine]",
|
||||
RowBox[{"pointsOfIntersection", "=",
|
||||
RowBox[{"findGeometricGenerators", "[", "W_", "]"}], ":=",
|
||||
RowBox[{"Table", "[",
|
||||
RowBox[{
|
||||
RowBox[{"If", "[",
|
||||
RowBox[{
|
||||
RowBox[{"i", "==", "j"}], ",",
|
||||
RowBox[{"W", ".",
|
||||
RowBox[{"Transpose", "[", "\[Sigma]", "]"}], ".",
|
||||
RowBox[{"PseudoInverse", "[", "W", "]"}]}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"0", ",", "0"}], "}"}], ",",
|
||||
RowBox[{
|
||||
RowBox[{"NSolve", "[",
|
||||
RowBox[{
|
||||
RowBox[{"{",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
SuperscriptBox[
|
||||
RowBox[{"(",
|
||||
RowBox[{"x", "-",
|
||||
RowBox[{
|
||||
RowBox[{"circs", "[",
|
||||
RowBox[{"[", "i", "]"}], "]"}], "[",
|
||||
RowBox[{"[", "1", "]"}], "]"}]}], ")"}], "2"], "+",
|
||||
SuperscriptBox[
|
||||
RowBox[{"(",
|
||||
RowBox[{"y", "-",
|
||||
RowBox[{
|
||||
RowBox[{"circs", "[",
|
||||
RowBox[{"[", "i", "]"}], "]"}], "[",
|
||||
RowBox[{"[", "2", "]"}], "]"}]}], ")"}], "2"]}], "==",
|
||||
SuperscriptBox[
|
||||
RowBox[{
|
||||
RowBox[{"circs", "[",
|
||||
RowBox[{"[", "i", "]"}], "]"}], "[",
|
||||
RowBox[{"[", "3", "]"}], "]"}], "2"]}], ",",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
SuperscriptBox[
|
||||
RowBox[{"(",
|
||||
RowBox[{"x", "-",
|
||||
RowBox[{
|
||||
RowBox[{"circs", "[",
|
||||
RowBox[{"[", "j", "]"}], "]"}], "[",
|
||||
RowBox[{"[", "1", "]"}], "]"}]}], ")"}], "2"], "+",
|
||||
SuperscriptBox[
|
||||
RowBox[{"(",
|
||||
RowBox[{"y", "-",
|
||||
RowBox[{
|
||||
RowBox[{"circs", "[",
|
||||
RowBox[{"[", "j", "]"}], "]"}], "[",
|
||||
RowBox[{"[", "2", "]"}], "]"}]}], ")"}], "2"]}], "==",
|
||||
SuperscriptBox[
|
||||
RowBox[{
|
||||
RowBox[{"circs", "[",
|
||||
RowBox[{"[", "j", "]"}], "]"}], "[",
|
||||
RowBox[{"[", "3", "]"}], "]"}], "2"]}]}], "}"}], ",",
|
||||
"Reals"}], "]"}], "/.",
|
||||
RowBox[{
|
||||
RowBox[{"{",
|
||||
RowBox[{
|
||||
RowBox[{"{",
|
||||
RowBox[{
|
||||
RowBox[{"x", "->", "a_"}], ",",
|
||||
RowBox[{"y", "->", "b_"}]}], "}"}], ",", "_"}], "}"}], "->",
|
||||
RowBox[{"{",
|
||||
RowBox[{"a", ",", "b"}], "}"}]}]}]}], "]"}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"i", ",",
|
||||
RowBox[{"Length", "[", "circs", "]"}]}], "}"}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"j", ",",
|
||||
RowBox[{"Length", "[", "circs", "]"}]}], "}"}]}], "]"}]}], ";",
|
||||
"\[IndentingNewLine]",
|
||||
RowBox[{"duals", "=",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"Table", "[",
|
||||
RowBox[{
|
||||
RowBox[{"CircleThrough", "[",
|
||||
RowBox[{"Table", "[",
|
||||
RowBox[{
|
||||
RowBox[{"pointsOfIntersection", "[",
|
||||
RowBox[{"[",
|
||||
RowBox[{
|
||||
RowBox[{"face", "[",
|
||||
RowBox[{"[", "i", "]"}], "]"}], ",",
|
||||
RowBox[{"face", "[",
|
||||
RowBox[{"[",
|
||||
RowBox[{"If", "[",
|
||||
RowBox[{
|
||||
RowBox[{"i", "==",
|
||||
RowBox[{"Length", "[", "face", "]"}]}], ",", "1", ",",
|
||||
RowBox[{"i", "+", "1"}]}], "]"}], "]"}], "]"}]}], "]"}],
|
||||
"]"}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"i", ",", "3"}], "}"}]}], "]"}], "]"}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"face", ",", "faces"}], "}"}]}], "]"}], "//", "Chop"}],
|
||||
")"}], "/.",
|
||||
RowBox[{
|
||||
RowBox[{"Circle", "[",
|
||||
RowBox[{
|
||||
RowBox[{"{",
|
||||
RowBox[{"x_", ",", "y_"}], "}"}], ",", "r_"}], "]"}], "->",
|
||||
RowBox[{"{",
|
||||
RowBox[{"x", ",", "y", ",", "r"}], "}"}]}]}]}], ";",
|
||||
"\[IndentingNewLine]",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
RowBox[{"invertAboutCircle", "@@", "#"}], "&"}], "/@", "duals"}]}]}],
|
||||
"\[IndentingNewLine]", "]"}]}]], "Input",
|
||||
CellChangeTimes->{{3.836311382224783*^9, 3.836311419633215*^9}, {
|
||||
3.836311452786697*^9, 3.8363115754821777`*^9}, {3.836311671596231*^9,
|
||||
3.836311911486074*^9}, {3.83631202465561*^9, 3.8363120458893223`*^9}, {
|
||||
3.8363120966552258`*^9, 3.8363121518749323`*^9}, {3.836312205319263*^9,
|
||||
3.836312308220592*^9}, {3.8363126041123037`*^9, 3.8363126356297626`*^9}, {
|
||||
3.836312719672307*^9, 3.836312731342832*^9}, {3.83631288194462*^9,
|
||||
3.836312925832314*^9}, {3.836335503087988*^9, 3.83633554789843*^9}, {
|
||||
3.836335652905367*^9, 3.8363356695012817`*^9}, {3.8363359177817593`*^9,
|
||||
3.836335919048725*^9}, 3.836336062206873*^9, {3.836336095237904*^9,
|
||||
3.836336114229784*^9}, {3.836336188817478*^9, 3.836336232187769*^9}, {
|
||||
3.836336269426408*^9, 3.836336326435491*^9}, 3.836336424520152*^9},
|
||||
CellLabel->"In[20]:=",ExpressionUUID->"2ffd6cba-1ba3-4c73-8457-ef7fc5958282"],
|
||||
RowBox[{"\[Sigma]", ",",
|
||||
RowBox[{"findGeneratorsFromG", "[",
|
||||
RowBox[{"gramMatrix", "[", "W", "]"}], "]"}]}], "}"}]}],
|
||||
"]"}]}]], "Input",
|
||||
CellChangeTimes->{{3.86468467845833*^9,
|
||||
3.864684758983469*^9}},ExpressionUUID->"14db2bfc-ecf5-4a97-90fa-\
|
||||
8126e86e9190"]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell["\<\
|
||||
Fractal Dimension (Warning: circle counting slightly inaccurate for anything \
|
||||
other than tetrahedron)\
|
||||
\>", "Subsection",
|
||||
CellChangeTimes->{{3.8646833319676657`*^9,
|
||||
3.864683358720407*^9}},ExpressionUUID->"9a9baebc-6ebe-40af-9838-\
|
||||
fbc4f0a61e63"],
|
||||
|
||||
Cell["\<\
|
||||
search counts the circles, while fractalDimensionFromG uses that data to find \
|
||||
the fractal dimension. This is a very old algorithm that is extremely slow \
|
||||
and has serious issues. If you want to find fractal dimensions, use the much \
|
||||
faster and actually correct code located in circle_counting_new.\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.864684790307341*^9,
|
||||
3.8646848638634033`*^9}},ExpressionUUID->"a40f213a-0639-4531-af71-\
|
||||
cb3759d226bb"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
|
|
@ -1174,7 +1246,16 @@ Cell[BoxData[
|
|||
3.8342709184846773`*^9}, {3.834271399281299*^9, 3.834271400142085*^9}, {
|
||||
3.8345760352900133`*^9, 3.834576035855191*^9}, {3.834594490350781*^9,
|
||||
3.834594498152722*^9}},
|
||||
CellLabel->"In[22]:=",ExpressionUUID->"3971d33a-d19f-42ea-9b17-0801f7a59659"],
|
||||
CellLabel->"In[22]:=",ExpressionUUID->"3971d33a-d19f-42ea-9b17-0801f7a59659"]
|
||||
}, Open ]]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell["Gram Matrices", "Section",
|
||||
CellChangeTimes->{{3.8646831461718616`*^9,
|
||||
3.864683148534131*^9}},ExpressionUUID->"38a90e2b-8230-44d5-9ded-\
|
||||
1a7e10c86573"],
|
||||
|
||||
Cell[BoxData[{
|
||||
RowBox[{
|
||||
|
|
@ -1208,6 +1289,27 @@ Cell[BoxData[{
|
|||
RowBox[{"{",
|
||||
RowBox[{"j", ",", "0", ",", "n"}], "}"}]}],
|
||||
"]"}]}], "\[IndentingNewLine]",
|
||||
RowBox[{
|
||||
RowBox[{"pyramidTuple", "[", "n_", "]"}], ":=",
|
||||
RowBox[{"N", "[",
|
||||
RowBox[{"Table", "[",
|
||||
RowBox[{
|
||||
RowBox[{"If", "[",
|
||||
RowBox[{
|
||||
RowBox[{"i", "\[Equal]", "1"}], ",",
|
||||
RowBox[{"-", "1"}], ",",
|
||||
FractionBox[
|
||||
RowBox[{
|
||||
RowBox[{"Sec", "[",
|
||||
FractionBox["\[Pi]", "n"], "]"}], "+",
|
||||
RowBox[{"Tan", "[",
|
||||
FractionBox["\[Pi]", "n"], "]"}]}],
|
||||
RowBox[{"Tan", "[",
|
||||
FractionBox["\[Pi]", "n"], "]"}]]}], "]"}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"i", ",",
|
||||
RowBox[{"n", "+", "1"}]}], "}"}]}], "]"}],
|
||||
"]"}]}], "\[IndentingNewLine]",
|
||||
RowBox[{
|
||||
RowBox[{"prismG", "[", "n_", "]"}], ":=",
|
||||
RowBox[{"Table", "[",
|
||||
|
|
@ -1264,69 +1366,10 @@ Cell[BoxData[{
|
|||
3.83475754283183*^9, 3.8347575451402903`*^9}, {3.834757791323676*^9,
|
||||
3.834757807603224*^9}, {3.834758018406104*^9, 3.8347580192628*^9}, {
|
||||
3.8347582118524027`*^9, 3.834758212224677*^9}, {3.834758276954211*^9,
|
||||
3.834758277276855*^9}, {3.834758321078662*^9, 3.834758332831156*^9}},
|
||||
CellLabel->"In[23]:=",ExpressionUUID->"3db5443f-dda7-4082-8ab7-96e274634389"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"pyramidFractalDimension", "[",
|
||||
RowBox[{"n_", ",", "max_", ",", "delta_"}], "]"}], ":=",
|
||||
RowBox[{"fractalDimensionFromG", "[",
|
||||
RowBox[{
|
||||
RowBox[{"N", "[",
|
||||
RowBox[{"pyramidG", "[", "n", "]"}], "]"}], ",", "max", ",", "delta",
|
||||
",",
|
||||
RowBox[{"N", "[",
|
||||
RowBox[{"Table", "[",
|
||||
RowBox[{
|
||||
RowBox[{"If", "[",
|
||||
RowBox[{
|
||||
RowBox[{"i", "\[Equal]",
|
||||
RowBox[{"n", "+", "1"}]}], ",",
|
||||
RowBox[{"-", "1"}], ",",
|
||||
FractionBox[
|
||||
RowBox[{
|
||||
RowBox[{"Sec", "[",
|
||||
FractionBox["\[Pi]", "n"], "]"}], "+",
|
||||
RowBox[{"Tan", "[",
|
||||
FractionBox["\[Pi]", "n"], "]"}]}],
|
||||
RowBox[{"Tan", "[",
|
||||
FractionBox["\[Pi]", "n"], "]"}]]}], "]"}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"i", ",",
|
||||
RowBox[{"n", "+", "1"}]}], "}"}]}], "]"}], "]"}]}], "]"}]}]], "Input",\
|
||||
|
||||
CellChangeTimes->{{3.833978967161902*^9, 3.8339789914381647`*^9}, {
|
||||
3.833979205542704*^9, 3.833979255368734*^9}, {3.833979399981943*^9,
|
||||
3.833979410979437*^9}, {3.8339798534902363`*^9, 3.833979853676499*^9}, {
|
||||
3.8339800331837673`*^9, 3.833980033963599*^9}, {3.833981434488759*^9,
|
||||
3.8339814414612226`*^9}, {3.833981948527481*^9, 3.8339819534472733`*^9}},
|
||||
CellLabel->"In[25]:=",ExpressionUUID->"52eb731d-d72b-4ff7-afc4-5691e9750e37"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"pyramidTuple", "[", "n_", "]"}], ":=",
|
||||
RowBox[{"N", "[",
|
||||
RowBox[{"Table", "[",
|
||||
RowBox[{
|
||||
RowBox[{"If", "[",
|
||||
RowBox[{
|
||||
RowBox[{"i", "\[Equal]", "1"}], ",",
|
||||
RowBox[{"-", "1"}], ",",
|
||||
FractionBox[
|
||||
RowBox[{
|
||||
RowBox[{"Sec", "[",
|
||||
FractionBox["\[Pi]", "n"], "]"}], "+",
|
||||
RowBox[{"Tan", "[",
|
||||
FractionBox["\[Pi]", "n"], "]"}]}],
|
||||
RowBox[{"Tan", "[",
|
||||
FractionBox["\[Pi]", "n"], "]"}]]}], "]"}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"i", ",",
|
||||
RowBox[{"n", "+", "1"}]}], "}"}]}], "]"}], "]"}]}]], "Input",
|
||||
CellChangeTimes->{{3.8346584900042677`*^9, 3.834658495237359*^9}, {
|
||||
3.834752246211548*^9, 3.834752276988707*^9}},
|
||||
CellLabel->"In[26]:=",ExpressionUUID->"6e172e8f-4972-4597-9559-948bf406a2c4"],
|
||||
3.834758277276855*^9}, {3.834758321078662*^9, 3.834758332831156*^9}, {
|
||||
3.86468339626525*^9,
|
||||
3.86468339654069*^9}},ExpressionUUID->"3db5443f-dda7-4082-8ab7-\
|
||||
96e274634389"],
|
||||
|
||||
Cell[BoxData[{
|
||||
RowBox[{
|
||||
|
|
@ -1388,7 +1431,7 @@ Cell[BoxData[{
|
|||
RowBox[{"-", "1"}], "1"}
|
||||
}]}], ";"}]}], "Input",
|
||||
CellChangeTimes->{{3.8367815709437532`*^9, 3.836781616938365*^9}},
|
||||
CellLabel->"In[27]:=",ExpressionUUID->"897b1d52-af46-4e1c-8207-c0acc9e2c1f3"],
|
||||
CellLabel->"In[4]:=",ExpressionUUID->"897b1d52-af46-4e1c-8207-c0acc9e2c1f3"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
|
|
@ -8628,12 +8671,13 @@ Cell[BoxData[
|
|||
}]}], ";"}]], "Input",
|
||||
CellChangeTimes->{{3.8493085177656803`*^9, 3.8493085918602943`*^9}},
|
||||
CellLabel->"In[43]:=",ExpressionUUID->"8fa9343c-0ee8-4e78-b216-6b629c1eb50f"]
|
||||
}, Open ]]
|
||||
},
|
||||
WindowSize->{708., 779.25},
|
||||
WindowMargins->{{Automatic, 7.5}, {7.5, Automatic}},
|
||||
WindowSize->{750.75, 778.5},
|
||||
WindowMargins->{{6, Automatic}, {6, Automatic}},
|
||||
TaggingRules->{
|
||||
"WelcomeScreenSettings" -> {"FEStarting" -> False}, "TryRealOnly" -> False},
|
||||
FrontEndVersion->"12.3 for Linux x86 (64-bit) (June 19, 2021)",
|
||||
FrontEndVersion->"13.0 for Linux x86 (64-bit) (February 4, 2022)",
|
||||
StyleDefinitions->"Default.nb",
|
||||
ExpressionUUID->"e8622aad-0bd2-483b-a68b-2a26bc5485be"
|
||||
]
|
||||
|
|
@ -8648,42 +8692,72 @@ CellTagsIndex->{}
|
|||
*)
|
||||
(*NotebookFileOutline
|
||||
Notebook[{
|
||||
Cell[558, 20, 418, 9, 29, "Input",ExpressionUUID->"e1bc883b-2413-4a7d-abe0-4a19eb3f78fd"],
|
||||
Cell[979, 31, 1029, 27, 71, "Input",ExpressionUUID->"025b5df5-f2a6-4cee-a294-e76ee16e74d4"],
|
||||
Cell[2011, 60, 509, 11, 29, "Input",ExpressionUUID->"54cc4a6c-be37-4091-ac21-3dfd11eb53ea"],
|
||||
Cell[2523, 73, 439, 11, 29, "Input",ExpressionUUID->"d3298122-6e10-4115-8e61-a949acba4e08"],
|
||||
Cell[2965, 86, 1415, 34, 71, "Input",ExpressionUUID->"4e2a5664-aeb5-4dfb-88fb-7e7839ba2141"],
|
||||
Cell[4383, 122, 342, 8, 29, "Input",ExpressionUUID->"c9a1b25a-8cb3-40d1-ac83-1d2405398934"],
|
||||
Cell[4728, 132, 1140, 33, 92, "Input",ExpressionUUID->"30b57c08-a123-4e7d-9b0a-b512fcfecee8"],
|
||||
Cell[5871, 167, 740, 20, 51, "Input",ExpressionUUID->"e30807a9-5381-4ad1-b9fd-a6a877ae69fe"],
|
||||
Cell[6614, 189, 671, 19, 51, "Input",ExpressionUUID->"d1264330-efcb-4ca7-a1c2-f6744f28eebe"],
|
||||
Cell[7288, 210, 708, 19, 71, "Input",ExpressionUUID->"efd0e321-9f31-4641-bf42-f73e16044635"],
|
||||
Cell[7999, 231, 548, 14, 51, "Input",ExpressionUUID->"810323e6-91cb-44f2-ad55-323fbec422eb"],
|
||||
Cell[8550, 247, 702, 19, 51, "Input",ExpressionUUID->"948959db-c926-4458-9e45-ef7f3fb99ba5"],
|
||||
Cell[9255, 268, 996, 28, 71, "Input",ExpressionUUID->"e7b8a43b-0fbc-4073-928d-10a091e21dd7"],
|
||||
Cell[10254, 298, 4042, 107, 360, "Input",ExpressionUUID->"5cb4f612-3c02-42ac-ad57-4fb2daf3366b"],
|
||||
Cell[14299, 407, 10810, 230, 402, "Input",ExpressionUUID->"df61872a-1e93-4b2b-ad66-1c8fee203402"],
|
||||
Cell[25112, 639, 7334, 180, 422, "Input",ExpressionUUID->"dab3b84f-3f49-42e4-9bc4-79cb6408f946"],
|
||||
Cell[32449, 821, 912, 24, 29, "Input",ExpressionUUID->"bd52b017-bd99-4bdf-9126-b7c62804c9f2"],
|
||||
Cell[33364, 847, 443, 11, 29, "Input",ExpressionUUID->"5ef8c91b-dd7a-440d-b44e-513ae9efffca"],
|
||||
Cell[33810, 860, 5511, 134, 182, "Input",ExpressionUUID->"2ffd6cba-1ba3-4c73-8457-ef7fc5958282"],
|
||||
Cell[39324, 996, 5346, 111, 113, "Input",ExpressionUUID->"4186f080-27d0-474f-9433-7cdeb3a7a49d"],
|
||||
Cell[44673, 1109, 2787, 67, 262, "Input",ExpressionUUID->"3971d33a-d19f-42ea-9b17-0801f7a59659"],
|
||||
Cell[47463, 1178, 3212, 89, 130, "Input",ExpressionUUID->"3db5443f-dda7-4082-8ab7-96e274634389"],
|
||||
Cell[50678, 1269, 1383, 34, 65, "Input",ExpressionUUID->"52eb731d-d72b-4ff7-afc4-5691e9750e37"],
|
||||
Cell[52064, 1305, 843, 23, 65, "Input",ExpressionUUID->"6e172e8f-4972-4597-9559-948bf406a2c4"],
|
||||
Cell[52910, 1330, 1581, 60, 196, "Input",ExpressionUUID->"897b1d52-af46-4e1c-8207-c0acc9e2c1f3"],
|
||||
Cell[54494, 1392, 1861, 70, 147, "Input",ExpressionUUID->"a88926ed-6f50-457b-9480-401929196ff8"],
|
||||
Cell[56358, 1464, 1550, 60, 137, "Input",ExpressionUUID->"ac2fc7fb-1a08-4495-8c53-210ad6f3664b"],
|
||||
Cell[57911, 1526, 9993, 307, 257, "Input",ExpressionUUID->"609d9edf-fd45-4e4e-aae5-f4d3cc6359f5"],
|
||||
Cell[67907, 1835, 4066, 151, 216, "Input",ExpressionUUID->"294e535d-e3a7-4a1d-8c24-303f127653b2"],
|
||||
Cell[71976, 1988, 7538, 274, 221, "Input",ExpressionUUID->"45d67d9a-02e6-48ac-8e3a-435a001307e6"],
|
||||
Cell[79517, 2264, 5347, 201, 250, "Input",ExpressionUUID->"65e20246-7792-4c97-b2ee-553e60d6428e"],
|
||||
Cell[84867, 2467, 49457, 1063, 2691, "Input",ExpressionUUID->"1c98ab0f-7be0-4b82-83f8-0a1739369b4d"],
|
||||
Cell[134327, 3532, 172929, 3666, 9909, "Input",ExpressionUUID->"239a4292-049d-4293-9674-7e78c28ca011"],
|
||||
Cell[307259, 7200, 1486, 55, 125, "Input",ExpressionUUID->"b6c05a3c-d9ef-41f8-9987-9bf57f74096c"],
|
||||
Cell[308748, 7257, 42950, 1327, 1659, "Input",ExpressionUUID->"851b8d35-e5c6-40f2-826f-018f704c8a73"],
|
||||
Cell[351701, 8586, 1167, 43, 129, "Input",ExpressionUUID->"8fa9343c-0ee8-4e78-b216-6b629c1eb50f"]
|
||||
Cell[CellGroupData[{
|
||||
Cell[580, 22, 162, 3, 68, "Section",ExpressionUUID->"d9d62207-947e-4a55-994c-be968ba39c8b"],
|
||||
Cell[CellGroupData[{
|
||||
Cell[767, 29, 186, 3, 54, "Subsection",ExpressionUUID->"ffcc14d7-54b2-406a-8618-9531332769aa"],
|
||||
Cell[956, 34, 248, 5, 35, "Text",ExpressionUUID->"ac72a206-5663-4fb8-9a75-6d188f4c76e1"],
|
||||
Cell[1207, 41, 418, 9, 29, "Input",ExpressionUUID->"e1bc883b-2413-4a7d-abe0-4a19eb3f78fd"],
|
||||
Cell[1628, 52, 949, 22, 59, "Text",ExpressionUUID->"87b40a25-ff96-4305-b802-220d3c3714ee"],
|
||||
Cell[2580, 76, 1029, 27, 71, "Input",ExpressionUUID->"025b5df5-f2a6-4cee-a294-e76ee16e74d4"],
|
||||
Cell[3612, 105, 250, 6, 35, "Text",ExpressionUUID->"03438c1b-508d-4333-9054-9967574ef3d3"],
|
||||
Cell[3865, 113, 509, 11, 29, "Input",ExpressionUUID->"54cc4a6c-be37-4091-ac21-3dfd11eb53ea"],
|
||||
Cell[4377, 126, 334, 7, 58, "Text",ExpressionUUID->"b44fae9e-11fd-4fea-9594-87a6c311bec8"],
|
||||
Cell[4714, 135, 439, 11, 29, "Input",ExpressionUUID->"d3298122-6e10-4115-8e61-a949acba4e08"],
|
||||
Cell[5156, 148, 223, 5, 35, "Text",ExpressionUUID->"551afa7d-856b-46fe-8670-51fd64eff7cc"],
|
||||
Cell[5382, 155, 1416, 34, 71, "Input",ExpressionUUID->"4e2a5664-aeb5-4dfb-88fb-7e7839ba2141"],
|
||||
Cell[6801, 191, 163, 3, 35, "Text",ExpressionUUID->"7914b40a-8924-4161-b52d-1ca82c95c0c4"],
|
||||
Cell[6967, 196, 342, 8, 29, "Input",ExpressionUUID->"c9a1b25a-8cb3-40d1-ac83-1d2405398934"],
|
||||
Cell[7312, 206, 331, 7, 58, "Text",ExpressionUUID->"777e5618-fae9-4bb5-b529-4f4902364898"],
|
||||
Cell[7646, 215, 1141, 33, 92, "Input",ExpressionUUID->"30b57c08-a123-4e7d-9b0a-b512fcfecee8"],
|
||||
Cell[8790, 250, 591, 15, 35, "Text",ExpressionUUID->"c96de117-3c03-4391-9112-59dc2aa87e38"],
|
||||
Cell[9384, 267, 740, 20, 51, "Input",ExpressionUUID->"e30807a9-5381-4ad1-b9fd-a6a877ae69fe"],
|
||||
Cell[10127, 289, 671, 19, 29, "Input",ExpressionUUID->"d1264330-efcb-4ca7-a1c2-f6744f28eebe"],
|
||||
Cell[10801, 310, 708, 19, 71, "Input",ExpressionUUID->"efd0e321-9f31-4641-bf42-f73e16044635"],
|
||||
Cell[11512, 331, 548, 14, 51, "Input",ExpressionUUID->"810323e6-91cb-44f2-ad55-323fbec422eb"]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[12097, 350, 162, 3, 54, "Subsection",ExpressionUUID->"30f99b83-ea38-48b2-b913-e9a970532db2"],
|
||||
Cell[12262, 355, 221, 5, 35, "Text",ExpressionUUID->"4192620c-85de-4442-8b77-a4f0439b11b4"],
|
||||
Cell[12486, 362, 702, 19, 51, "Input",ExpressionUUID->"948959db-c926-4458-9e45-ef7f3fb99ba5"],
|
||||
Cell[13191, 383, 721, 16, 81, "Text",ExpressionUUID->"652feb5a-94e0-4b51-96b7-66625315f8ef"],
|
||||
Cell[13915, 401, 996, 28, 71, "Input",ExpressionUUID->"e7b8a43b-0fbc-4073-928d-10a091e21dd7"],
|
||||
Cell[14914, 431, 4042, 107, 360, "Input",ExpressionUUID->"5cb4f612-3c02-42ac-ad57-4fb2daf3366b"]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[18993, 543, 235, 4, 54, "Subsection",ExpressionUUID->"a54eae0a-eac8-4408-bb48-69eb10a7147f"],
|
||||
Cell[19231, 549, 404, 8, 58, "Text",ExpressionUUID->"6773c37a-4ed3-4315-9304-64d7ebb905b7"],
|
||||
Cell[19638, 559, 10810, 230, 546, "Input",ExpressionUUID->"df61872a-1e93-4b2b-ad66-1c8fee203402"],
|
||||
Cell[30451, 791, 7334, 180, 546, "Input",ExpressionUUID->"dab3b84f-3f49-42e4-9bc4-79cb6408f946"],
|
||||
Cell[37788, 973, 912, 24, 92, "Input",ExpressionUUID->"bd52b017-bd99-4bdf-9126-b7c62804c9f2"],
|
||||
Cell[38703, 999, 380, 8, 81, "Text",ExpressionUUID->"371e76d7-c3be-4ee9-ab19-eeefafc86d34"],
|
||||
Cell[39086, 1009, 443, 11, 29, "Input",ExpressionUUID->"5ef8c91b-dd7a-440d-b44e-513ae9efffca"],
|
||||
Cell[39532, 1022, 274, 6, 35, "Text",ExpressionUUID->"09cd9547-a570-4ff5-bee6-11977bff1c99"],
|
||||
Cell[39809, 1030, 560, 15, 51, "Input",ExpressionUUID->"14db2bfc-ecf5-4a97-90fa-8126e86e9190"]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[40406, 1050, 260, 6, 81, "Subsection",ExpressionUUID->"9a9baebc-6ebe-40af-9838-fbc4f0a61e63"],
|
||||
Cell[40669, 1058, 452, 8, 81, "Text",ExpressionUUID->"a40f213a-0639-4531-af71-cb3759d226bb"],
|
||||
Cell[41124, 1068, 5346, 111, 216, "Input",ExpressionUUID->"4186f080-27d0-474f-9433-7cdeb3a7a49d"],
|
||||
Cell[46473, 1181, 2787, 67, 283, "Input",ExpressionUUID->"3971d33a-d19f-42ea-9b17-0801f7a59659"]
|
||||
}, Open ]]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[49309, 1254, 160, 3, 68, "Section",ExpressionUUID->"38a90e2b-8230-44d5-9ded-1a7e10c86573"],
|
||||
Cell[49472, 1259, 3892, 112, 296, "Input",ExpressionUUID->"3db5443f-dda7-4082-8ab7-96e274634389"],
|
||||
Cell[53367, 1373, 1580, 60, 196, "Input",ExpressionUUID->"897b1d52-af46-4e1c-8207-c0acc9e2c1f3"],
|
||||
Cell[54950, 1435, 1861, 70, 147, "Input",ExpressionUUID->"a88926ed-6f50-457b-9480-401929196ff8"],
|
||||
Cell[56814, 1507, 1550, 60, 137, "Input",ExpressionUUID->"ac2fc7fb-1a08-4495-8c53-210ad6f3664b"],
|
||||
Cell[58367, 1569, 9993, 307, 504, "Input",ExpressionUUID->"609d9edf-fd45-4e4e-aae5-f4d3cc6359f5"],
|
||||
Cell[68363, 1878, 4066, 151, 216, "Input",ExpressionUUID->"294e535d-e3a7-4a1d-8c24-303f127653b2"],
|
||||
Cell[72432, 2031, 7538, 274, 221, "Input",ExpressionUUID->"45d67d9a-02e6-48ac-8e3a-435a001307e6"],
|
||||
Cell[79973, 2307, 5347, 201, 250, "Input",ExpressionUUID->"65e20246-7792-4c97-b2ee-553e60d6428e"],
|
||||
Cell[85323, 2510, 49457, 1063, 2711, "Input",ExpressionUUID->"1c98ab0f-7be0-4b82-83f8-0a1739369b4d"],
|
||||
Cell[134783, 3575, 172929, 3666, 9909, "Input",ExpressionUUID->"239a4292-049d-4293-9674-7e78c28ca011"],
|
||||
Cell[307715, 7243, 1486, 55, 125, "Input",ExpressionUUID->"b6c05a3c-d9ef-41f8-9987-9bf57f74096c"],
|
||||
Cell[309204, 7300, 42950, 1327, 834, "Input",ExpressionUUID->"851b8d35-e5c6-40f2-826f-018f704c8a73"],
|
||||
Cell[352157, 8629, 1167, 43, 129, "Input",ExpressionUUID->"8fa9343c-0ee8-4e78-b216-6b629c1eb50f"]
|
||||
}, Open ]]
|
||||
}
|
||||
]
|
||||
*)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -10,16 +10,37 @@
|
|||
NotebookFileLineBreakTest
|
||||
NotebookFileLineBreakTest
|
||||
NotebookDataPosition[ 158, 7]
|
||||
NotebookDataLength[ 47999, 1161]
|
||||
NotebookOptionsPosition[ 43133, 1093]
|
||||
NotebookOutlinePosition[ 43534, 1109]
|
||||
CellTagsIndexPosition[ 43491, 1106]
|
||||
NotebookDataLength[ 37091, 924]
|
||||
NotebookOptionsPosition[ 32922, 863]
|
||||
NotebookOutlinePosition[ 33321, 879]
|
||||
CellTagsIndexPosition[ 33278, 876]
|
||||
WindowFrame->Normal*)
|
||||
|
||||
(* Beginning of Notebook Content *)
|
||||
Notebook[{
|
||||
|
||||
Cell[CellGroupData[{
|
||||
Cell["Early Attempt at Finding Gram Matrices", "Title",
|
||||
CellChangeTimes->{{3.864735481164455*^9,
|
||||
3.864735489248959*^9}},ExpressionUUID->"c51c1c8b-2540-4a63-92f6-\
|
||||
4e7d3d5f9d76"],
|
||||
|
||||
Cell["\<\
|
||||
The goal here was to use a formula found by Dylan to construct a massive \
|
||||
system of equations and attempt to chuck it into \
|
||||
Mathematica\[CloseCurlyQuote]s Solve function in hopes of getting the gram \
|
||||
matrix out the other end, but this code at least didn\[CloseCurlyQuote]t end \
|
||||
up working particularly well. There is no guarantee that these equations are \
|
||||
solvable, which is unfortunate, and I think there are some mistakes or \
|
||||
something in this implementation, because it should work with some polyhedra.\
|
||||
\
|
||||
\>", "Text",
|
||||
CellChangeTimes->{{3.864735500116888*^9,
|
||||
3.8647356437317877`*^9}},ExpressionUUID->"c3406f07-a0d8-4f8a-a2e4-\
|
||||
1d424c3c89ef"],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"Get", "[",
|
||||
"\"\<https://raw.githubusercontent.com/szhorvat/IGraphM/master/IGInstaller.\
|
||||
|
|
@ -37,10 +58,10 @@ Cell[BoxData[
|
|||
"The currently installed versions of IGraph/M are: ", {"0.5.1"}],
|
||||
Editable->False]], "Print",
|
||||
CellChangeTimes->{3.8321516294929905`*^9, 3.8321792446538467`*^9,
|
||||
3.8321888483607073`*^9, 3.83223375355267*^9},
|
||||
3.8321888483607073`*^9, 3.83223375355267*^9, 3.864734398606039*^9},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[1]:=",ExpressionUUID->"fa2b838b-e3df-4e8d-9350-d8f470c0acc1"],
|
||||
In[1]:=",ExpressionUUID->"9a0f644e-76e7-49b2-bf2e-a5a0439d2bff"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
|
|
@ -50,13 +71,13 @@ with the same version number \
|
|||
(\\!\\(\\*RowBox[{\\\"\\\\\\\"0.5.1\\\\\\\"\\\"}]\\)) is already installed. \
|
||||
Use PacletUninstall to remove the existing version first, or call \
|
||||
PacletInstall with ForceVersionInstall -> True.\"", 2, 1, 1,
|
||||
26206157531447520602, "Local"},
|
||||
18949302130080748064, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{3.83217924731254*^9, 3.832188855090274*^9,
|
||||
3.832233757585519*^9},
|
||||
3.832233757585519*^9, 3.864734407033389*^9},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[1]:=",ExpressionUUID->"7cedf722-9dff-466e-8c29-7474221bbcff"],
|
||||
In[1]:=",ExpressionUUID->"1c5f7cf6-0738-487e-8e29-494d036393b4"],
|
||||
|
||||
Cell[BoxData[
|
||||
InterpretationBox[
|
||||
|
|
@ -70,10 +91,10 @@ Cell[BoxData[
|
|||
Hyperlink["https://github.com/szhorvat/IGraphM#installation"]],
|
||||
Editable->False]], "Print",
|
||||
CellChangeTimes->{3.8321516294929905`*^9, 3.8321792446538467`*^9,
|
||||
3.8321888483607073`*^9, 3.832233757594738*^9},
|
||||
3.8321888483607073`*^9, 3.83223375355267*^9, 3.864734407044916*^9},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[1]:=",ExpressionUUID->"bc4bba27-1aaf-4b2a-b377-2ee419fb494f"]
|
||||
In[1]:=",ExpressionUUID->"f93216f6-8658-427f-a66d-a212aa30c39f"]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
|
@ -94,8 +115,8 @@ Cell[BoxData[
|
|||
GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
|
||||
"Column"]], "Output",
|
||||
CellChangeTimes->{3.8321516533863616`*^9, 3.832179248194338*^9,
|
||||
3.832188856442923*^9, 3.832233758550943*^9},
|
||||
CellLabel->"Out[2]=",ExpressionUUID->"eb6e8d8d-44bf-42ef-b37b-df6773c2cd46"]
|
||||
3.832188856442923*^9, 3.832233758550943*^9, 3.864734408212185*^9},
|
||||
CellLabel->"Out[2]=",ExpressionUUID->"31c0c59f-a2fa-4297-b979-9547b625ff8b"]
|
||||
}, Open ]],
|
||||
|
||||
Cell["Takes adjacency matrix and spits out graph", "Text",
|
||||
|
|
@ -116,7 +137,7 @@ Cell[BoxData[
|
|||
3.832157281243805*^9}, {3.83215738072911*^9, 3.832157439845132*^9}, {
|
||||
3.8321578106356897`*^9, 3.8321578374593196`*^9}, {3.8321581875796967`*^9,
|
||||
3.832158191258052*^9}},
|
||||
CellLabel->"In[4]:=",ExpressionUUID->"7e4471aa-3419-4361-9954-ca85e8fdbcea"],
|
||||
CellLabel->"In[3]:=",ExpressionUUID->"7e4471aa-3419-4361-9954-ca85e8fdbcea"],
|
||||
|
||||
Cell["Takes adjacency matrix and spits out dual graph", "Text",
|
||||
CellChangeTimes->{{3.832168678589355*^9,
|
||||
|
|
@ -135,7 +156,7 @@ Cell[BoxData[
|
|||
CellChangeTimes->{{3.832157448820382*^9, 3.832157476669551*^9}, {
|
||||
3.832157847353641*^9, 3.832157909605048*^9}, {3.83215819890162*^9,
|
||||
3.832158204194887*^9}},
|
||||
CellLabel->"In[5]:=",ExpressionUUID->"64960a86-3c40-410a-a0bf-67dc0dda7253"],
|
||||
CellLabel->"In[4]:=",ExpressionUUID->"64960a86-3c40-410a-a0bf-67dc0dda7253"],
|
||||
|
||||
Cell["Takes adjacency matrix and spits out dual adjacency matrix", "Text",
|
||||
CellChangeTimes->{{3.832168708906446*^9,
|
||||
|
|
@ -150,7 +171,7 @@ Cell[BoxData[
|
|||
RowBox[{"dgraph", "[", "adjmat", "]"}], "]"}], "]"}]}]], "Input",
|
||||
CellChangeTimes->{{3.8321574651675024`*^9, 3.8321575207418165`*^9}, {
|
||||
3.832157919355533*^9, 3.832157942375414*^9}},
|
||||
CellLabel->"In[6]:=",ExpressionUUID->"2df0273a-68b0-4420-a181-5533de3142ef"],
|
||||
CellLabel->"In[5]:=",ExpressionUUID->"2df0273a-68b0-4420-a181-5533de3142ef"],
|
||||
|
||||
Cell["\<\
|
||||
Takes adjacency matrix, graph, dual adjacency matrix, and dual graph and \
|
||||
|
|
@ -280,7 +301,7 @@ Cell[BoxData[
|
|||
CellChangeTimes->{{3.8321575269876523`*^9, 3.8321576763644238`*^9}, {
|
||||
3.832159927387419*^9, 3.8321599288063574`*^9}, {3.832178568505596*^9,
|
||||
3.8321785886368113`*^9}},
|
||||
CellLabel->"In[7]:=",ExpressionUUID->"466eedf4-1501-4c34-b467-6afcd6ee9c2b"],
|
||||
CellLabel->"In[6]:=",ExpressionUUID->"466eedf4-1501-4c34-b467-6afcd6ee9c2b"],
|
||||
|
||||
Cell["\<\
|
||||
Computes entire extended gram matrix just given adjacency graph\
|
||||
|
|
@ -299,15 +320,14 @@ Cell[BoxData[
|
|||
RowBox[{"dgraph", "[", "adjmat", "]"}]}], "]"}]}]], "Input",
|
||||
CellChangeTimes->{{3.832159893936446*^9, 3.832159919205484*^9},
|
||||
3.832159950380535*^9, {3.832168786146203*^9, 3.832168807346489*^9}},
|
||||
CellLabel->"In[8]:=",ExpressionUUID->"07904a6d-75de-42b6-bd6e-25258c9dfc13"],
|
||||
CellLabel->"In[7]:=",ExpressionUUID->"07904a6d-75de-42b6-bd6e-25258c9dfc13"],
|
||||
|
||||
Cell[TextData[{
|
||||
"Dylan\[CloseCurlyQuote]s formula: computes ",
|
||||
Cell[BoxData[
|
||||
FormBox[
|
||||
SubscriptBox["\[Alpha]",
|
||||
RowBox[{"i", ",", "j"}]], TraditionalForm]],
|
||||
FormatType->TraditionalForm,ExpressionUUID->
|
||||
RowBox[{"i", ",", "j"}]], TraditionalForm]],ExpressionUUID->
|
||||
"b3c7d5f4-d091-4a74-aebc-91ee5194a0e1"],
|
||||
" given all bilinear forms between two tangent circles, c1 and c2, and their \
|
||||
shared dual circle d"
|
||||
|
|
@ -383,7 +403,7 @@ Cell[BoxData[
|
|||
CellChangeTimes->{{3.8321784141799994`*^9, 3.832178465721493*^9}, {
|
||||
3.83217860325821*^9, 3.832178655554688*^9}, {3.83217875635993*^9,
|
||||
3.832178873607215*^9}},
|
||||
CellLabel->"In[9]:=",ExpressionUUID->"bf8ef1f1-47be-4283-b703-c185b6f0b640"],
|
||||
CellLabel->"In[8]:=",ExpressionUUID->"bf8ef1f1-47be-4283-b703-c185b6f0b640"],
|
||||
|
||||
Cell["\<\
|
||||
Uses Dylan\[CloseCurlyQuote]s formula and the extended gram matrix to create \
|
||||
|
|
@ -406,7 +426,7 @@ Cell[BoxData[
|
|||
RowBox[{"i", ",", "j"}], "\[RightDoubleBracket]"}]}]}]], "Input",
|
||||
CellChangeTimes->{{3.832179077629673*^9, 3.832179079427682*^9}, {
|
||||
3.8321791928839073`*^9, 3.832179236666037*^9}},
|
||||
CellLabel->"In[10]:=",ExpressionUUID->"420e0d3e-8926-42c8-bf5b-90e13c9517d3"],
|
||||
CellLabel->"In[9]:=",ExpressionUUID->"420e0d3e-8926-42c8-bf5b-90e13c9517d3"],
|
||||
|
||||
Cell["Creates a list of all relevant variables", "Text",
|
||||
CellChangeTimes->{{3.832188674746522*^9,
|
||||
|
|
@ -431,7 +451,7 @@ Cell[BoxData[
|
|||
RowBox[{"n", "+", "m"}]}], "}"}]}], "]"}], "]"}]}]], "Input",
|
||||
CellChangeTimes->{{3.832180251879418*^9, 3.832180286404707*^9}, {
|
||||
3.83218032560913*^9, 3.832180334849931*^9}},
|
||||
CellLabel->"In[11]:=",ExpressionUUID->"6be67f5a-9ae0-4ab1-a49b-076a5355b7fb"],
|
||||
CellLabel->"In[10]:=",ExpressionUUID->"6be67f5a-9ae0-4ab1-a49b-076a5355b7fb"],
|
||||
|
||||
Cell["\<\
|
||||
Given the adjacency matrix and which three rows/columns to pick (I\
|
||||
|
|
@ -453,7 +473,8 @@ Cell[BoxData[
|
|||
RowBox[{"{",
|
||||
RowBox[{
|
||||
"Gext", ",", "c1s", ",", "c2s", ",", "ds", ",", "n", ",", "m", ",",
|
||||
"rules", ",", "assumptions"}], "}"}], ",", "\[IndentingNewLine]",
|
||||
"rules", ",", "assumptions", ",", "temp"}], "}"}], ",",
|
||||
"\[IndentingNewLine]",
|
||||
RowBox[{
|
||||
RowBox[{"n", "=",
|
||||
RowBox[{"Length", "[", "adjmat", "]"}]}], ";", "\[IndentingNewLine]",
|
||||
|
|
@ -517,12 +538,17 @@ Cell[BoxData[
|
|||
RowBox[{"n", "+", "m"}]}], "}"}]}], "]"}], "]"}], "//",
|
||||
RowBox[{"DeleteCases", "[",
|
||||
RowBox[{"Indeterminate", "\[Equal]", "__"}], "]"}]}], "//",
|
||||
"Simplify"}], "//",
|
||||
RowBox[{"DeleteCases", "[", "True", "]"}]}], ",",
|
||||
RowBox[{"Assumptions", "\[Rule]", "assumptions"}]}], "]"}],
|
||||
"\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ";",
|
||||
"\[IndentingNewLine]",
|
||||
RowBox[{"Gext", "/.", "rules"}]}]}], "]"}]}]], "Input",
|
||||
RowBox[{"DeleteCases", "[", "False", "]"}]}], "//", "Simplify"}], "//",
|
||||
RowBox[{"DeleteCases", "[", "True", "]"}]}], "]"}], "[",
|
||||
RowBox[{"[", "1", "]"}], "]"}]}], ";", "\[IndentingNewLine]",
|
||||
RowBox[{"temp", "=",
|
||||
RowBox[{"Gext", "/.", "rules"}]}], ";", "\[IndentingNewLine]",
|
||||
RowBox[{"temp", "/.",
|
||||
RowBox[{
|
||||
RowBox[{"Solve", "[",
|
||||
RowBox[{
|
||||
RowBox[{"Det", "[", "temp", "]"}], "==", "0"}], "]"}], "[",
|
||||
RowBox[{"[", "1", "]"}], "]"}]}]}]}], "]"}]}]], "Input",
|
||||
CellChangeTimes->{{3.832179291894788*^9, 3.832179514217531*^9}, {
|
||||
3.83217965960777*^9, 3.8321797806519737`*^9}, {3.832182725009789*^9,
|
||||
3.832182755832143*^9}, {3.83218306930501*^9, 3.832183092163796*^9}, {
|
||||
|
|
@ -537,8 +563,11 @@ Cell[BoxData[
|
|||
3.8321862618199997`*^9}, {3.8321863613697853`*^9,
|
||||
3.8321863669835577`*^9}, {3.832186452371193*^9, 3.832186456250992*^9}, {
|
||||
3.832236951287407*^9, 3.8322369831425056`*^9}, {3.832237035633595*^9,
|
||||
3.832237063324972*^9}},
|
||||
CellLabel->"In[26]:=",ExpressionUUID->"f4f2f39c-a979-492f-a025-beb69389c674"],
|
||||
3.832237063324972*^9}, {3.86473485530978*^9, 3.8647348676504307`*^9}, {
|
||||
3.864735093226548*^9, 3.864735157772408*^9}, {3.864735190139861*^9,
|
||||
3.8647352196850433`*^9}, {3.864735266280509*^9, 3.8647353129208384`*^9},
|
||||
3.864735346875978*^9, {3.8647360522199173`*^9, 3.864736100541009*^9}},
|
||||
CellLabel->"In[88]:=",ExpressionUUID->"f4f2f39c-a979-492f-a025-beb69389c674"],
|
||||
|
||||
Cell["Same as above, but numerically approximates it.", "Text",
|
||||
CellChangeTimes->{{3.832188787533435*^9,
|
||||
|
|
@ -628,195 +657,145 @@ Cell[BoxData[
|
|||
3.832186922217325*^9}, {3.832187020117702*^9, 3.832187021912196*^9}, {
|
||||
3.8321871707702923`*^9, 3.8321871736438*^9}, {3.8321877632435617`*^9,
|
||||
3.832187771381138*^9}, {3.83218786469829*^9, 3.832187868963749*^9}, {
|
||||
3.8322340786657343`*^9,
|
||||
3.8322341092778482`*^9}},ExpressionUUID->"e9aabedc-e11e-4cce-a76e-\
|
||||
c710d3384ca9"],
|
||||
3.8322340786657343`*^9, 3.8322341092778482`*^9}},
|
||||
CellLabel->"In[12]:=",ExpressionUUID->"e9aabedc-e11e-4cce-a76e-c710d3384ca9"],
|
||||
|
||||
Cell["Example usage. This is the square pyramid.", "Text",
|
||||
CellChangeTimes->{{3.832188805201276*^9,
|
||||
3.8321888300331697`*^9}},ExpressionUUID->"f2486377-4c48-4788-b4f2-\
|
||||
4a8d1780f87e"],
|
||||
Cell["It almost works with the tetrahedron.", "Text",
|
||||
CellChangeTimes->{{3.864739016815413*^9,
|
||||
3.8647390212370787`*^9}},ExpressionUUID->"253b2ba5-d3d8-487f-ae0b-\
|
||||
3c5567445616"],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"tetradj", "=",
|
||||
RowBox[{
|
||||
RowBox[{"PolyhedronData", "[",
|
||||
RowBox[{"\"\<Tetrahedron\>\"", ",", "\"\<Skeleton\>\""}], "]"}], "//",
|
||||
"AdjacencyMatrix"}]}], ";"}]], "Input",
|
||||
CellChangeTimes->{{3.864735715391293*^9, 3.864735755599956*^9}, {
|
||||
3.864736030861405*^9, 3.864736034053837*^9}},
|
||||
CellLabel->"In[83]:=",ExpressionUUID->"7ae018a2-0992-4320-92df-75ee8f9717e1"],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"findGextGivenAdjacency", "[",
|
||||
RowBox[{GridBox[{
|
||||
{"0", "1", "1", "1", "1"},
|
||||
{"1", "0", "1", "0", "1"},
|
||||
{"1", "1", "0", "1", "0"},
|
||||
{"1", "0", "1", "0", "1"},
|
||||
{"1", "1", "0", "1", "0"}
|
||||
}], ",", "1", ",", "2", ",", "6"}], "]"}], "//", "MatrixForm"}]], "Input",\
|
||||
|
||||
CellChangeTimes->{{3.8321795177164*^9, 3.83217952091615*^9}, {
|
||||
3.832179604052969*^9, 3.83217964535808*^9}, {3.832179812603285*^9,
|
||||
3.83217989257692*^9}, {3.832182603982696*^9, 3.832182604549707*^9}, {
|
||||
3.8321828395592403`*^9, 3.832182841112955*^9}, {3.832182959883296*^9,
|
||||
3.83218298064507*^9}, {3.8321830977278214`*^9, 3.832183138998757*^9}, {
|
||||
3.832183230730062*^9, 3.832183292328827*^9}, {3.832183519680952*^9,
|
||||
3.8321835213661003`*^9}, {3.832183609148136*^9, 3.8321836229774103`*^9}, {
|
||||
3.8321862070609922`*^9, 3.832186218032998*^9}, {3.832186249390174*^9,
|
||||
3.832186256142555*^9}, {3.8321863924121113`*^9, 3.8321864066698523`*^9}},
|
||||
CellLabel->"In[27]:=",ExpressionUUID->"43731109-f22e-4624-b7f9-248becc79bba"],
|
||||
RowBox[{"tetradj", ",", "1", ",", "2", ",", "5"}], "]"}], "//",
|
||||
"MatrixForm"}]], "Input",
|
||||
CellChangeTimes->{{3.8647359788048897`*^9, 3.864735984616076*^9}, {
|
||||
3.8647360377017927`*^9, 3.8647360448476257`*^9}, {3.864736109557313*^9,
|
||||
3.8647361135524054`*^9}},
|
||||
CellLabel->"In[91]:=",ExpressionUUID->"29c4fd45-69f8-4308-84f3-0c9572c9bb55"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Power", "infy",
|
||||
"\"Infinite expression \\!\\(\\*FractionBox[\\\"1\\\", \\\"0\\\"]\\) \
|
||||
encountered.\"", 2, 27, 79, 26206157531447520602, "Local"},
|
||||
encountered.\"", 2, 91, 252, 18949302130080748064, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.832182763093258*^9, 3.832182841541271*^9, 3.832182981310091*^9, {
|
||||
3.832183101347535*^9, 3.8321831394150257`*^9}, {3.832183231556478*^9,
|
||||
3.832183293258604*^9}, {3.8321835084041348`*^9, 3.8321835219952707`*^9}, {
|
||||
3.832183610774363*^9, 3.832183624231565*^9}, 3.8321860021042147`*^9,
|
||||
3.8321860748628817`*^9, 3.832186146263523*^9, {3.832186194392118*^9,
|
||||
3.832186256895705*^9}, {3.83218639372544*^9, 3.832186459711775*^9},
|
||||
3.832188871475355*^9, 3.832233759272257*^9, 3.8322357555615997`*^9,
|
||||
3.8322369958376913`*^9, 3.832237070276142*^9},
|
||||
3.8647359857098017`*^9, {3.86473604066442*^9, 3.864736055281802*^9}, {
|
||||
3.864736105160235*^9, 3.8647361139153233`*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[27]:=",ExpressionUUID->"c7c9db08-bc46-4183-ad6b-6d4b18afab25"],
|
||||
In[91]:=",ExpressionUUID->"069ce30e-51da-464a-9286-8ce88168184b"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Infinity", "indet",
|
||||
"\"Indeterminate expression \\!\\(\\*RowBox[{\\\"0\\\", \\\" \\\", \
|
||||
\\\"ComplexInfinity\\\"}]\\) encountered.\"", 2, 27, 80, 26206157531447520602,
|
||||
"Local"},
|
||||
\\\"ComplexInfinity\\\"}]\\) encountered.\"", 2, 91, 253,
|
||||
18949302130080748064, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.832182763093258*^9, 3.832182841541271*^9, 3.832182981310091*^9, {
|
||||
3.832183101347535*^9, 3.8321831394150257`*^9}, {3.832183231556478*^9,
|
||||
3.832183293258604*^9}, {3.8321835084041348`*^9, 3.8321835219952707`*^9}, {
|
||||
3.832183610774363*^9, 3.832183624231565*^9}, 3.8321860021042147`*^9,
|
||||
3.8321860748628817`*^9, 3.832186146263523*^9, {3.832186194392118*^9,
|
||||
3.832186256895705*^9}, {3.83218639372544*^9, 3.832186459711775*^9},
|
||||
3.832188871475355*^9, 3.832233759272257*^9, 3.8322357555615997`*^9,
|
||||
3.8322369958376913`*^9, 3.832237070280217*^9},
|
||||
3.8647359857098017`*^9, {3.86473604066442*^9, 3.864736055281802*^9}, {
|
||||
3.864736105160235*^9, 3.864736113926489*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[27]:=",ExpressionUUID->"f993da93-45d0-49f8-83fd-06a87a8acf55"],
|
||||
In[91]:=",ExpressionUUID->"11f99cbe-866b-4da5-846c-40c55dd85cc9"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Power", "infy",
|
||||
"\"Infinite expression \\!\\(\\*FractionBox[\\\"1\\\", \\\"0\\\"]\\) \
|
||||
encountered.\"", 2, 27, 81, 26206157531447520602, "Local"},
|
||||
encountered.\"", 2, 91, 254, 18949302130080748064, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.832182763093258*^9, 3.832182841541271*^9, 3.832182981310091*^9, {
|
||||
3.832183101347535*^9, 3.8321831394150257`*^9}, {3.832183231556478*^9,
|
||||
3.832183293258604*^9}, {3.8321835084041348`*^9, 3.8321835219952707`*^9}, {
|
||||
3.832183610774363*^9, 3.832183624231565*^9}, 3.8321860021042147`*^9,
|
||||
3.8321860748628817`*^9, 3.832186146263523*^9, {3.832186194392118*^9,
|
||||
3.832186256895705*^9}, {3.83218639372544*^9, 3.832186459711775*^9},
|
||||
3.832188871475355*^9, 3.832233759272257*^9, 3.8322357555615997`*^9,
|
||||
3.8322369958376913`*^9, 3.8322370702837954`*^9},
|
||||
3.8647359857098017`*^9, {3.86473604066442*^9, 3.864736055281802*^9}, {
|
||||
3.864736105160235*^9, 3.864736113934101*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[27]:=",ExpressionUUID->"8480abda-d8d0-4a9d-b8d2-cbc431df84ba"],
|
||||
In[91]:=",ExpressionUUID->"6c511ac6-894a-42d0-85ca-2f409b91ffb4"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Infinity", "indet",
|
||||
"\"Indeterminate expression \\!\\(\\*RowBox[{\\\"0\\\", \\\" \\\", \
|
||||
\\\"ComplexInfinity\\\"}]\\) encountered.\"", 2, 27, 82, 26206157531447520602,
|
||||
"Local"},
|
||||
\\\"ComplexInfinity\\\"}]\\) encountered.\"", 2, 91, 255,
|
||||
18949302130080748064, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.832182763093258*^9, 3.832182841541271*^9, 3.832182981310091*^9, {
|
||||
3.832183101347535*^9, 3.8321831394150257`*^9}, {3.832183231556478*^9,
|
||||
3.832183293258604*^9}, {3.8321835084041348`*^9, 3.8321835219952707`*^9}, {
|
||||
3.832183610774363*^9, 3.832183624231565*^9}, 3.8321860021042147`*^9,
|
||||
3.8321860748628817`*^9, 3.832186146263523*^9, {3.832186194392118*^9,
|
||||
3.832186256895705*^9}, {3.83218639372544*^9, 3.832186459711775*^9},
|
||||
3.832188871475355*^9, 3.832233759272257*^9, 3.8322357555615997`*^9,
|
||||
3.8322369958376913`*^9, 3.83223707028797*^9},
|
||||
3.8647359857098017`*^9, {3.86473604066442*^9, 3.864736055281802*^9}, {
|
||||
3.864736105160235*^9, 3.864736113941854*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[27]:=",ExpressionUUID->"e278507f-245d-47f1-b517-549c7ed89349"],
|
||||
In[91]:=",ExpressionUUID->"ea03061f-1629-49a1-8e21-d5adb3b3c4a0"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Power", "infy",
|
||||
"\"Infinite expression \\!\\(\\*FractionBox[\\\"1\\\", \\\"0\\\"]\\) \
|
||||
encountered.\"", 2, 27, 83, 26206157531447520602, "Local"},
|
||||
encountered.\"", 2, 91, 256, 18949302130080748064, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.832182763093258*^9, 3.832182841541271*^9, 3.832182981310091*^9, {
|
||||
3.832183101347535*^9, 3.8321831394150257`*^9}, {3.832183231556478*^9,
|
||||
3.832183293258604*^9}, {3.8321835084041348`*^9, 3.8321835219952707`*^9}, {
|
||||
3.832183610774363*^9, 3.832183624231565*^9}, 3.8321860021042147`*^9,
|
||||
3.8321860748628817`*^9, 3.832186146263523*^9, {3.832186194392118*^9,
|
||||
3.832186256895705*^9}, {3.83218639372544*^9, 3.832186459711775*^9},
|
||||
3.832188871475355*^9, 3.832233759272257*^9, 3.8322357555615997`*^9,
|
||||
3.8322369958376913`*^9, 3.832237070292264*^9},
|
||||
3.8647359857098017`*^9, {3.86473604066442*^9, 3.864736055281802*^9}, {
|
||||
3.864736105160235*^9, 3.8647361139498653`*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[27]:=",ExpressionUUID->"03a6534e-77ef-4bb4-b244-a417a4f2a3dd"],
|
||||
In[91]:=",ExpressionUUID->"effee00e-250a-4dbb-a7e5-dfe6fb7defea"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"General", "stop",
|
||||
"\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Power\\\", \\\"::\\\", \
|
||||
\\\"infy\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \
|
||||
calculation.\"", 2, 27, 84, 26206157531447520602, "Local"},
|
||||
calculation.\"", 2, 91, 257, 18949302130080748064, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.832182763093258*^9, 3.832182841541271*^9, 3.832182981310091*^9, {
|
||||
3.832183101347535*^9, 3.8321831394150257`*^9}, {3.832183231556478*^9,
|
||||
3.832183293258604*^9}, {3.8321835084041348`*^9, 3.8321835219952707`*^9}, {
|
||||
3.832183610774363*^9, 3.832183624231565*^9}, 3.8321860021042147`*^9,
|
||||
3.8321860748628817`*^9, 3.832186146263523*^9, {3.832186194392118*^9,
|
||||
3.832186256895705*^9}, {3.83218639372544*^9, 3.832186459711775*^9},
|
||||
3.832188871475355*^9, 3.832233759272257*^9, 3.8322357555615997`*^9,
|
||||
3.8322369958376913`*^9, 3.8322370702960443`*^9},
|
||||
3.8647359857098017`*^9, {3.86473604066442*^9, 3.864736055281802*^9}, {
|
||||
3.864736105160235*^9, 3.8647361139582453`*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[27]:=",ExpressionUUID->"a030bb44-bf09-4393-abc7-3f2bb7b5ac19"],
|
||||
In[91]:=",ExpressionUUID->"37d53405-8bca-435f-b2c7-8cda8da73049"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Infinity", "indet",
|
||||
"\"Indeterminate expression \\!\\(\\*RowBox[{\\\"0\\\", \\\" \\\", \
|
||||
\\\"ComplexInfinity\\\"}]\\) encountered.\"", 2, 27, 85, 26206157531447520602,
|
||||
"Local"},
|
||||
\\\"ComplexInfinity\\\"}]\\) encountered.\"", 2, 91, 258,
|
||||
18949302130080748064, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.832182763093258*^9, 3.832182841541271*^9, 3.832182981310091*^9, {
|
||||
3.832183101347535*^9, 3.8321831394150257`*^9}, {3.832183231556478*^9,
|
||||
3.832183293258604*^9}, {3.8321835084041348`*^9, 3.8321835219952707`*^9}, {
|
||||
3.832183610774363*^9, 3.832183624231565*^9}, 3.8321860021042147`*^9,
|
||||
3.8321860748628817`*^9, 3.832186146263523*^9, {3.832186194392118*^9,
|
||||
3.832186256895705*^9}, {3.83218639372544*^9, 3.832186459711775*^9},
|
||||
3.832188871475355*^9, 3.832233759272257*^9, 3.8322357555615997`*^9,
|
||||
3.8322369958376913`*^9, 3.8322370702991743`*^9},
|
||||
3.8647359857098017`*^9, {3.86473604066442*^9, 3.864736055281802*^9}, {
|
||||
3.864736105160235*^9, 3.8647361139676113`*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[27]:=",ExpressionUUID->"74f88af0-674b-40de-8074-8ed6f95ace99"],
|
||||
In[91]:=",ExpressionUUID->"89f114b0-9675-4ca6-9014-56c6286806a8"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"General", "stop",
|
||||
"\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Infinity\\\", \
|
||||
\\\"::\\\", \\\"indet\\\"}], \\\"MessageName\\\"]\\) will be suppressed \
|
||||
during this calculation.\"", 2, 27, 86, 26206157531447520602, "Local"},
|
||||
during this calculation.\"", 2, 91, 259, 18949302130080748064, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.832182763093258*^9, 3.832182841541271*^9, 3.832182981310091*^9, {
|
||||
3.832183101347535*^9, 3.8321831394150257`*^9}, {3.832183231556478*^9,
|
||||
3.832183293258604*^9}, {3.8321835084041348`*^9, 3.8321835219952707`*^9}, {
|
||||
3.832183610774363*^9, 3.832183624231565*^9}, 3.8321860021042147`*^9,
|
||||
3.8321860748628817`*^9, 3.832186146263523*^9, {3.832186194392118*^9,
|
||||
3.832186256895705*^9}, {3.83218639372544*^9, 3.832186459711775*^9},
|
||||
3.832188871475355*^9, 3.832233759272257*^9, 3.8322357555615997`*^9,
|
||||
3.8322369958376913`*^9, 3.8322370703021603`*^9},
|
||||
3.8647359857098017`*^9, {3.86473604066442*^9, 3.864736055281802*^9}, {
|
||||
3.864736105160235*^9, 3.864736113976234*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[27]:=",ExpressionUUID->"4194f6a4-417e-4717-9a7e-ad06fb2fd8fc"],
|
||||
In[91]:=",ExpressionUUID->"0412eea0-47cc-4bde-a051-03a82090edc2"],
|
||||
|
||||
Cell[BoxData[
|
||||
TagBox[
|
||||
|
|
@ -824,98 +803,42 @@ Cell[BoxData[
|
|||
{"1",
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}], "0", "0", "0", "0",
|
||||
RowBox[{"-",
|
||||
SqrtBox["2"]}]},
|
||||
RowBox[{"-", "1"}], "0", "0", "0",
|
||||
RowBox[{"-", "2"}]},
|
||||
{
|
||||
RowBox[{"-", "1"}], "1",
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "3"}],
|
||||
RowBox[{"-", "1"}], "0",
|
||||
RowBox[{
|
||||
RowBox[{"-", "2"}], " ",
|
||||
SqrtBox["2"]}],
|
||||
RowBox[{
|
||||
RowBox[{"-", "2"}], " ",
|
||||
SqrtBox["2"]}], "0", "0"},
|
||||
RowBox[{"-", "2"}], "0", "0"},
|
||||
{
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}], "1",
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}], "0", "0",
|
||||
SubscriptBox["b",
|
||||
RowBox[{"3", ",", "5"}]], "0", "0",
|
||||
SubscriptBox["b",
|
||||
RowBox[{"3", ",", "8"}]],
|
||||
SubscriptBox["b",
|
||||
RowBox[{"3", ",", "9"}]], "0"},
|
||||
{
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "3"}],
|
||||
RowBox[{"-", "1"}], "1",
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{
|
||||
RowBox[{"-", "2"}], " ",
|
||||
SqrtBox["2"]}], "0", "0",
|
||||
SubscriptBox["b",
|
||||
RowBox[{"4", ",", "9"}]], "0"},
|
||||
RowBox[{"3", ",", "7"}]], "0"},
|
||||
{
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}],
|
||||
SubscriptBox["b",
|
||||
RowBox[{"3", ",", "5"}]],
|
||||
RowBox[{"-", "1"}], "1",
|
||||
RowBox[{
|
||||
RowBox[{"-", "2"}], " ",
|
||||
SqrtBox["2"]}],
|
||||
SubscriptBox["b",
|
||||
RowBox[{"5", ",", "7"}]], "0", "0", "0"},
|
||||
RowBox[{"-", "2"}], "0", "0", "0"},
|
||||
{"0", "0", "0",
|
||||
RowBox[{
|
||||
RowBox[{"-", "2"}], " ",
|
||||
SqrtBox["2"]}],
|
||||
RowBox[{
|
||||
RowBox[{"-", "2"}], " ",
|
||||
SqrtBox["2"]}], "1",
|
||||
RowBox[{"-", "2"}], "1",
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "3"}],
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}]},
|
||||
{"0",
|
||||
RowBox[{
|
||||
RowBox[{"-", "2"}], " ",
|
||||
SqrtBox["2"]}], "0", "0",
|
||||
SubscriptBox["b",
|
||||
RowBox[{"5", ",", "7"}]],
|
||||
RowBox[{"-", "1"}], "1",
|
||||
RowBox[{"-", "1"}],
|
||||
SubscriptBox["b",
|
||||
RowBox[{"7", ",", "9"}]],
|
||||
RowBox[{"-", "1"}]},
|
||||
{"0",
|
||||
RowBox[{
|
||||
RowBox[{"-", "2"}], " ",
|
||||
SqrtBox["2"]}],
|
||||
SubscriptBox["b",
|
||||
RowBox[{"3", ",", "8"}]], "0", "0",
|
||||
RowBox[{"-", "3"}],
|
||||
RowBox[{"-", "2"}], "0", "0",
|
||||
RowBox[{"-", "1"}], "1",
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}]},
|
||||
{"0", "0",
|
||||
SubscriptBox["b",
|
||||
RowBox[{"3", ",", "9"}]],
|
||||
SubscriptBox["b",
|
||||
RowBox[{"4", ",", "9"}]], "0",
|
||||
RowBox[{"3", ",", "7"}]], "0",
|
||||
RowBox[{"-", "1"}],
|
||||
SubscriptBox["b",
|
||||
RowBox[{"7", ",", "9"}]],
|
||||
RowBox[{"-", "1"}], "1",
|
||||
RowBox[{"-", "1"}]},
|
||||
{
|
||||
RowBox[{"-",
|
||||
SqrtBox["2"]}], "0", "0", "0", "0",
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "2"}], "0", "0", "0",
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}],
|
||||
RowBox[{"-", "1"}], "1"}
|
||||
|
|
@ -930,170 +853,17 @@ Cell[BoxData[
|
|||
Offset[0.2]}}], "\[NoBreak]", ")"}],
|
||||
Function[BoxForm`e$,
|
||||
MatrixForm[BoxForm`e$]]]], "Output",
|
||||
CellChangeTimes->{
|
||||
3.832179783917717*^9, {3.832179814342978*^9, 3.832179861361418*^9},
|
||||
3.832179893589129*^9, 3.832182605794438*^9, 3.832182763127335*^9,
|
||||
3.832182841690147*^9, 3.8321829813444138`*^9, {3.832183101533333*^9,
|
||||
3.832183139582876*^9}, {3.8321832317345877`*^9, 3.832183293439227*^9}, {
|
||||
3.832183508587723*^9, 3.8321835221677103`*^9}, {3.832183611364024*^9,
|
||||
3.832183624318857*^9}, 3.832186002187941*^9, 3.832186074905888*^9,
|
||||
3.832186146315591*^9, {3.832186194447332*^9, 3.832186256956686*^9}, {
|
||||
3.832186393788492*^9, 3.832186459760105*^9}, 3.8321888717648478`*^9,
|
||||
3.832233759570629*^9, 3.832235755608419*^9, 3.832236996021813*^9,
|
||||
3.832237070321662*^9},
|
||||
CellChangeTimes->{{3.864736017812807*^9, 3.864736055348247*^9}, {
|
||||
3.864736105228671*^9, 3.864736113985414*^9}},
|
||||
CellLabel->
|
||||
"Out[27]//MatrixForm=",ExpressionUUID->"fdc7f6af-fd0d-4929-9e08-\
|
||||
6b6c1e05f6e9"]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"findGextGivenAdjacencyN", "[",
|
||||
RowBox[{GridBox[{
|
||||
{"0", "1", "1", "1", "1", "0"},
|
||||
{"1", "0", "1", "0", "1", "1"},
|
||||
{"1", "1", "0", "1", "0", "1"},
|
||||
{"1", "0", "1", "0", "1", "1"},
|
||||
{"1", "1", "0", "1", "0", "1"},
|
||||
{"0", "1", "1", "1", "1", "0"}
|
||||
}], ",", "1", ",", "2", ",", "7"}], "]"}], "//", "MatrixForm"}]], "Input",\
|
||||
|
||||
CellChangeTimes->{{3.832234454719741*^9, 3.8322344554351397`*^9}, {
|
||||
3.832234518495953*^9, 3.83223456722535*^9}, {3.832234599975768*^9,
|
||||
3.832234600508299*^9}, 3.832235119976883*^9, {3.832235625747163*^9,
|
||||
3.8322356282703333`*^9}, {3.832235774053183*^9, 3.832235776293931*^9}, {
|
||||
3.832236470892282*^9, 3.83223647934175*^9}, 3.832237115236012*^9},
|
||||
CellLabel->"In[29]:=",ExpressionUUID->"02de66da-bc38-41f4-8a77-b770b877dfca"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Power", "infy",
|
||||
"\"Infinite expression \\!\\(\\*FractionBox[\\\"1\\\", \\\"0\\\"]\\) \
|
||||
encountered.\"", 2, 29, 95, 26206157531447520602, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.8322345680091257`*^9, 3.832234601539942*^9, 3.832235120973035*^9,
|
||||
3.8322356288058453`*^9, {3.8322357660188637`*^9, 3.8322357775136843`*^9}, {
|
||||
3.832237109420858*^9, 3.832237115980057*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[29]:=",ExpressionUUID->"d00c981d-e8e3-45ab-b623-d93a843ce6a8"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Infinity", "indet",
|
||||
"\"Indeterminate expression \\!\\(\\*RowBox[{\\\"0\\\", \\\" \\\", \
|
||||
\\\"ComplexInfinity\\\"}]\\) encountered.\"", 2, 29, 96, 26206157531447520602,
|
||||
"Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.8322345680091257`*^9, 3.832234601539942*^9, 3.832235120973035*^9,
|
||||
3.8322356288058453`*^9, {3.8322357660188637`*^9, 3.8322357775136843`*^9}, {
|
||||
3.832237109420858*^9, 3.832237115983798*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[29]:=",ExpressionUUID->"05ac3f26-ef03-4ab1-8497-67737d7312c5"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Power", "infy",
|
||||
"\"Infinite expression \\!\\(\\*FractionBox[\\\"1\\\", \\\"0\\\"]\\) \
|
||||
encountered.\"", 2, 29, 97, 26206157531447520602, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.8322345680091257`*^9, 3.832234601539942*^9, 3.832235120973035*^9,
|
||||
3.8322356288058453`*^9, {3.8322357660188637`*^9, 3.8322357775136843`*^9}, {
|
||||
3.832237109420858*^9, 3.8322371159869213`*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[29]:=",ExpressionUUID->"74c26ce0-ced0-4e13-a3d5-a4a026eb0e83"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Infinity", "indet",
|
||||
"\"Indeterminate expression \\!\\(\\*RowBox[{\\\"0\\\", \\\" \\\", \
|
||||
\\\"ComplexInfinity\\\"}]\\) encountered.\"", 2, 29, 98, 26206157531447520602,
|
||||
"Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.8322345680091257`*^9, 3.832234601539942*^9, 3.832235120973035*^9,
|
||||
3.8322356288058453`*^9, {3.8322357660188637`*^9, 3.8322357775136843`*^9}, {
|
||||
3.832237109420858*^9, 3.8322371159901047`*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[29]:=",ExpressionUUID->"ea19ebab-bd10-406a-834f-3c7be4208e03"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Power", "infy",
|
||||
"\"Infinite expression \\!\\(\\*FractionBox[\\\"1\\\", \\\"0\\\"]\\) \
|
||||
encountered.\"", 2, 29, 99, 26206157531447520602, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.8322345680091257`*^9, 3.832234601539942*^9, 3.832235120973035*^9,
|
||||
3.8322356288058453`*^9, {3.8322357660188637`*^9, 3.8322357775136843`*^9}, {
|
||||
3.832237109420858*^9, 3.832237115994192*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[29]:=",ExpressionUUID->"a0e31f72-3b86-40f7-9eec-6263fa172fe4"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"General", "stop",
|
||||
"\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Power\\\", \\\"::\\\", \
|
||||
\\\"infy\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \
|
||||
calculation.\"", 2, 29, 100, 26206157531447520602, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.8322345680091257`*^9, 3.832234601539942*^9, 3.832235120973035*^9,
|
||||
3.8322356288058453`*^9, {3.8322357660188637`*^9, 3.8322357775136843`*^9}, {
|
||||
3.832237109420858*^9, 3.832237115997994*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[29]:=",ExpressionUUID->"89eace12-6b46-40eb-aadd-50e5aaa3bd9f"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"Infinity", "indet",
|
||||
"\"Indeterminate expression \\!\\(\\*RowBox[{\\\"0\\\", \\\" \\\", \
|
||||
\\\"ComplexInfinity\\\"}]\\) encountered.\"", 2, 29, 101,
|
||||
26206157531447520602, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.8322345680091257`*^9, 3.832234601539942*^9, 3.832235120973035*^9,
|
||||
3.8322356288058453`*^9, {3.8322357660188637`*^9, 3.8322357775136843`*^9}, {
|
||||
3.832237109420858*^9, 3.832237116001873*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[29]:=",ExpressionUUID->"5375cd8f-e536-4493-a5bd-41e24879aff7"],
|
||||
|
||||
Cell[BoxData[
|
||||
TemplateBox[{
|
||||
"General", "stop",
|
||||
"\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Infinity\\\", \
|
||||
\\\"::\\\", \\\"indet\\\"}], \\\"MessageName\\\"]\\) will be suppressed \
|
||||
during this calculation.\"", 2, 29, 102, 26206157531447520602, "Local"},
|
||||
"MessageTemplate"]], "Message", "MSG",
|
||||
CellChangeTimes->{
|
||||
3.8322345680091257`*^9, 3.832234601539942*^9, 3.832235120973035*^9,
|
||||
3.8322356288058453`*^9, {3.8322357660188637`*^9, 3.8322357775136843`*^9}, {
|
||||
3.832237109420858*^9, 3.832237116005769*^9}},
|
||||
CellLabel->
|
||||
"During evaluation of \
|
||||
In[29]:=",ExpressionUUID->"be185428-a448-4979-81b7-42b96c1c043f"],
|
||||
|
||||
Cell[BoxData["$Aborted"], "Output",
|
||||
CellChangeTimes->{3.832234568621504*^9, 3.832235117716137*^9,
|
||||
3.8322352036712923`*^9, 3.832235654229196*^9, 3.832235771697427*^9,
|
||||
3.832236933730206*^9, 3.832237112863658*^9, 3.832237442102853*^9},
|
||||
CellLabel->"Out[29]=",ExpressionUUID->"6989777a-5d19-4e97-ad8e-85324d649c62"]
|
||||
"Out[91]//MatrixForm=",ExpressionUUID->"81437b0a-8664-4d33-b2b9-\
|
||||
fd25f7260eef"]
|
||||
}, Open ]]
|
||||
}, Open ]]
|
||||
},
|
||||
WindowSize->{1425., 776.25},
|
||||
WindowMargins->{{7.5, Automatic}, {7.5, Automatic}},
|
||||
FrontEndVersion->"12.2 for Linux x86 (64-bit) (December 12, 2020)",
|
||||
WindowSize->{1437., 787.5},
|
||||
WindowMargins->{{1.5, Automatic}, {1.5, Automatic}},
|
||||
FrontEndVersion->"13.0 for Linux x86 (64-bit) (February 4, 2022)",
|
||||
StyleDefinitions->"Default.nb",
|
||||
ExpressionUUID->"8df4a218-f4b3-4aa1-ac74-2935a02f7ddc"
|
||||
]
|
||||
|
|
@ -1109,59 +879,52 @@ CellTagsIndex->{}
|
|||
(*NotebookFileOutline
|
||||
Notebook[{
|
||||
Cell[CellGroupData[{
|
||||
Cell[580, 22, 359, 6, 29, "Input",ExpressionUUID->"414a3c9b-c835-4353-8314-610b387cd4fe"],
|
||||
Cell[942, 30, 507, 12, 23, "Print",ExpressionUUID->"fa2b838b-e3df-4e8d-9350-d8f470c0acc1"],
|
||||
Cell[1452, 44, 651, 14, 22, "Message",ExpressionUUID->"7cedf722-9dff-466e-8c29-7474221bbcff"],
|
||||
Cell[2106, 60, 688, 15, 25, "Print",ExpressionUUID->"bc4bba27-1aaf-4b2a-b377-2ee419fb494f"]
|
||||
Cell[580, 22, 181, 3, 98, "Title",ExpressionUUID->"c51c1c8b-2540-4a63-92f6-4e7d3d5f9d76"],
|
||||
Cell[764, 27, 665, 12, 81, "Text",ExpressionUUID->"c3406f07-a0d8-4f8a-a2e4-1d424c3c89ef"],
|
||||
Cell[CellGroupData[{
|
||||
Cell[1454, 43, 359, 6, 29, "Input",ExpressionUUID->"414a3c9b-c835-4353-8314-610b387cd4fe"],
|
||||
Cell[1816, 51, 529, 12, 23, "Print",ExpressionUUID->"9a0f644e-76e7-49b2-bf2e-a5a0439d2bff"],
|
||||
Cell[2348, 65, 673, 14, 28, "Message",ExpressionUUID->"1c5f7cf6-0738-487e-8e29-494d036393b4"],
|
||||
Cell[3024, 81, 709, 15, 25, "Print",ExpressionUUID->"f93216f6-8658-427f-a66d-a212aa30c39f"]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[2831, 80, 198, 3, 29, "Input",ExpressionUUID->"f02af3bb-ed9d-4fb8-9ab5-418e5d718cf5"],
|
||||
Cell[3032, 85, 607, 12, 54, "Output",ExpressionUUID->"eb6e8d8d-44bf-42ef-b37b-df6773c2cd46"]
|
||||
Cell[3770, 101, 198, 3, 29, "Input",ExpressionUUID->"f02af3bb-ed9d-4fb8-9ab5-418e5d718cf5"],
|
||||
Cell[3971, 106, 629, 12, 54, "Output",ExpressionUUID->"31c0c59f-a2fa-4297-b979-9547b625ff8b"]
|
||||
}, Open ]],
|
||||
Cell[3654, 100, 184, 3, 35, "Text",ExpressionUUID->"9fb785ee-e560-44c5-a5b3-5327bd61a726"],
|
||||
Cell[3841, 105, 647, 13, 29, "Input",ExpressionUUID->"7e4471aa-3419-4361-9954-ca85e8fdbcea"],
|
||||
Cell[4491, 120, 191, 3, 35, "Text",ExpressionUUID->"9974cf68-13cb-4621-b559-180b9188b28d"],
|
||||
Cell[4685, 125, 531, 12, 29, "Input",ExpressionUUID->"64960a86-3c40-410a-a0bf-67dc0dda7253"],
|
||||
Cell[5219, 139, 202, 3, 35, "Text",ExpressionUUID->"368224c4-3094-4b81-8a24-52920579e0af"],
|
||||
Cell[5424, 144, 403, 8, 29, "Input",ExpressionUUID->"2df0273a-68b0-4420-a181-5533de3142ef"],
|
||||
Cell[5830, 154, 256, 6, 35, "Text",ExpressionUUID->"d7357423-e955-4cba-b0ba-acc9d2b7e0e5"],
|
||||
Cell[6089, 162, 4540, 120, 135, "Input",ExpressionUUID->"466eedf4-1501-4c34-b467-6afcd6ee9c2b"],
|
||||
Cell[10632, 284, 215, 5, 35, "Text",ExpressionUUID->"4ea56a77-27f9-4776-93c6-8db6873f4f90"],
|
||||
Cell[10850, 291, 512, 10, 29, "Input",ExpressionUUID->"07904a6d-75de-42b6-bd6e-25258c9dfc13"],
|
||||
Cell[11365, 303, 641, 15, 36, "Text",ExpressionUUID->"551f2841-8783-4e7e-8126-fa2d7423c031"],
|
||||
Cell[12009, 320, 2379, 65, 50, "Input",ExpressionUUID->"bf8ef1f1-47be-4283-b703-c185b6f0b640"],
|
||||
Cell[14391, 387, 242, 6, 35, "Text",ExpressionUUID->"40d5a3ff-8fe6-48ac-bfbe-6a97c5e28c14"],
|
||||
Cell[14636, 395, 582, 13, 29, "Input",ExpressionUUID->"420e0d3e-8926-42c8-bf5b-90e13c9517d3"],
|
||||
Cell[15221, 410, 182, 3, 35, "Text",ExpressionUUID->"48590ebf-9c87-4ec4-bfbf-27e74718b29f"],
|
||||
Cell[15406, 415, 657, 18, 30, "Input",ExpressionUUID->"6be67f5a-9ae0-4ab1-a49b-076a5355b7fb"],
|
||||
Cell[16066, 435, 479, 9, 58, "Text",ExpressionUUID->"5352eb21-29c8-493a-98a4-6ede330dc961"],
|
||||
Cell[16548, 446, 4329, 94, 257, "Input",ExpressionUUID->"f4f2f39c-a979-492f-a025-beb69389c674"],
|
||||
Cell[20880, 542, 189, 3, 35, "Text",ExpressionUUID->"d96df70c-f12c-4947-8ff1-cf67a6e8d5f1"],
|
||||
Cell[21072, 547, 3455, 85, 216, "Input",ExpressionUUID->"e9aabedc-e11e-4cce-a76e-c710d3384ca9"],
|
||||
Cell[24530, 634, 186, 3, 35, "Text",ExpressionUUID->"f2486377-4c48-4788-b4f2-4a8d1780f87e"],
|
||||
Cell[4615, 121, 184, 3, 35, "Text",ExpressionUUID->"9fb785ee-e560-44c5-a5b3-5327bd61a726"],
|
||||
Cell[4802, 126, 647, 13, 29, "Input",ExpressionUUID->"7e4471aa-3419-4361-9954-ca85e8fdbcea"],
|
||||
Cell[5452, 141, 191, 3, 35, "Text",ExpressionUUID->"9974cf68-13cb-4621-b559-180b9188b28d"],
|
||||
Cell[5646, 146, 531, 12, 29, "Input",ExpressionUUID->"64960a86-3c40-410a-a0bf-67dc0dda7253"],
|
||||
Cell[6180, 160, 202, 3, 35, "Text",ExpressionUUID->"368224c4-3094-4b81-8a24-52920579e0af"],
|
||||
Cell[6385, 165, 403, 8, 29, "Input",ExpressionUUID->"2df0273a-68b0-4420-a181-5533de3142ef"],
|
||||
Cell[6791, 175, 256, 6, 35, "Text",ExpressionUUID->"d7357423-e955-4cba-b0ba-acc9d2b7e0e5"],
|
||||
Cell[7050, 183, 4540, 120, 135, "Input",ExpressionUUID->"466eedf4-1501-4c34-b467-6afcd6ee9c2b"],
|
||||
Cell[11593, 305, 215, 5, 35, "Text",ExpressionUUID->"4ea56a77-27f9-4776-93c6-8db6873f4f90"],
|
||||
Cell[11811, 312, 512, 10, 29, "Input",ExpressionUUID->"07904a6d-75de-42b6-bd6e-25258c9dfc13"],
|
||||
Cell[12326, 324, 610, 14, 36, "Text",ExpressionUUID->"551f2841-8783-4e7e-8126-fa2d7423c031"],
|
||||
Cell[12939, 340, 2379, 65, 50, "Input",ExpressionUUID->"bf8ef1f1-47be-4283-b703-c185b6f0b640"],
|
||||
Cell[15321, 407, 242, 6, 35, "Text",ExpressionUUID->"40d5a3ff-8fe6-48ac-bfbe-6a97c5e28c14"],
|
||||
Cell[15566, 415, 581, 13, 29, "Input",ExpressionUUID->"420e0d3e-8926-42c8-bf5b-90e13c9517d3"],
|
||||
Cell[16150, 430, 182, 3, 35, "Text",ExpressionUUID->"48590ebf-9c87-4ec4-bfbf-27e74718b29f"],
|
||||
Cell[16335, 435, 657, 18, 30, "Input",ExpressionUUID->"6be67f5a-9ae0-4ab1-a49b-076a5355b7fb"],
|
||||
Cell[16995, 455, 479, 9, 58, "Text",ExpressionUUID->"5352eb21-29c8-493a-98a4-6ede330dc961"],
|
||||
Cell[17477, 466, 4836, 103, 278, "Input",ExpressionUUID->"f4f2f39c-a979-492f-a025-beb69389c674"],
|
||||
Cell[22316, 571, 189, 3, 35, "Text",ExpressionUUID->"d96df70c-f12c-4947-8ff1-cf67a6e8d5f1"],
|
||||
Cell[22508, 576, 3474, 84, 216, "Input",ExpressionUUID->"e9aabedc-e11e-4cce-a76e-c710d3384ca9"],
|
||||
Cell[25985, 662, 181, 3, 35, "Text",ExpressionUUID->"253b2ba5-d3d8-487f-ae0b-3c5567445616"],
|
||||
Cell[26169, 667, 413, 9, 29, "Input",ExpressionUUID->"7ae018a2-0992-4320-92df-75ee8f9717e1"],
|
||||
Cell[CellGroupData[{
|
||||
Cell[24741, 641, 1061, 20, 95, "Input",ExpressionUUID->"43731109-f22e-4624-b7f9-248becc79bba"],
|
||||
Cell[25805, 663, 910, 17, 39, "Message",ExpressionUUID->"c7c9db08-bc46-4183-ad6b-6d4b18afab25"],
|
||||
Cell[26718, 682, 945, 18, 22, "Message",ExpressionUUID->"f993da93-45d0-49f8-83fd-06a87a8acf55"],
|
||||
Cell[27666, 702, 912, 17, 39, "Message",ExpressionUUID->"8480abda-d8d0-4a9d-b8d2-cbc431df84ba"],
|
||||
Cell[28581, 721, 944, 18, 22, "Message",ExpressionUUID->"e278507f-245d-47f1-b517-549c7ed89349"],
|
||||
Cell[29528, 741, 910, 17, 39, "Message",ExpressionUUID->"03a6534e-77ef-4bb4-b244-a417a4f2a3dd"],
|
||||
Cell[30441, 760, 992, 18, 22, "Message",ExpressionUUID->"a030bb44-bf09-4393-abc7-3f2bb7b5ac19"],
|
||||
Cell[31436, 780, 947, 18, 22, "Message",ExpressionUUID->"74f88af0-674b-40de-8074-8ed6f95ace99"],
|
||||
Cell[32386, 800, 996, 18, 22, "Message",ExpressionUUID->"4194f6a4-417e-4717-9a7e-ad06fb2fd8fc"],
|
||||
Cell[33385, 820, 3865, 125, 235, "Output",ExpressionUUID->"fdc7f6af-fd0d-4929-9e08-6b6c1e05f6e9"]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[37287, 950, 833, 17, 113, "Input",ExpressionUUID->"02de66da-bc38-41f4-8a77-b770b877dfca"],
|
||||
Cell[38123, 969, 547, 12, 39, "Message",ExpressionUUID->"d00c981d-e8e3-45ab-b623-d93a843ce6a8"],
|
||||
Cell[38673, 983, 582, 13, 22, "Message",ExpressionUUID->"05ac3f26-ef03-4ab1-8497-67737d7312c5"],
|
||||
Cell[39258, 998, 549, 12, 39, "Message",ExpressionUUID->"74c26ce0-ced0-4e13-a3d5-a4a026eb0e83"],
|
||||
Cell[39810, 1012, 584, 13, 22, "Message",ExpressionUUID->"ea19ebab-bd10-406a-834f-3c7be4208e03"],
|
||||
Cell[40397, 1027, 547, 12, 39, "Message",ExpressionUUID->"a0e31f72-3b86-40f7-9eec-6263fa172fe4"],
|
||||
Cell[40947, 1041, 628, 13, 22, "Message",ExpressionUUID->"89eace12-6b46-40eb-aadd-50e5aaa3bd9f"],
|
||||
Cell[41578, 1056, 583, 13, 22, "Message",ExpressionUUID->"5375cd8f-e536-4493-a5bd-41e24879aff7"],
|
||||
Cell[42164, 1071, 632, 13, 22, "Message",ExpressionUUID->"be185428-a448-4979-81b7-42b96c1c043f"],
|
||||
Cell[42799, 1086, 318, 4, 33, "Output",ExpressionUUID->"6989777a-5d19-4e97-ad8e-85324d649c62"]
|
||||
Cell[26607, 680, 412, 8, 29, "Input",ExpressionUUID->"29c4fd45-69f8-4308-84f3-0c9572c9bb55"],
|
||||
Cell[27022, 690, 473, 11, 39, "Message",ExpressionUUID->"069ce30e-51da-464a-9286-8ce88168184b"],
|
||||
Cell[27498, 703, 506, 12, 28, "Message",ExpressionUUID->"11f99cbe-866b-4da5-846c-40c55dd85cc9"],
|
||||
Cell[28007, 717, 471, 11, 39, "Message",ExpressionUUID->"6c511ac6-894a-42d0-85ca-2f409b91ffb4"],
|
||||
Cell[28481, 730, 506, 12, 28, "Message",ExpressionUUID->"ea03061f-1629-49a1-8e21-d5adb3b3c4a0"],
|
||||
Cell[28990, 744, 473, 11, 39, "Message",ExpressionUUID->"effee00e-250a-4dbb-a7e5-dfe6fb7defea"],
|
||||
Cell[29466, 757, 553, 12, 28, "Message",ExpressionUUID->"37d53405-8bca-435f-b2c7-8cda8da73049"],
|
||||
Cell[30022, 771, 508, 12, 28, "Message",ExpressionUUID->"89f114b0-9675-4ca6-9014-56c6286806a8"],
|
||||
Cell[30533, 785, 555, 12, 28, "Message",ExpressionUUID->"0412eea0-47cc-4bde-a051-03a82090edc2"],
|
||||
Cell[31091, 799, 1803, 60, 168, "Output",ExpressionUUID->"81437b0a-8664-4d33-b2b9-fd25f7260eef"]
|
||||
}, Open ]]
|
||||
}, Open ]]
|
||||
}
|
||||
]
|
||||
|
|
|
|||
1768
polyhedra/gluing.nb
1768
polyhedra/gluing.nb
File diff suppressed because it is too large
Load diff
107626
polyhedra/polyhedra.nb
107626
polyhedra/polyhedra.nb
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue