Untied Knots

1. Untied Knots - Evaluation of Pizarro’s Notes

There is a commentary by Pizarro(source), that when he raided an Incan qollqa (a storehouse), the local khipu-kamayoq’s untied part of a khipu knots and tied another part of the khipu. In the examination of khipus, today’s khipu examiners occasionally note that a knot existed in the cord, that now appears to be untied.

Manuel Medrano suggested the following hypothesis: If there are khipus with untied knots (ie. knots that had been tied and are now untied), then that would indicate that they are likely “working” khipus, and not presentation khipus, as noted in the above section.

Let’s examine that hyppothesis. First a search of the database CSV files for “untied”, “unknotted” and “desanudado” knot reveals:

untied_occurences = """
cord.csv:16:1000000,3000015,0.0000,0.0000,CN,U,3000006,0,U,1000005,1,1,2.000,32.000,cbrezine,2011-12-23 09:44:41,cbrezine,2003-05-29 06:44:23,2,nudo desanudado,S,,1,0,0
cord.csv:61:1000003,3000060,0.0000,0.0000,CN,K,1000003,0,V,1000027,5,7,0.000,38.000,cbrezine,2011-12-23 09:44:41,cbrezine,2003-05-29 09:56:27,1,(y un desanudado) -- cord includes evidence of a unknotting,S,,5,0,0
cord.csv:207:1000004,3000206,0.0000,0.0000,CN,U,1000004,0,R,1000059,9,115,0.000,33.500,cbrezine,2011-12-23 09:44:41,cbrezine,2003-05-29 15:01:12,1,nudo desanudado,S,,114,0,0
cord.csv:208:1000004,3000207,0.0000,0.0000,CN,K,1000004,0,V,1000060,1,116,0.000,40.000,cbrezine,2011-12-23 09:44:41,cbrezine,2003-05-29 15:01:43,1,nudo desanudado,S,,115,0,0
cord.csv:23537:1000292,3024405,0.0000,0.0000,CN,K,3023941,0,U,1007839,5,5,0.000,26.500,chandra,2011-12-23 09:44:41,chandra,2005-07-11 11:27:46,2,The knot on this khipu is partly untied.,S,,5,0,0
cord.csv:2768:1000022,3002912,0.0000,0.0000,CN,,1000022,0,V,1001020,1,135,0.000,0.000,katie,2011-11-23 19:42:40,gurton,2010-04-07 07:59:12,1,untied figure 8 knot?,S,PA,1,0,0
cord.csv:4383:1000023,3004539,0.0000,0.0000,CN,K,1000025,0,R,1001405,3,151,0.000,38.000,katie,2011-12-23 09:44:41,katie,2003-06-25 12:17:21,1,(knot untied),S,,145,0,0
cord.csv:54205:1000623,3056328,,0.0000,CN,K,1000623,,R,1019578,5,77,0.000,48.000,julia,2016-01-31 08:52:21,julia,2016-01-31 08:52:21,1,untied ,S,,,,
cord.csv:54221:1000623,3056344,,0.0000,CN,B,1000623,,R,1019580,3,93,0.000,41.500,julia,2016-01-31 08:52:21,julia,2016-01-31 08:52:21,1,untied ,S,,,,
cord.csv:5508:1000036,3005684,0.0000,0.0000,,K,1000036,0,U,1001792,3,5,0.000,36.500,katie,2011-12-23 09:44:41,katie,2003-06-30 09:48:07,1,Pendant 5 has a kink at 8.0 cm that appears to correspond to a 1s knot that was untied (not recent).,U,,5,0,0
cord.csv:5512:1000036,3005688,0.0000,0.0000,,K,1000036,0,U,1001793,1,9,0.000,37.500,katie,2011-12-23 09:44:41,katie,2003-06-30 09:50:01,1,Pendant 9 has a kink at 18.5 cm that appears to correspond to a 2L knot that was untied (not recent).,U,,9,0,0
cord.csv:5516:1000036,3005692,0.0000,0.0000,,K,1000036,0,U,1001793,5,13,0.000,28.500,katie,2011-12-23 09:44:41,katie,2003-06-30 09:52:07,1,Pendant 13 has a kink at 15.5 cm that appears to correspond to a 2L knot that was untied (not recent).,U,,13,0,0
cord.csv:5517:1000036,3005693,0.0000,0.0000,,K,1000036,0,U,1001793,6,14,0.000,24.500,katie,2011-12-23 09:44:41,katie,2003-06-30 09:52:41,1,Pendant 14 has a kink at 14.5 cm that appears to correspond to a 1E knot that was untied (not recent).,U,,14,0,0
cord.csv:5518:1000036,3005694,0.0000,0.0000,,K,1000036,0,U,1001794,1,15,0.000,25.500,katie,2011-12-23 09:44:41,katie,2003-06-30 09:53:21,1,Pendant 15 has a kink at 15.0 cm that appears to correspond to a 3L knot that was untied (not recent).,U,,15,0,0
cord.csv:23800:1000292,3024668,0.0000,0.0000,CN,K,3024057,0,U,1007927,3,3,1.000,38.500,chandra,2011-12-23 09:44:41,chandra,2005-07-22 11:28:19,2,This subsidiary may be unknotted.,S,,3,0,0
cord_level_1.csv:1717:1000022,3002912,0.0000,0.0000,CN,,1000022,0,V,1001020,1,135,0.000,0.000,1,untied figure 8 knot?,S,PA,1,1,katie,2011-11-23 19:42:40,gurton,2010-04-07 07:59:12
cord_level_1.csv:183:1000004,3000206,0.0000,0.0000,CN,U,1000004,0,R,1000059,9,115,0.000,33.500,1,nudo desanudado,S,,114,1,cbrezine,2011-12-23 09:44:41,cbrezine,2003-05-29 15:01:12
cord_level_1.csv:184:1000004,3000207,0.0000,0.0000,CN,K,1000004,0,V,1000060,1,116,0.000,40.000,1,nudo desanudado,S,,115,1,cbrezine,2011-12-23 09:44:41,cbrezine,2003-05-29 15:01:43
cord_level_1.csv:2874:1000023,3004539,0.0000,0.0000,CN,K,1000025,0,R,1001405,3,151,0.000,38.000,1,(knot untied),S,,145,1,katie,2011-12-23 09:44:41,katie,2003-06-25 12:17:21
cord_level_1.csv:37160:1000623,3056328,,0.0000,CN,K,1000623,,R,1019578,5,77,0.000,48.000,1,untied ,S,,,,julia,2016-01-31 08:52:21,julia,2016-01-31 08:52:21
cord_level_1.csv:37176:1000623,3056344,,0.0000,CN,B,1000623,,R,1019580,3,93,0.000,41.500,1,untied ,S,,,,julia,2016-01-31 08:52:21,julia,2016-01-31 08:52:21
cord_level_1.csv:47:1000003,3000060,0.0000,0.0000,CN,K,1000003,0,V,1000027,5,7,0.000,38.000,1,(y un desanudado) -- cord includes evidence of a unknotting,S,,5,1,cbrezine,2011-12-23 09:44:41,cbrezine,2003-05-29 09:56:27
cord_level_2.csv:3:1000000,3000015,0.0000,0.0000,CN,U,3000006,0,U,1000005,1,1,2.000,32.000,2,nudo desanudado,S,,1,1,1,6,cbrezine,2011-12-23 09:44:41,cbrezine,2003-05-29 06:44:23
cord_level_2.csv:5189:1000292,3024405,0.0000,0.0000,CN,K,3023941,0,U,1007839,5,5,0.000,26.500,2,The knot on this khipu is partly untied.,S,,5,5,1,83,chandra,2011-12-23 09:44:41,chandra,2005-07-11 11:27:46
khipu_notes.csv:527:1000247,cbrezine,2004-08-13 11:06:05,,0000-00-00 00:00:00,"There are no knots on this khipu, but at level 15 - 17 cm from primary cord there are indications on some strings that knots were untied. ","There are no knots on this khipu, but at level 15 - 17 cm from primary cord there are indications on some strings that knots were untied. "
khipu_notes.csv:528:1000247,cbrezine,2004-08-13 11:22:35,,0000-00-00 00:00:00,There are notations on the original notes about the position of untied knots. ,There are notations on the original notes about the position of untied knots. 
khipu_notes.csv:86:1000036,katie,2003-06-30 09:38:25,,0000-00-00 00:00:00,"Construction note: Several cords (5, 9, 13-15) are kinked just at the place where a knot cluster is expected as if knots were present but had been untied.  Because the color and texture of the cords are unmarred, any unknotting would not have been recent.  The kinks are sufficiently clear to be able to ""reconstruct"" the number and type of knots.  In no case does an actual knot cluster appear on a kinked cord at the level of the kink.  The listing contains the actual knots only.  Both the ""reconstructed"" knots (marked with *) and the actual knots are shown below.  No values are inputed to them as we do not know whether to combine them or replace one with the other.",

Let’s find out the khipu names associated with those occurences:

import csv

def fetch_csv_line(filename, line_number):
    CSV_file = f"{kq.project_directory()}/data/CSV/{filename}"
    lines = []
    with open(CSV_file, mode ='r')as file:
        csvFile = csv.reader(file)
            for line in csvFile:
        theLine = lines[line_number-1]
        theLine = ""
    return theLine

ids = []
for line in untied_occurences.split("\n"):
    fields = line.split(":")
    if len(fields)>1:
        filename = fields[0]
        linenum = int(fields[1])
        csv_line = fetch_csv_line(filename, linenum)
        if len(csv_line)>0:

khipu_ids = sorted(list(set(ids)))
untied_khipus = [kq.kfg_name_from_id(int(anId)) for anId in khipu_ids]

And … what are the mean cord values for these khipus?

# Read in the Mean Cord Value Fieldmark and its associated dataframe and match dictionary
from fieldmark_khipu_summary import Fieldmark_Mean_Cord_Value
aFieldmark = Fieldmark_Mean_Cord_Value()
fieldmark_dataframe = aFieldmark.dataframes[0].dataframe
raw_match_dict = aFieldmark.raw_match_dict()

mean_cord_values = {aKhipuName: raw_match_dict[aKhipuName] for aKhipuName in untied_khipus}
{'UR019': 5,
 'UR018': 725,
 'UR010': 17,
 'UR021': 3,
 'UR001': 162,
 'AS214': 9,
 'UR070': 0,
 'UR113': 15,
 'UR278': 229}

So, yes. Of the few samples we have, those khipu’s cord’s untied knots are on the low end of the range for mean cord values.

2. Zero Value Long Knots

Another possibility is to examine those long knots with 0 values. (i.e an unknotted knot).

(khipu_dict, all_khipus) = kamayuq.fetch_khipus()
zero_long_knot_khipus = {}
for aKhipu in all_khipus:
    khipu_knots = aKhipu.all_knots()
    zero_long_knots = [aKnot for aKnot in khipu_knots if (aKnot.type_code=='L') and (aKnot.knot_value_decimal == 0)]
    if zero_long_knots: zero_long_knot_khipus[aKhipu.name()] = float(len(zero_long_knots))/float(len(khipu_knots))

zero_long_knot_khipus = dict(sorted(zero_long_knot_khipus.items(), key=lambda x:x[1], reverse=True))

mean_cord_values = {aKhipuName: raw_match_dict[aKhipuName] for aKhipuName in zero_long_knot_khipus.keys()}
{'AS081': 0.46153846153846156,
 'UR1058': 0.047619047619047616,
 'AS078': 0.043478260869565216,
 'AS169': 0.03333333333333333,
 'AS074': 0.01818181818181818,
 'UR132': 0.017543859649122806,
 'UR1107': 0.010752688172043012,
 'JC005': 0.010183299389002037,
 'UR013': 0.009900990099009901,
 'AS075': 0.007874015748031496,
 'UR089': 0.007211538461538462,
 'UR204': 0.0070921985815602835,
 'UR1095': 0.004866180048661801,
 'UR053A': 0.0021645021645021645,
 'UR003': 0.0020325203252032522,
 'UR006': 0.001519756838905775,
 'AS069': 0.0009891196834817012}
{'AS081': 5,
 'UR1058': 29,
 'AS078': 3,
 'AS169': 2,
 'AS074': 4,
 'UR132': 27,
 'UR1107': 85,
 'JC005': 21,
 'UR013': 10,
 'AS075': 3,
 'UR089': 9,
 'UR204': 12,
 'UR1095': 45,
 'UR053A': 678,
 'UR003': 1,
 'UR006': 3,
 'AS069': 7}

Here we see increased evidence of Manuel Medrano’s hypothesis.

Pizarro (1533) 1920: 175. The full citation is Pizarro, Hernando. (1533) 1920. “A los señores oydores de la audiencia real de su magestad.” In Informaciones sobre el antiguo Perú, edited by Horacio H. Urteaga, 16–180. Vol. 3. Lima: Sanmartí. See also Quipus - Mil años de historia anudada en los Andes y su futuro digital by Manuel Medrano, Planeta Press, pgs. 65-66