Re: SciPy-User Digest, Vol 231, Issue 1

Samuel Dupree <[email protected]> Mon, 23 Jan 2023 13:25:50 -0500
Newsgroups gmane.comp.python.scientific.user
Organization XayDeltaOne
Message-ID <[email protected]>
VGhlIHByb2JsZW0gSSBoYXZlIGlzIGlmIHRoZSBpbnRlcnBvbGF0b3Igb25seSBzZWVzIG51bWJl
cnMuIFVubGVzcyANCnRoZXJlIGlzIHNvbWUgdW5kZXJjb3ZlciBtZWFucyBieSB3aGljaCB0aGUg
aW50ZXJwb2xhdG9yIHNlZXMgdGhlIA0KZnVuY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSB0aGUgbnVt
YmVycyBwYXNzZWQgdG8gaXQsIGhvdyBkb2VzIGl0IGtub3cgdGhlIA0KY29udmVyc2lvbiBmYWN0
b3IgaXMgdXNlZCBhcmd1bWVudCB0byB0aGUgc2luZSBmdW5jdGlvbj8gRnVydGhlcm1vcmUsIElm
IA0KSSB3ZXJlIHRvIHJld3JpdGUgdGhlIHByb2dyYW0gYXMgZm9sbG93cywgSSBzdGlsbCBnZXQg
dGhlIHNhbWUgcmVzdWx0cy4NCg0KDQoNCmltcG9ydCBudW1weSBhcyBucA0KaW1wb3J0IG1hdHBs
b3RsaWIucHlwbG90IGFzIHBsdA0KZnJvbSBzY2lweS5pbnRlcnBvbGF0ZSBpbXBvcnQgcGNoaXBf
aW50ZXJwb2xhdGUNCg0KeF9vYnNlcnZlZMKgwqDCoCA9IG5wLmxpbnNwYWNlKDAuMCwgMzYwLjAs
IDEwMCkNCnh4X29ic2VydmVkwqDCoCA9IG5wLnBpKnhfb2JzZXJ2ZWQvMTgwDQoNCnlfb2JzZXJ2
ZWTCoMKgwqAgPSBucC5zaW4oeHhfb2JzZXJ2ZWQpDQpkeWR4X29ic2VydmVkID0gbnAuY29zKHh4
X29ic2VydmVkKQ0KDQp4wqDCoMKgID0gbnAubGluc3BhY2UobWluKHhfb2JzZXJ2ZWQpLCBtYXgo
eF9vYnNlcnZlZCksIG51bT0xMDApDQp5wqDCoMKgID0gcGNoaXBfaW50ZXJwb2xhdGUoeF9vYnNl
cnZlZCwgeV9vYnNlcnZlZCwgeCwgZGVyPTAsIGF4aXM9MCkNCmR5ZHggPSBwY2hpcF9pbnRlcnBv
bGF0ZSh4X29ic2VydmVkLCB5X29ic2VydmVkLCB4LCBkZXI9MSwgYXhpcz0wKQ0KDQoNCm5kaW0g
PSBsZW4oIGR5ZHggKQ0KcHJpbnQoKQ0KZm9yIGkgaW4gcmFuZ2UoMCxuZGltKToNCiDCoMKgwqDC
oCBwcmludCggZHlkeF9vYnNlcnZlZFtpXSwgIsKgICIsIGR5ZHhbaV0gKQ0KDQoNCnBsdC5wbG90
KHhfb2JzZXJ2ZWQswqDCoMKgIHlfb2JzZXJ2ZWQsICJibyIgLCBsYWJlbD0ib2JzZXJ2YXRpb24g
ZnVuY3QiKQ0KcGx0LnBsb3QoeF9vYnNlcnZlZCwgZHlkeF9vYnNlcnZlZCwgInJ4IiAsIGxhYmVs
PSJvYnNlcnZhdGlvbiBkZXJpdiIpDQoNCnBsdC5wbG90KHjCoMKgwqDCoMKgwqDCoMKgICwgecKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgLCAiYy0iLCBsYWJlbD0icGNoaXAgaW50ZXJwb2xhdGlvbiBm
dW5jdCIpDQpwbHQucGxvdCh4wqDCoMKgwqDCoMKgwqDCoCAsIGR5ZHjCoMKgwqDCoMKgwqDCoMKg
ICwgImstIiwgbGFiZWw9InBjaGlwIGludGVycG9sYXRpb24gZGVyaXYiKQ0KcGx0LmxlZ2VuZCgp
DQpwbHQuZ3JpZCgpDQpwbHQuc2F2ZWZpZygicGNoaXBfZXhhbXBsZV8wMS5wbmciKQ0KcGx0LnNo
b3coKQ0KDQoNCkFueSB0aG91Z2h0cz8NCg0KU2FtIER1cHJlZS4NCg0KDQpPbiAxLzIzLzIzIDEy
OjAwLCBzY2lweS11c2VyLXJlcXVlc3RAcHl0aG9uLm9yZyB3cm90ZToNCj4gU2VuZCBTY2lQeS1V
c2VyIG1haWxpbmcgbGlzdCBzdWJtaXNzaW9ucyB0bw0KPiAJc2NpcHktdXNlckBweXRob24ub3Jn
DQo+DQo+IFRvIHN1YnNjcmliZSBvciB1bnN1YnNjcmliZSB2aWEgdGhlIFdvcmxkIFdpZGUgV2Vi
LCB2aXNpdA0KPiAJaHR0cHM6Ly9tYWlsLnB5dGhvbi5vcmcvbWFpbG1hbjMvbGlzdHMvc2NpcHkt
dXNlci5weXRob24ub3JnLw0KPiBvciwgdmlhIGVtYWlsLCBzZW5kIGEgbWVzc2FnZSB3aXRoIHN1
YmplY3Qgb3IgYm9keSAnaGVscCcgdG8NCj4gCXNjaXB5LXVzZXItcmVxdWVzdEBweXRob24ub3Jn
DQo+DQo+IFlvdSBjYW4gcmVhY2ggdGhlIHBlcnNvbiBtYW5hZ2luZyB0aGUgbGlzdCBhdA0KPiAJ
c2NpcHktdXNlci1vd25lckBweXRob24ub3JnDQo+DQo+IFdoZW4gcmVwbHlpbmcsIHBsZWFzZSBl
ZGl0IHlvdXIgU3ViamVjdCBsaW5lIHNvIGl0IGlzIG1vcmUgc3BlY2lmaWMNCj4gdGhhbiAiUmU6
IENvbnRlbnRzIG9mIFNjaVB5LVVzZXIgZGlnZXN0Li4uIg0KPg0KPiBUb2RheSdzIFRvcGljczoN
Cj4NCj4gICAgIDEuIFJlOiBHZXR0aW5nIHNjaXB5LmludGVycG9sYXRlLnBjaGlwX2ludGVycG9s
YXRlIHRvIHJldHVybiB0aGUgZmlyc3QgZGVyaXZhdGl2ZSBvZiBhIHBjaGlwIGludGVycG9sYXRp
b24NCj4gICAgICAgIChFdmdlbmkgQnVyb3Zza2kpDQo+DQo+DQo+IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4N
Cj4gTWVzc2FnZTogMQ0KPiBEYXRlOiBNb24sIDIzIEphbiAyMDIzIDExOjIwOjQ1ICswMzAwDQo+
IEZyb206IEV2Z2VuaSBCdXJvdnNraSA8ZXZnZW55LmJ1cm92c2tpeUBnbWFpbC5jb20+DQo+IFN1
YmplY3Q6IFtTY2lQeS1Vc2VyXSBSZTogR2V0dGluZyBzY2lweS5pbnRlcnBvbGF0ZS5wY2hpcF9p
bnRlcnBvbGF0ZQ0KPiAJdG8gcmV0dXJuIHRoZSBmaXJzdCBkZXJpdmF0aXZlIG9mIGEgcGNoaXAg
aW50ZXJwb2xhdGlvbg0KPiBUbzogU2NpUHkgVXNlcnMgTGlzdCA8c2NpcHktdXNlckBweXRob24u
b3JnPg0KPiBNZXNzYWdlLUlEOg0KPiAJPENBTVJvMGl0YTl5aFZMY0VUYUJOUE9hTDVtWU12bThO
MUtRVi09a20wcitwNWNKUGVrZ0BtYWlsLmdtYWlsLmNvbT4NCj4gQ29udGVudC1UeXBlOiB0ZXh0
L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCj4NCj4gV2VsbCwgdGhlIGRlcml2YXRpdmUgb2Ygc2lu
KHgqcGkvMTgwKSBpcyBwaS8xODAgKiBjb3MoeCpwaS8xODApLCBhbmQNCj4gdGhlIGludGVycG9s
YXRvciBwaWNrcyB0aGlzIHVwLg0KPg0KPiBPbiBNb24sIEphbiAyMywgMjAyMyBhdCA4OjUwIEFN
IFNhbXVlbCBEdXByZWUgPHNkdXByZWVAc3BlYWtlYXN5Lm5ldD4gd3JvdGU6DQo+PiBJJ20gcnVu
bmluZyBTY2lQeSB2ZXIuIDEuOS4zIHVuZGVyIFB5dGhvbiB2ZXIuIDMuOS4xNSAgb24gYSBNYWMg
UHJvICgyMDE5KSBkZXNrdG9wIHJ1bm5pbmcgTWFjIE9TWCB2ZXIuIDEzLjEgVmVudHVyYS4gVGhl
IHByb2JsZW0gSSdtIGhhdmluZyBpcyBnZXR0aW5nIHNjaXB5LmludGVycG9sYXRlLnBjaGlwX2lu
dGVycG9sYXRlIHRvIHJldHVybiB0aGUgZmlyc3QgZGVyaXZhdGl2ZSBvZiBhIHBjaGlwIGludGVy
cG9sYXRpb24uDQo+Pg0KPj4gVGhlIHRlc3QgcHJvZ3JhbSBJJ20gdXNpbmcgaXMgZ2l2ZW4gYmVs
b3cgKGFuZCBhdHRhY2hlZCB0byB0aGlzIG5vdGUpLg0KPj4NCj4+DQo+PiBpbXBvcnQgbnVtcHkg
YXMgbnANCj4+IGltcG9ydCBtYXRwbG90bGliLnB5cGxvdCBhcyBwbHQNCj4+IGZyb20gc2NpcHku
aW50ZXJwb2xhdGUgaW1wb3J0IHBjaGlwX2ludGVycG9sYXRlDQo+Pg0KPj4geF9vYnNlcnZlZCAg
PSBucC5saW5zcGFjZSgwLjAsIDM2MC4wLCA1MSkNCj4+IHlfb2JzZXJ2ZWQgID0gbnAuc2luKG5w
LnBpKnhfb2JzZXJ2ZWQvMTgwKQ0KPj4gZHlkeF9vYnNlcnZlZCA9IG5wLmNvcyhucC5waSp4X29i
c2VydmVkLzE4MCkNCj4+DQo+PiB4ICAgID0gbnAubGluc3BhY2UobWluKHhfb2JzZXJ2ZWQpLCBt
YXgoeF9vYnNlcnZlZCksIG51bT0xMDApDQo+PiB5ICAgID0gcGNoaXBfaW50ZXJwb2xhdGUoeF9v
YnNlcnZlZCwgeV9vYnNlcnZlZCwgeCwgZGVyPTAsIGF4aXM9MCkNCj4+IGR5ZHggPSBwY2hpcF9p
bnRlcnBvbGF0ZSh4X29ic2VydmVkLCB5X29ic2VydmVkLCB4LCBkZXI9MSwgYXhpcz0wKQ0KPj4N
Cj4+IHBsdC5wbG90KHhfb2JzZXJ2ZWQsICAgIHlfb2JzZXJ2ZWQsICJibyIgLCBsYWJlbD0ib2Jz
ZXJ2YXRpb24gZnVuY3QiKQ0KPj4gcGx0LnBsb3QoeF9vYnNlcnZlZCwgZHlkeF9vYnNlcnZlZCwg
InJ4IiAsIGxhYmVsPSJvYnNlcnZhdGlvbiBkZXJpdiIpDQo+PiBwbHQucGxvdCh4ICAgICAgICAg
LCB5ICAgICAgICAgICAgLCAiYy0iLCBsYWJlbD0icGNoaXAgaW50ZXJwb2xhdGlvbiBmdW5jdCIp
DQo+PiBwbHQucGxvdCh4ICAgICAgICAgLCBkeWR4ICAgICAgICAgLCAiay0iLCBsYWJlbD0icGNo
aXAgaW50ZXJwb2xhdGlvbiBkZXJpdiIpDQo+PiBwbHQubGVnZW5kKCkNCj4+IHBsdC5zYXZlZmln
KCJwY2hpcF9leGFtcGxlXzAxLnBuZyIpDQo+PiBwbHQuc2hvdygpDQo+Pg0KPj4NCj4+IFRoZSBw
cm9ncmFtIGdlbmVyYXRlcyB2YWx1ZXMgb2YgdGhlIHNpbmUgZnVuY3Rpb24gKHlfb2JzZXJ2ZWQp
IG92ZXIgdGhlIHJhbmdlIG9mIDAgdG8gMzYwIGRlZ3JlZXMuICh4X29ic2VydmVkKS4gSW4gYSBz
aW1pbGFyIGZhc2hpb24sIHRoZSBjb3NpbmUgZnVuY3Rpb24gKGZpcnN0IGRlcml2YXRpdmUgb2Yg
dGhlIHNpbmUgZnVuY3Rpb24pIGlzIGdlbmVyYXRlZCBvdmVyIHRoZSBzYW1lIHJhbmdlIChkeWR4
X29ic2VydmVkKS4gcGNoaXBfaW50ZXJwb2xhdGUgaXMgdXNlZCB0byBwZXJmb3JtIHRoZSBpbnRl
cnBvbGF0aW9uIG92ZXIgYSBzcGVjaWZpZWQgcmFuZ2UgZm9yIHRoZSBmdW5jdGlvbiBhbmQgaXRz
IGZpcnN0IGRlcml2YXRpdmUuIEEgY29tcG9zaXRlIHBsb3QgaXMgZ2VuZXJhdGVkIHNob3dpbmcg
dGhlIHBvaW50cyBmb3IgdGhlIGZ1bmN0aW9uICh0aGUgc2luZSkgYW5kIGl0cyBmaXJzdCBkZXJp
dmF0aXZlIChjb3NpbmUpLiBUaGUgaW50ZXJwb2xhdGVkIHBvaW50cyBvdmVybGF5IHRoZSBmdW5j
dGlvbiAoc2luZSkgYXMgZXhwZWN0ZWQuIEhvd2V2ZXIsIHRoZSBmaXJzdCBkZXJpdmF0aXZlIHJl
dHVybmVkIGZhaWxzIHRvIG92ZXJsYXkgdGhlIGNvc2luZSBmdW5jdGlvbi4gVGhlIHBsb3QgaXMg
YXR0YWNoZWQgdG8gdGhpcyBub3RlLg0KPj4NCj4+IFVwb24gY2xvc2VyIGluc3BlY3Rpb24sIEkg
YmVsaWV2ZSBJIGtub3cgd2hhdCBpcyBnb2luZyBvbiwgYnV0IEkgZG9uJ3QgdW5kZXJzdGFuZCB3
aHkuDQo+Pg0KPj4gVGhlIGxpbmUgZm9yIHRoZSBmaXJzdCBkZXJpdmF0aXZlIHRoYXQgZmFpbGVk
IHRvIGNvaW5jaWRlIHdpdGggdGhlIHBvaW50cyBpbiB0aGUgcGxvdCBmb3IgdGhlIGNvc2luZSBp
cyBhY3R1YWxseSB0aGUgaW50ZXJwb2xhdGVkIGZpcnN0IGRlcml2YXRpdmUgc2NhbGVkIGJ5IHRo
ZSBmYWN0b3IgcGkvMTgwLiBXaGVuIEkgbXVsdGlwbHkgdGhlIGludGVycG9sYXRlZCB2YWx1ZXMg
Zm9yIHRoZSBmaXJzdCBkZXJpdmF0aXZlIGJ5IDE4MC9waSwgdGhlIGludGVycG9sYXRlZCBmaXJz
dCBkZXJpdmF0aXZlIGNvaW5jaWRlcyB3aXRoIHRoZSBwb2ludHMgZm9yIHRoZSBjb3NpbmUgYXMg
ZXhwZWN0ZWQuDQo+Pg0KPj4gV2hhdCBJIGRvbid0IHVuZGVyc3RhbmQgaXMgaG93IHRoZSBpbnRl
cnBvbGF0b3IgY2FtZSB1cCB3aXRoIHRoZSBzY2FsZSBmYWN0b3IgaXQgZGlkIGFuZCBhcHBsaWVk
IGl0IHVzaW5nIHB1cmUgbnVtYmVycy4NCj4+DQo+PiBBbnkgdGhvdWdodHM/DQo+Pg0KPj4gU2Ft
IER1cHJlZQ0KPj4NCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fDQo+PiBTY2lQeS1Vc2VyIG1haWxpbmcgbGlzdCAtLSBzY2lweS11c2VyQHB5dGhvbi5v
cmcNCj4+IFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gc2NpcHktdXNlci1sZWF2ZUBw
eXRob24ub3JnDQo+PiBodHRwczovL21haWwucHl0aG9uLm9yZy9tYWlsbWFuMy9saXN0cy9zY2lw
eS11c2VyLnB5dGhvbi5vcmcvDQo+PiBNZW1iZXIgYWRkcmVzczogZXZnZW55LmJ1cm92c2tpeUBn
bWFpbC5jb20NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+DQo+IFN1YmplY3Q6
IERpZ2VzdCBGb290ZXINCj4NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18NCj4gU2NpUHktVXNlciBtYWlsaW5nIGxpc3QgLS0gc2NpcHktdXNlckBweXRo
b24ub3JnDQo+IFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gc2NpcHktdXNlci1sZWF2
ZUBweXRob24ub3JnDQo+IGh0dHBzOi8vbWFpbC5weXRob24ub3JnL21haWxtYW4zL2xpc3RzL3Nj
aXB5LXVzZXIucHl0aG9uLm9yZy8NCj4NCj4NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tDQo+DQo+IEVuZCBvZiBTY2lQeS1Vc2VyIERpZ2VzdCwgVm9sIDIzMSwgSXNzdWUgMQ0KPiAq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4NCg0KX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KU2NpUHktVXNlciBtYWlsaW5n
IGxpc3QgLS0gc2NpcHktdXNlckBweXRob24ub3JnClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1h
aWwgdG8gc2NpcHktdXNlci1sZWF2ZUBweXRob24ub3JnCmh0dHBzOi8vbWFpbC5weXRob24ub3Jn
L21haWxtYW4zL2xpc3RzL3NjaXB5LXVzZXIucHl0aG9uLm9yZy8KTWVtYmVyIGFkZHJlc3M6IGdj
cHN1LXNjaXB5LXVzZXJAbS5nbWFuZS1teC5vcmcK