diff --git a/.obsidian/plugins/breadcrumbs/data.json b/.obsidian/plugins/breadcrumbs/data.json index b2ca5d57..56139904 100644 --- a/.obsidian/plugins/breadcrumbs/data.json +++ b/.obsidian/plugins/breadcrumbs/data.json @@ -491,6 +491,13 @@ ], "close_reversed": false, "close_field": "source" + }, + { + "name": "", + "chain": [], + "rounds": 10, + "close_reversed": false, + "close_field": "up" } ] }, diff --git a/.obsidian/plugins/github-sync/data.json b/.obsidian/plugins/github-sync/data.json index 55e861b2..1196f26b 100644 --- a/.obsidian/plugins/github-sync/data.json +++ b/.obsidian/plugins/github-sync/data.json @@ -1,7 +1,7 @@ { "remoteURL": "https://gitea.dariow.fr", "gitLocation": "", - "syncinterval": 0, + "syncinterval": 20, "isSyncOnLoad": true, "checkStatusOnLoad": true } \ No newline at end of file diff --git a/.obsidian/plugins/quickadd/data.json b/.obsidian/plugins/quickadd/data.json index 1312e3af..f2783115 100644 --- a/.obsidian/plugins/quickadd/data.json +++ b/.obsidian/plugins/quickadd/data.json @@ -401,9 +401,76 @@ }, "openFile": false, "openFileInMode": "default" + }, + { + "id": "0b1ce8df-732b-4f1c-aa11-4914666e6416", + "name": "convert inline properties to YAML", + "type": "Macro", + "command": true, + "macroId": "076271f1-41bd-4076-b253-5a9cb7fd1d5a" + }, + { + "id": "49fccdfb-e1e1-4c3d-baf8-18b139ff6440", + "name": "convert ALL inline properties to YAML", + "type": "Macro", + "command": false, + "macroId": "acd31cfd-8e03-4c73-98d8-d40e4906e97a" + } + ], + "macros": [ + { + "name": "convert inline properties to YAML", + "id": "076271f1-41bd-4076-b253-5a9cb7fd1d5a", + "commands": [ + { + "name": "Save current file", + "type": "Obsidian", + "id": "6d7e3958-864f-4e3c-a43a-76ceafd5be40", + "commandId": "editor:save-file" + }, + { + "name": "convert_inline_to_yaml", + "type": "UserScript", + "id": "48601ce0-820f-47d4-a61d-34549323b302", + "path": "quickadd_scripts/convert_inline_to_yaml.js", + "settings": {} + }, + { + "name": "Save current file", + "type": "Obsidian", + "id": "2af2f2a9-6cdb-43ac-9c13-4b846d4385cd", + "commandId": "editor:save-file" + } + ], + "runOnStartup": false + }, + { + "name": "convert ALL inline properties to YAML", + "id": "acd31cfd-8e03-4c73-98d8-d40e4906e97a", + "commands": [ + { + "name": "Save current file", + "type": "Obsidian", + "id": "845535c2-2359-497d-a71d-fdc58c9ac40a", + "commandId": "editor:save-file" + }, + { + "name": "convert_ALL_inline_to_yaml", + "type": "UserScript", + "id": "a54f0813-5d36-4d5b-a793-d7d32b05b22c", + "path": "quickadd_scripts/convert_ALL_inline_to_yaml.js", + "settings": {} + }, + { + "name": "Save current file", + "type": "Obsidian", + "id": "05488d2d-11a6-4217-87a3-6252e547047b", + "commandId": "editor:save-file" + } + ], + "runOnStartup": false } ], - "macros": [], "inputPrompt": "single-line", "devMode": false, "templateFolderPath": "templates", diff --git a/20241226010957 b/20241226010957 deleted file mode 160000 index 602a41e7..00000000 --- a/20241226010957 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 602a41e7f8b2465babd4ebe38e2b292dc28fa7d2 diff --git a/base duale d'une famille de formes linéaires.md b/base duale d'une famille de formes linéaires.md index b3a1b6e7..68e205b8 100644 --- a/base duale d'une famille de formes linéaires.md +++ b/base duale d'une famille de formes linéaires.md @@ -1,11 +1,8 @@ --- alias: [ "base duale" ] ---- -up:: [[espace dual d'un espace vectoriel]] -sibling:: [[base antéduale d'une famille de formes linéaires|base antéduale]] -title:: -#s/maths/algèbre - +up: "[[espace dual d'un espace vectoriel]]" +sibling: "[[base antéduale d'une famille de formes linéaires|base antéduale]]" +tags: "#s/maths/algèbre" --- > [!definition] base duale d'un espace vectoriel @@ -20,8 +17,8 @@ title:: > - $\mathcal{B}^{*} = (e_{k}^{*} \mid k \in [\![1; n]\!])$ > - $\mathcal{B}^{*} = \big( (e_{i} \mapsto [i = k]) \mid k \in [\![1; n]\!] \big)$ ^definition - -![[base duale d'une famille de formes linéaires 2023-01-23 17.35.35.excalidraw|100%]] + +![[base duale d'une famille de formes linéaires 2023-01-23 17.35.35.excalidraw|60%]] # Propriétés Soient $\mathcal{B} = (e_1, e_2, \dots, e_{n})$ une base, et $\mathcal{B}^{*} = (e_1^{*}, e_2^{*}, \dots, e_{n}^{*})$ sa base duale diff --git a/espace dual d'un espace vectoriel.md b/espace dual d'un espace vectoriel.md index 92e69ab7..10bebd18 100644 --- a/espace dual d'un espace vectoriel.md +++ b/espace dual d'un espace vectoriel.md @@ -6,7 +6,7 @@ tags: "#s/maths/algèbre" > [!definition] ensemble des formes linéaire d'un espace vectoriel > Soit $E$ un $\mathbf{K}$-[[espace vectoriel]] -> On note $E^{*}$ l'ensemble des formes linéaires sur $E$ +> On note $E^{*}$ l'ensemble des [[forme linéaire|formes linéaires]] sur $E$ > > $E^{*}$ est appelé **espace dual de $E$** > @@ -16,8 +16,23 @@ tags: "#s/maths/algèbre" # Propriétés - $\dim E^{*} = \dim E$ - - Evident car une forme linéaire sur $E$ est une matrice de taille $1\times \dim E$, et donc $E^{*}$ peut être assimilé à $E$ par les matrices des formes linéaires - - preuve : $\dim E* = \dim \left( \mathcal{L}(E, \mathbf{K}) \right) = \underbrace{\dim E \times \dim K}_{\text{taille des matrices de } E^{*}} = \dim E \times 1 = \dim E$ + +> [!proposition]+ Dimension de l'espace dual +> Si $E$ est de [[dimension d'un espace vectoriel|dimension]] finie +> Alors $E^{*}$ est un [[espace vectoriel]] de même dimension que $E$ : +> $\dim E^{*} = \dim E$ +> - I Evident car une forme linéaire sur $E$ est une matrice de taille $1\times \dim E$, et donc $E^{*}$ peut être assimilé à $E$ par les matrices des formes linéaires +> +> > [!démonstration]- Démonstration +> > preuve : $\dim E* = \dim \left( \mathcal{L}(E, \mathbf{K}) \right) = \underbrace{\dim E \times \dim K}_{\text{taille des matrices de } E^{*}} = \dim E \times 1 = \dim E$ +> > +> > --- +> > Autrement : +> > +> > On sait que si $E, F$ sont des $\mathbf{K}$-[[espace vectoriel|espaces vectoriels]] de dimension finie, alors $\mathscr{L}(E, F)$ est un $\mathbf{K}$-[[espace vectoriel]] de dimension $\dim(E)\dim(F)$. +> > Ici, $\dim(F) = 1$. +> > Donc si $\dim(E) < +\infty$, on a : +> > $\dim(E^{*}) = \dim(E)$ > [!proposition]+ > Soit $E$ un [[espace vectoriel]] @@ -36,6 +51,10 @@ tags: "#s/maths/algèbre" > Donc : > $\displaystyle \varphi\left( e_{j} = \sum\limits_{i = 1}^{n} \lambda _{i}\underbrace{e_{i}^{*}(e_{j})}_{\substack{0 \text{ si } i \neq j\\ 1 \text{ si } i = j }} \right)$ +> [!proposition]+ Propriétés des formes linéaires +> Soit $\varphi \in E^{*}$ +> Alors $\varphi \neq 0$ si et seulement si $\varphi$ est [[surjection|surjective]] +> Si $\dim (E) = n< +\infty$ alors $\varphi \neq 0 \iff \dim(\ker(\varphi)) = n-1$ # Exemples diff --git a/il faut agir de manière non conventionnelle.md b/il faut agir de manière non conventionnelle.md index 85276d85..fc4240b7 100644 --- a/il faut agir de manière non conventionnelle.md +++ b/il faut agir de manière non conventionnelle.md @@ -1,9 +1,9 @@ --- alias: [ "actions non conventionnelles" ] +up: "[[principes généraux de mise en place de l'action]]" +source: "[[conférence gesticulée.Inculture 4 - le plein d'énergie]]" +tags: "#s/politique" --- -up:: [[principes généraux de mise en place de l'action]] -source:: [[conférence gesticulée.Inculture 4 - le plein d'énergie]] -#s/politique [[il faut agir de manière non conventionnelle]] Les actions innatendues ont plus d'effet que les actions conventionnelles (manifestations...). ^0d4ed3 diff --git a/il faut déranger l'ennemi en restant à l'aise.md b/il faut déranger l'ennemi en restant à l'aise.md index 09307b67..2f6aa15a 100644 --- a/il faut déranger l'ennemi en restant à l'aise.md +++ b/il faut déranger l'ennemi en restant à l'aise.md @@ -1,8 +1,8 @@ --- alias: [ "déranger en restant à l'aise", "sortir du champ d'expérience de l'ennemi tout en restant dans le notre" ] +up: "[[principes généraux de mise en place de l'action]]" +source: "[[conférence gesticulée.Inculture 4 - le plein d'énergie]]" --- -up:: [[principes généraux de mise en place de l'action]] -source:: [[conférence gesticulée.Inculture 4 - le plein d'énergie]] Les actions militantes doivent déranger au maximum, mais les militants doivent toujours être dans leur zone de comfort. diff --git a/injection.md b/injection.md index 0ab508e1..ba08e51e 100644 --- a/injection.md +++ b/injection.md @@ -1,15 +1,11 @@ --- -sr-due: 2022-11-28 -sr-interval: 74 -sr-ease: 317 -alias: injective aliases: - injective - injectif +up: "[[application]]" +sibling: "[[surjection]]" +tags: "#s/maths/analyse" --- -up::[[application]] -sibling::[[surjection]] -#s/maths/analyse > [!definition] Définition > Soit f une application de $E$ dans $F$ : diff --git a/polynôme d'endomorphisme.md b/polynôme d'endomorphisme.md new file mode 100644 index 00000000..1cf280c3 --- /dev/null +++ b/polynôme d'endomorphisme.md @@ -0,0 +1,36 @@ +--- +aliases: +up: + - "[[polynôme]]" + - "[[endomorphisme linéaire]]" +tags: + - s/maths/algèbre +--- + +> [!definition] Définition +> Soit $E$ un $\mathbf{K}$-[[espace vectoriel]] avec $\dim(E) = n$ +> Soit $P = a_0 + a_1 X + \cdots +a_{k}X^{k} \in K[X]$ ([[polynôme]]) +> On note alors : +> - Si $f \in \mathscr{L}(E)$ alors $P(f) = a_0 \mathrm{Id}_{E} + a_1 f + \cdots + a_{k}f^{k}$ +> - Si $A \in \mathcal{M}_{n}(K)$ alors $P(A) = a_0 I_{n} + a_1 A + \cdots + a_{k}A^{k}$ +^definition + +# Propriétés + +> [!proposition]+ Les polynômes d'endomorphismes sont linéaires +> $P(f) \in \mathscr{L}(E)$ + +> [!proposition]+ Préservation des bases +> Si $B$ est une [[base d'un espace vectoriel|base]] de $E$, alors $[P(f)]_{B} = P([f]_{B})$ +> - dem Cela vient du fait que $f \mapsto [f]_{B}$ est un [[isomorphisme d'anneaux]] + +> [!proposition]+ Linéarité +> +- $(\lambda P + Q)(f) = \lambda P(f) + Q(f)$ +- $(PQ)(f) = P(f) \circ Q(f) = (QP)(f)$ +- $\ker P(f)$ et $\operatorname{Im} Q(f)$ sont stables par $f$ +- Si $\lambda$ est [[valeur propre d'une matrice|valeur propre]] de $f$ alors $P(\lambda)$ est valeur propre de $P(f)$ + + +# Exemples + diff --git a/principes généraux de mise en place de l'action.md b/principes généraux de mise en place de l'action.md index 83ce7717..62c1eccd 100644 --- a/principes généraux de mise en place de l'action.md +++ b/principes généraux de mise en place de l'action.md @@ -1,5 +1,7 @@ -up:: [[militantisme]] -#s/politique +--- +up: "[[militantisme]]" +tags: "#s/politique" +--- ```breadcrumbs title: "Sous-notes" diff --git a/quickadd_scripts/convert_ALL_inline_to_yaml.js b/quickadd_scripts/convert_ALL_inline_to_yaml.js new file mode 100644 index 00000000..746387e8 --- /dev/null +++ b/quickadd_scripts/convert_ALL_inline_to_yaml.js @@ -0,0 +1,177 @@ +module.exports = { + settings: { + name: 'Convert Dataview Inline YAML to YAML', + author: 'AmericanBagel', + options: { + 'Excluded Files': { + type: 'text', + defaultValue: '.git', + placeholder: 'A ":" seperated list of strings or regex', + }, + }, + }, + entry: async (params, settings) => { + const { + quickAddApi: { inputPrompt, suggester }, + } = params; + const metaedit = app.plugins.plugins['metaedit'].api; + const vault = app.vault; + const fs = app.vault.adapter; + + function clearFormattingCharacters(string) { + return string.replace(/[*_~]/g, ''); + } + + function getDataviewInlineYamlLines(string) { + const lines = string.split('\n'); + const matches = []; + lines.forEach((line) => { + // (?!`(\$=|=).*`) to exclude inline dataview code + if ( + line.match( + /^[*_~]{0,3}[a-zA-Z-_]+[*_~]{0,3}::.*$(?!`(\$=|=).*`)/g + ) + && line.match(/^[*_~]{0,3}[a-zA-Z-_]+[*_~]{0,3}:: (?!`(\$=|=).*`)/gm) + ) { + matches.push(line); + } + }); + return matches; + } + + function removeDataviewInlineYamlLines(string) { + const lines = string.split('\n'); + let output = []; + lines.forEach((line) => { + // (?!`(\$=|=).*`) to exclude inline dataview code + if ( + !line.match( + /^[*_~]{0,3}[a-zA-Z-_]+[*_~]{0,3}::.*$/g + ) + ) { + output.push(line); + } + }); + output = output.join('\n'); + output = output.replace(/%%\s%%/g, ''); + return output; + } + + function convertToKebabCase(string) { + return string + .replace(/([a-z])([A-Z])/g, '$1-$2') + .replace(/[\s_]+/g, '-') + .toLowerCase(); + } + + function parseAndAddProperty(obj, line) { + const arr = line.split(':: '); + obj[convertToKebabCase(clearFormattingCharacters(arr[0]))] = arr[1]; + } + + function isTag(string) { + // if (string.match(/(#[^\s]+)+/g)) + if (string.startsWith('#')) { + return true; + } + } + + function isLink(string) { + if (string.match(/(\[\[[^\s]+\]\])[ ]*/g)) { + return true; + } + } + + function getLinkFrontmatter(key, value) { + console.log(value); + console.log(typeof value); + // This regex makes it only split when outside double brackets + return listToFrontmatter(key, value.match(/(\[\[[^\]]*\]\]|\S)+/g)); + } + + function getTagFrontmatter(key, value) { + console.log(value); + console.log(typeof value); + return listToFrontmatter( + key, + value.split(' ').map((tag) => tag.replace(/^#/g, '')) + ); + } + + function listToFrontmatter(key, _value) { + console.log('listToFrontmatter'); + console.log('_value: ' + _value); + let value = _value; + if (typeof _value === 'string') { + value = _value.replace(/[ \t]+$/g, '').split(' '); + } + console.log(value); + let out = `${key}:\n`; + for (element of value) { + out += ` - "${element}"\n`; + } + return out; + } + + function propertyToFrontmatter(key, value) { + return `${key}: ${value}\n`; + } + + async function convertNote(note) { + let contents = await vault.read(note); + const inlineLines = getDataviewInlineYamlLines(contents); + inlineLines.forEach( + (line) => (line = clearFormattingCharacters(line)) + ); + if (inlineLines.length > 0) { + const inlineProperties = {}; + inlineLines.forEach((line) => + parseAndAddProperty(inlineProperties, line) + ); + + let frontmatter = ''; + for (const [key, value] of Object.entries(inlineProperties)) { + if (isLink(value)) { + console.log('isLink'); + frontmatter += getLinkFrontmatter(key, value); + } else if (isTag(value)) { + console.log('isTag'); + frontmatter += getTagFrontmatter(key, value); + } else { + frontmatter += propertyToFrontmatter(key, value); + } + } + + contents = removeDataviewInlineYamlLines(contents); + let sections = contents.split('---\n'); + if (sections.length === 1) { + contents = `---\n${frontmatter}---\n\n` + contents; + } else { + sections[1] = + sections[1].replace(/(?<=\n|^)\s/g, '') + frontmatter; + contents = sections.join('---\n'); + } + + await fs.write(note.path, contents); + } + } + + // Start + const excluded = settings['Excluded Files']?.split(':'); + let files = await app.vault.getMarkdownFiles(); + console.log(files); + files = files.filter((file) => { + // Check if any excluded substring is present in the file name + return !excluded.some((substring) => file.path.includes(substring)); + }); + const shouldContinue = await params.quickAddApi.yesNoPrompt( + 'Are you sure you want to continue?', + 'This will format ALL notes in your vault that are not excluded by the settings. This will effect ' + + files.length + + ' files.' + ); + files.forEach(async (file) => { + convertNote(file); + }); + }, +}; diff --git a/quickadd_scripts/convert_inline_to_yaml.js b/quickadd_scripts/convert_inline_to_yaml.js new file mode 100644 index 00000000..746387e8 --- /dev/null +++ b/quickadd_scripts/convert_inline_to_yaml.js @@ -0,0 +1,177 @@ +module.exports = { + settings: { + name: 'Convert Dataview Inline YAML to YAML', + author: 'AmericanBagel', + options: { + 'Excluded Files': { + type: 'text', + defaultValue: '.git', + placeholder: 'A ":" seperated list of strings or regex', + }, + }, + }, + entry: async (params, settings) => { + const { + quickAddApi: { inputPrompt, suggester }, + } = params; + const metaedit = app.plugins.plugins['metaedit'].api; + const vault = app.vault; + const fs = app.vault.adapter; + + function clearFormattingCharacters(string) { + return string.replace(/[*_~]/g, ''); + } + + function getDataviewInlineYamlLines(string) { + const lines = string.split('\n'); + const matches = []; + lines.forEach((line) => { + // (?!`(\$=|=).*`) to exclude inline dataview code + if ( + line.match( + /^[*_~]{0,3}[a-zA-Z-_]+[*_~]{0,3}::.*$(?!`(\$=|=).*`)/g + ) + && line.match(/^[*_~]{0,3}[a-zA-Z-_]+[*_~]{0,3}:: (?!`(\$=|=).*`)/gm) + ) { + matches.push(line); + } + }); + return matches; + } + + function removeDataviewInlineYamlLines(string) { + const lines = string.split('\n'); + let output = []; + lines.forEach((line) => { + // (?!`(\$=|=).*`) to exclude inline dataview code + if ( + !line.match( + /^[*_~]{0,3}[a-zA-Z-_]+[*_~]{0,3}::.*$/g + ) + ) { + output.push(line); + } + }); + output = output.join('\n'); + output = output.replace(/%%\s%%/g, ''); + return output; + } + + function convertToKebabCase(string) { + return string + .replace(/([a-z])([A-Z])/g, '$1-$2') + .replace(/[\s_]+/g, '-') + .toLowerCase(); + } + + function parseAndAddProperty(obj, line) { + const arr = line.split(':: '); + obj[convertToKebabCase(clearFormattingCharacters(arr[0]))] = arr[1]; + } + + function isTag(string) { + // if (string.match(/(#[^\s]+)+/g)) + if (string.startsWith('#')) { + return true; + } + } + + function isLink(string) { + if (string.match(/(\[\[[^\s]+\]\])[ ]*/g)) { + return true; + } + } + + function getLinkFrontmatter(key, value) { + console.log(value); + console.log(typeof value); + // This regex makes it only split when outside double brackets + return listToFrontmatter(key, value.match(/(\[\[[^\]]*\]\]|\S)+/g)); + } + + function getTagFrontmatter(key, value) { + console.log(value); + console.log(typeof value); + return listToFrontmatter( + key, + value.split(' ').map((tag) => tag.replace(/^#/g, '')) + ); + } + + function listToFrontmatter(key, _value) { + console.log('listToFrontmatter'); + console.log('_value: ' + _value); + let value = _value; + if (typeof _value === 'string') { + value = _value.replace(/[ \t]+$/g, '').split(' '); + } + console.log(value); + let out = `${key}:\n`; + for (element of value) { + out += ` - "${element}"\n`; + } + return out; + } + + function propertyToFrontmatter(key, value) { + return `${key}: ${value}\n`; + } + + async function convertNote(note) { + let contents = await vault.read(note); + const inlineLines = getDataviewInlineYamlLines(contents); + inlineLines.forEach( + (line) => (line = clearFormattingCharacters(line)) + ); + if (inlineLines.length > 0) { + const inlineProperties = {}; + inlineLines.forEach((line) => + parseAndAddProperty(inlineProperties, line) + ); + + let frontmatter = ''; + for (const [key, value] of Object.entries(inlineProperties)) { + if (isLink(value)) { + console.log('isLink'); + frontmatter += getLinkFrontmatter(key, value); + } else if (isTag(value)) { + console.log('isTag'); + frontmatter += getTagFrontmatter(key, value); + } else { + frontmatter += propertyToFrontmatter(key, value); + } + } + + contents = removeDataviewInlineYamlLines(contents); + let sections = contents.split('---\n'); + if (sections.length === 1) { + contents = `---\n${frontmatter}---\n\n` + contents; + } else { + sections[1] = + sections[1].replace(/(?<=\n|^)\s/g, '') + frontmatter; + contents = sections.join('---\n'); + } + + await fs.write(note.path, contents); + } + } + + // Start + const excluded = settings['Excluded Files']?.split(':'); + let files = await app.vault.getMarkdownFiles(); + console.log(files); + files = files.filter((file) => { + // Check if any excluded substring is present in the file name + return !excluded.some((substring) => file.path.includes(substring)); + }); + const shouldContinue = await params.quickAddApi.yesNoPrompt( + 'Are you sure you want to continue?', + 'This will format ALL notes in your vault that are not excluded by the settings. This will effect ' + + files.length + + ' files.' + ); + files.forEach(async (file) => { + convertNote(file); + }); + }, +}; diff --git a/rang d'une application linéaire.md b/rang d'une application linéaire.md index 9d26641f..6a3ffb3e 100644 --- a/rang d'une application linéaire.md +++ b/rang d'une application linéaire.md @@ -1,13 +1,12 @@ -up::[[application linéaire]] -title::"$\mathrm{rang} f = \dim \mathrm{Im} f$" -#s/maths/algèbre - ----- -Soient $E$ et $F$ deux [[espace vectoriel|espaces vectoriels]] -Soit $f: E\rightarrow F$ une [[application linéaire]] -Le _rang_ de $f$ est $\mathrm{rang} f = \dim \mathrm{Im} f$ - +--- +up: "[[application linéaire]]" +tags: "#s/maths/algèbre" +--- +> [!proposition]+ [[rang d'une application linéaire]] +> Soient $E$ et $F$ deux [[espace vectoriel|espaces vectoriels]] +> Soit $f: E\rightarrow F$ une [[application linéaire]] +> Le _rang_ de $f$ est $\operatorname{rang} f = \dim \mathrm{Im} f$ Voir : diff --git a/sources/conférence gesticulée.Inculture 3.md b/sources/conférence gesticulée.Inculture 3.md index cd72cb80..7c052d6d 100644 --- a/sources/conférence gesticulée.Inculture 3.md +++ b/sources/conférence gesticulée.Inculture 3.md @@ -1,16 +1,17 @@ --- aliases: - Inculture 3 +up: "[[conférence gesticulée]]" +next: "[[conférence gesticulée.Inculture 4 - le plein d'énergie|Inculture 4 - le plein d'énergie]]" +prev: "[[conférence gesticulée.Inculture 2|Inculture 2]]" +tags: "#s/politique" --- -up:: [[conférence gesticulée]] -next:: [[conférence gesticulée.Inculture 4 - le plein d'énergie|Inculture 4 - le plein d'énergie]] -prev:: [[conférence gesticulée.Inculture 2|Inculture 2]] -#s/politique - -> [!smallquery]+ Sous-notes de `$= dv.el("span", "[[" + dv.current().file.name + "]]")` -> ```breadcrumbs -> title: false -> type: tree -> dir: down -> ``` +```breadcrumbs +title: "Sous-notes" +type: tree +collapse: false +show-attributes: [field] +field-groups: [downs] +depth: [0, 0] +``` diff --git a/sources/conférence gesticulée.Inculture 4 - le plein d'énergie.md b/sources/conférence gesticulée.Inculture 4 - le plein d'énergie.md index baaf983b..79d77071 100644 --- a/sources/conférence gesticulée.Inculture 4 - le plein d'énergie.md +++ b/sources/conférence gesticulée.Inculture 4 - le plein d'énergie.md @@ -11,10 +11,12 @@ up:: [[conférence gesticulée]] - [[il faut déranger l'ennemi en restant à l'aise]] -> [!smallquery]+ Sous-notes de `$= dv.el("span", "[[" + dv.current().file.name + "]]")` -> ```breadcrumbs -> title: false -> type: tree -> dir: down -> ``` +```breadcrumbs +title: "Sous-notes" +type: tree +collapse: false +show-attributes: [field] +field-groups: [downs] +depth: [0, 0] +``` diff --git a/surjection.md b/surjection.md index 32639327..d080b5ce 100644 --- a/surjection.md +++ b/surjection.md @@ -1,19 +1,18 @@ --- -sr-due: 2024-01-11 -sr-interval: 365 -sr-ease: 339 aliases: - surjective - surjectives - surjectif excalidraw-plugin: parsed +excalidraw-open-md: true +up: + - "[[application]]" +sibling: + - "[[injection]]" tags: - excalidraw -excalidraw-open-md: true + - s/maths/analyse --- -up::[[application]] -sibling::[[injection]] -#s/maths/analyse > [!definition] Définition > Soit $f: E\mapsto F$ une [[application]]. diff --git a/théorème du rang.md b/théorème du rang.md index 99e27dac..19f3083e 100644 --- a/théorème du rang.md +++ b/théorème du rang.md @@ -1,16 +1,15 @@ -up::[[espace vectoriel]] -title::"$\dim(\mathrm{Ker}(f)) + \dim(\mathrm{Im}(f)) = \dim(E)$" -#s/maths/algèbre - ----- -Soient $E$ et $F$ deux [[espace vectoriel|espaces vectoriels]] de [[dimension d'un espace vectoriel|dimension]] finie, -Soit $f: E\rightarrow F$ une [[application linéaire]], -On a : -$\dim \ker f + \dim \im f = \dim E$ +--- +up: "[[espace vectoriel]]" +tags: "#s/maths/algèbre" +--- +> [!proposition]+ [[théorème du rang]] +> Soient $E$ et $F$ deux [[espace vectoriel|espaces vectoriels]] de [[dimension d'un espace vectoriel|dimension]] finie, +> Soit $f: E\rightarrow F$ une [[application linéaire]], +> On a : +> $\dim(\ker (f)) + \dim (\operatorname{im} (f)) = \dim E$ Voir: - [[rang d'une application linéaire]] - [[Noyau d'une application linéaire]] - [[dimension d'un espace vectoriel]] -