Cord Twist (S/Z Ply/Spin)
1. Cord Twist (aka Ply/Spin) - Number of Z Cords
The number of Z-twisted cords in a khipu. Each cord has one of two ply/spin’s - affectionately known as S or Z twist depending on the diagonal’s direction in the string.
2. Summary Results:
Measure | Result |
---|---|
Number of Khipus That Match | 80 (12%) |
Number of Significant Khipus | 80 (12%) |
Five most Significant Khipu | JC010, UR193, KH0081, JC005, UR283 |
Image Quilt | Click here |
3. Summary Charts:
Code
# Plot Significant khipu
from plotly import express as px
import pandas as pd
import utils_khipu as ukhipu
significant_khipus = aFieldmark.significant_khipus()
significant_values = [raw_match_dict[aKFG_Name] for aKFG_Name in significant_khipus]
significant_df = pd.DataFrame(list(zip(significant_khipus, significant_values)), columns =['KFG_Name', 'Value'])
fig = px.bar(significant_df, x='KFG_Name', y='Value', labels={"KFG_Name": "KFG Name", "Value": "Number of Z Cords", },
title=f"<b>{ukhipu.pct_kfg_khipus(len(significant_khipus))}</b> Significant Khipu for Number of Z Cords", width=944, height=450).update_layout(showlegend=True).show()
S-Cords vs Z-Cords
Code
fig = px.scatter(khipu_summary_df, x="num_s_cords", y="num_z_cords", log_x=True, log_y=True,
size="num_cords", color="num_cords",
labels={"num_s_cords": "#S Cords (Log10)", "num_z_cords": "#Z Cords"},
hover_data=['kfg_name'], title="<b>S Cords (Log10) vs Z Cords (Log10)</b>",
width=944, height=944);
fig.update_layout(showlegend=True).show()
4. Exploratory Data Analysis
Mixed Twist Khipus
Urton in Sign of the Inka Khipu spends quite some time on mixed twist khipus. Just how often do mixed twist khipus occur?
Code
# How many khipus lack twist information
import qollqa_chuspa as qc # A Khipu Qollca is a warehouse that holds khipu (and other databases)
khipu_dict, all_khipus = qc.fetch_khipus()
untwisted_khipus = []
twisted_khipus = []
num_untwisted_khipus = 0
for aKhipu in all_khipus:
num_cords = aKhipu.num_all_cords(include_subsidiaries=True)
num_S_cords = aKhipu.num_s_cords()
num_Z_cords = aKhipu.num_z_cords()
# If less then 10% of the cords are S or Z cords, then we consider it a khipu without twist information
if (num_S_cords+num_Z_cords) < .1*num_cords:
untwisted_khipus.append(aKhipu)
else:
twisted_khipus.append(aKhipu)
num_untwisted_khipus = len(untwisted_khipus)
num_twisted_khipus = len(twisted_khipus)
print(f"# of Khipus without Twist Information = {num_untwisted_khipus} out of {len(all_khipus)} = {ukhipu.pct_kfg_khipus(num_untwisted_khipus)}")
print(f"# of Khipus with Twist Information = {num_twisted_khipus} out of {len(all_khipus)} = {ukhipu.pct_kfg_khipus(num_twisted_khipus)}")
mixed_twist_khipus = []
for aKhipu in twisted_khipus:
num_S_cords = aKhipu.num_s_cords()
num_Z_cords = aKhipu.num_z_cords()
# If less then 10% of the cords are S or Z cords, then we consider it a khipu without twist information
if num_S_cords > 0 and num_Z_cords > 0:
mixed_twist_khipus.append(aKhipu)
num_mixed_twist_khipus = len(mixed_twist_khipus)
print(f"# of Khipus with Mixed Twist Information = {len(mixed_twist_khipus)} out of {len(twisted_khipus)} = {ukhipu.pct_kfg_khipus(len(mixed_twist_khipus))}")
# of Khipus without Twist Information = 137 out of 654 = 20.9% (137)
# of Khipus with Twist Information = 517 out of 654 = 79.1% (517)
# of Khipus with Mixed Twist Information = 33 out of 517 = 5.0% (33)
Just 5% of the khipus in the KFG Database have mixed twists!
Code
import utils_loom as uloom
print(f"{khipu_summary_df[khipu_summary_df.num_z_cords > 0].shape[0]} khipus exist with Z cords")
percent_str = uloom.percent_info(khipu_summary_df.num_z_cords.sum(), khipu_summary_df.num_cords.sum())
print(f"{khipu_summary_df.num_z_cords.sum()} Z cords exist - about {percent_str} of all cords")
79 khipus exist with Z cords
3398 Z cords exist - about 6% (3398 of 58235) of all cords
33 khipus have mixed twist construction
5. Conclusion
- Mixed twist cords occur very rarely (5% of the khipus) and Z cords only occur on 6% of the cords in the KFG Database (remember that 79% of the khipus in the KFG Database record their S/Z twist)
- Z cords associate with S Cords.
- In the network graph presented in the fieldmarks preface, Z Cords and S cords occur somewhat close together, but it’s not a great match. Analysis of Z-cords in general is limited by the fact that 20% of KFG khipus are missing cord spin/ply information.
There is some sort of reason/rationale for Z Cords… but, to paraphrase Buffalo Springfield, (For What It’s Worth 1967):
“there’s something happening here, what it is ain’t exactly clear.”